Som webutvikler, webansvarlig eller systemadministrator vil du ofte møte utfordringer knyttet til feilsøking av SSL/TLS.
Det finnes mange nettbaserte ressurser for å teste SSL-sertifikater og identifisere SSL/TLS-sårbarheter. Disse er derimot ikke alltid egnet for testing av intranett-URL-er, VIP-er eller IP-adresser.
For å løse problemer med ressurser på intranettet, trenger du en uavhengig programvare eller verktøy som kan installeres i nettverket ditt og utføre nødvendige tester.
Her er noen eksempler på situasjoner der slike verktøy kan være nyttige:
- Problemer under implementering av SSL-sertifikater på webserveren.
- Behov for å verifisere hvilke chiffer og protokoller som er i bruk.
- Bekreftelse av konfigurasjonen etter implementering.
- Sikkerhetsrisiko avdekket i en penetrasjonstest.
Følgende verktøy kan være til hjelp ved feilsøking av slike problemer.
DeepViolet
DeepViolet er et Java-basert verktøy for SSL/TLS-skanning. Det er tilgjengelig i binært format, eller kan kompileres fra kildekoden.
Hvis du ser etter et alternativ til SSL Labs for bruk på et internt nettverk, er DeepViolet et godt valg. Verktøyet skanner for:
- Svake chiffer
- Svake signeringsalgoritmer
- Status for tilbakekall av sertifikater
- Sertifikatenes utløpsdato
- Visualisering av tillitskjeden, inkludert selvsignerte rotsertifikater.
SSL-diagnose
Få en rask vurdering av SSL-styrken til din nettside. SSL-diagnose identifiserer SSL-protokoller, chiffer-suiter og sårbarheter som Heartbleed og BEAST.
Du kan ikke bare teste HTTPS, men også SSL-styrken til SMTP, SIP, POP3 og FTPS.
SSLyze
SSLyze er et Python-bibliotek og kommandolinjeverktøy som kobler seg til SSL-endepunkter og utfører skanning for å oppdage feilkonfigurasjoner i SSL/TLS.
Skanning med SSLyze er rask, ettersom testene er distribuert over flere prosesser. Hvis du er utvikler og ønsker å integrere verktøyet i din applikasjon, kan du eksportere resultatene i XML- eller JSON-format.
SSLyze er også tilgjengelig i Kali Linux. Hvis du er ny bruker av Kali, finnes det guider for hvordan du installerer Kali Linux på VMWare Fusion.
OpenSSL
Undervurder ikke OpenSSL, et kraftig og frittstående verktøy for Windows og Linux. Det kan brukes til å utføre et bredt spekter av SSL-relaterte oppgaver som verifisering, generering av CSR, og konvertering av sertifikater.
SSL Labs Scan
Er du fan av Qualys SSL Labs? Da er du ikke alene.
Hvis du leter etter et kommandolinjeverktøy for SSL Labs for automatisert testing eller bulktesting, vil SSL Labs Scan være et nyttig verktøy.
SSL-skanning
SSL-skanning er kompatibel med Windows, Linux og MAC. Dette verktøyet hjelper deg raskt med å identifisere følgende:
- Markerer SSLv2/SSLv3/CBC/3DES/RC4-chiffer.
- Rapporterer svake chiffer (<40bit) og null- eller anonyme chiffer.
- Verifiserer TLS-kompresjon og sårbarheten Heartbleed.
- Og mye mer…
Hvis du arbeider med chiffer-relaterte problemer, vil en SSL-skanning være et effektivt verktøy for å raskt lokalisere problemet.
tipsbilk.net TLS Scanner API
Et annet nyttig verktøy for webansvarlige kan være tipsbilk.net TLS Scanner API.
Dette er en robust metode for å kontrollere TLS-protokollen, CN, SAN og annen sertifikatdetaljer på et øyeblikk. Du kan teste dette med en gratis abonnement for opptil 3000 forespørsler per måned.
Premium-nivået gir deg en høyere forespørselsfrekvens og 10 000 API-kall for bare $5 i måneden.
TestSSL
Som navnet antyder, er TestSSL et kommandolinjeverktøy kompatibelt med Linux eller OS. Det tester alle viktige beregninger og gir en tilbakemelding, enten den er god eller dårlig.
Eksempel:
Testing protocols via sockets except SPDY+HTTP2 SSLv2 not offered (OK) SSLv3 not offered (OK) TLS 1 offered TLS 1.1 offered TLS 1.2 offered (OK) SPDY/NPN h2, spdy/3.1, http/1.1 (advertised) HTTP2/ALPN h2, spdy/3.1, http/1.1 (offered) Testing ~standard cipher categories NULL ciphers (no encryption) not offered (OK) Anonymous NULL Ciphers (no authentication) not offered (OK) Export ciphers (w/o ADH+NULL) not offered (OK) LOW: 64 Bit + DES encryption (w/o export) not offered (OK) Weak 128 Bit ciphers (SEED, IDEA, RC[2,4]) not offered (OK) Triple DES Ciphers (Medium) not offered (OK) High encryption (AES+Camellia, no AEAD) offered (OK) Strong encryption (AEAD ciphers) offered (OK) Testing server preferences Has server cipher order? yes (OK) Negotiated protocol TLSv1.2 Negotiated cipher ECDHE-ECDSA-CHACHA20-POLY1305-OLD, 256 bit ECDH (P-256) Cipher order TLSv1: ECDHE-RSA-AES128-SHA AES128-SHA ECDHE-RSA-AES256-SHA AES256-SHA DES-CBC3-SHA TLSv1.1: ECDHE-RSA-AES128-SHA AES128-SHA ECDHE-RSA-AES256-SHA AES256-SHA TLSv1.2: ECDHE-ECDSA-CHACHA20-POLY1305-OLD ECDHE-ECDSA-CHACHA20-POLY1305 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-SHA ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES256-SHA384 ECDHE-RSA-CHACHA20-POLY1305-OLD ECDHE-RSA-CHACHA20-POLY1305 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA ECDHE-RSA-AES128-SHA256 AES128-GCM-SHA256 AES128-SHA AES128-SHA256 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA ECDHE-RSA-AES256-SHA384 AES256-GCM-SHA384 AES256-SHA AES256-SHA256 Testing vulnerabilities Heartbleed (CVE-2014-0160) not vulnerable (OK), no heartbeat extension CCS (CVE-2014-0224) not vulnerable (OK) Ticketbleed (CVE-2016-9244), experiment. not vulnerable (OK) Secure Renegotiation (CVE-2009-3555) not vulnerable (OK) Secure Client-Initiated Renegotiation not vulnerable (OK) CRIME, TLS (CVE-2012-4929) not vulnerable (OK) BREACH (CVE-2013-3587) potentially NOT ok, uses gzip HTTP compression. - only supplied "/" tested Can be ignored for static pages or if no secrets in the page POODLE, SSL (CVE-2014-3566) not vulnerable (OK) TLS_FALLBACK_SCSV (RFC 7507) Downgrade attack prevention supported (OK) SWEET32 (CVE-2016-2183, CVE-2016-6329) not vulnerable (OK) FREAK (CVE-2015-0204) not vulnerable (OK) DROWN (CVE-2016-0800, CVE-2016-0703) not vulnerable on this host and port (OK) make sure you don't use this certificate elsewhere with SSLv2 enabled services https://censys.io/ipv4?q=EDF8A1A3D0FFCBE0D6EA4C44DB5F4BE1A7C2314D1458ADC925A30AA6235B9820 could help you to find out LOGJAM (CVE-2015-4000), experimental not vulnerable (OK): no DH EXPORT ciphers, no DH key detected BEAST (CVE-2011-3389) TLS1: ECDHE-RSA-AES128-SHA AES128-SHA ECDHE-RSA-AES256-SHA AES256-SHA DES-CBC3-SHA VULNERABLE -- but also supports higher protocols (possible mitigation): TLSv1.1 TLSv1.2 LUCKY13 (CVE-2013-0169) VULNERABLE, uses cipher block chaining (CBC) ciphers RC4 (CVE-2013-2566, CVE-2015-2808) no RC4 ciphers detected (OK)
Som du ser dekker den et stort antall sårbarheter, chifferpreferanser og protokoller. TestSSL.sh er også tilgjengelig som et Docker-bilde.
Hvis du trenger å foreta eksterne skanninger med testssl.sh kan du prøve tipsbilk.net TLS Scanner.
TLS-skanning
Du kan enten bygge TLS-skanning fra kildekoden eller laste ned en binærversjon for Linux/OSX. Den henter sertifikatinformasjon fra serveren og skriver ut resultatet i JSON-format.
- Sjekker vertsnavn for verifisering.
- Sjekker for TLS-kompresjon.
- Kontrollerer og lister opp chiffer og TLS-versjoner.
- Sjekker for gjenbruk av økter.
Den støtter TLS-, SMTP-, STARTTLS- og MySQL-protokoller. Du kan også integrere den resulterende utdataen i en logganalysator som Splunk eller ELK.
Cipher Scan
Dette er et raskt verktøy for å analysere hvilke chiffer som støttes av en HTTPS-nettside. Cipher Scan gir deg også muligheten til å vise utdataene i JSON-format. Verktøyet bruker OpenSSL-kommandoer internt.
SSL revisjon
SSL revisjon er et åpen kildekodeverktøy som verifiserer sertifikater og støtte for protokoll, chiffer, og karakter basert på SSL Labs sine vurderinger.
Jeg håper at disse åpen kildekodeverktøyene vil hjelpe deg med å integrere kontinuerlig skanning med din eksisterende logganalysator, og gjøre feilsøkingen enklere.