Innehållsförteckning:

Förstärkning av SSL -tjänster på din webbserver (Apache/ Linux): 3 steg
Förstärkning av SSL -tjänster på din webbserver (Apache/ Linux): 3 steg

Video: Förstärkning av SSL -tjänster på din webbserver (Apache/ Linux): 3 steg

Video: Förstärkning av SSL -tjänster på din webbserver (Apache/ Linux): 3 steg
Video: How a DNS Server (Domain Name System) works. 2024, November
Anonim
Stärka SSL -tjänster på din webbserver (Apache/ Linux)
Stärka SSL -tjänster på din webbserver (Apache/ Linux)

Detta är en mycket kort handledning som handlar om en aspekt av cybersäkerhet - styrkan i ssl -tjänsten på din webbserver. Bakgrunden är att ssl-tjänster på din webbplats används för att säkerställa att ingen kan hacka data som överförs till och från din webbplats. Det har varit väl publicerade attacker mot sårbara SSL -tjänster som Heartbleed -buggen i OpenSSL och pudelbuggen som utnyttjade SSL 3.0 -sårbarheter. (Detta område är ett rörligt mål så du måste bygga SSL-testning i din ISO 27001 plan-do-check-act (PDCA) cykel.)

När ssl installeras på din webbplats med ett certifikat från en erkänd leverantör, ser du att din webbplats kan nås från https://yourdomain.com. Detta innebär att data överförs fram och tillbaka i krypterat format. Däremot avslöjar https://yourdomain.com eller svag kryptering överförd data i klartext vilket innebär att även en liten hackare kan komma åt dina lösenordsdata etc med lättillgängliga verktyg som Wireshark.

För resten av denna handledning antar jag att du kommer att använda Apache som din webbserver på Linux och att du har tillgång till din webbserver via en terminalemulator som kitt. För enkelhetens skull kommer jag också att anta att din ISP har tillhandahållit ditt SSL-certifikat och att du har möjlighet att konfigurera om vissa aspekter av det.

Steg 1: Testa styrkan i din SSL -tjänst

Testar styrkan i din SSL -tjänst
Testar styrkan i din SSL -tjänst

Gå helt enkelt till https://www.ssllabs.com/ssltest/ och ange ditt domännamn bredvid rutan Värdnamn och markera kryssrutan "Visa inte resultaten på tavlorna" och klicka på skicka -knappen. (Observera att du inte ska testa några domäner utan föregående tillstånd och att du aldrig ska visa resultat på tavlorna.)

Efter att testerna har körts tilldelas du poäng från F till A+. Du kommer att få detaljerade testresultat som förhoppningsvis gör det uppenbart för dig varför du har fått din tilldelade poäng.

De vanliga skälen för att misslyckas är att du använder inaktuella komponenter som chiffer eller protokoll. Jag kommer att fokusera på chiffer snart men först ett snabbt ord om kryptografiska protokoll.

Kryptografiska protokoll ger kommunikationssäkerhet över ett datornätverk. … Anslutningen är privat (eller säker) eftersom symmetrisk kryptografi används för att kryptera data som överförs. De två huvudprotokollen är TLS och SSL. Den senare är förbjuden att använda och i sin tur utvecklas TLS och så när jag skriver detta är den senaste versionen 1.3, om än i utkastformat. Rent praktiskt, som i januari 2018, bör du bara ha TLS v 1.2. aktiverad. Det kommer förmodligen att bli en flytt till TLV v 1.3. under 2018. Qualys -testet kommer att lista vilka kryptografiska protokoll du har tillämpat och för närvarande, om du använder under TLS v 1.2., får du en dålig poäng.

En sista sak att säga om kryptografiska protokoll, när du köper ett webbpaket och SSL -certifikat från en vanlig ISP som GoDaddy, blir det TLS v 1.2. vilket är bra men längre ner på linjen kan du ha svårt att uppgradera för att säga TLS v 1.3. Personligen installerar jag mina egna SSL -certifikat och jag har därför kontroll över mitt eget öde, så att säga.

Steg 2: Konfigurera om Apache för att göra SSL -ändringar

Omkonfigurera Apache för att göra SSL -ändringar
Omkonfigurera Apache för att göra SSL -ändringar

Ett av de viktiga områdena som testas i Qualys SSL -test och fokus för detta avsnitt är Cipher -sviter som bestämmer krypteringsstyrkan för dina överförda data. Här är ett exempel på utdata från ett Qualys SSL -test på en av mina domäner.

Cipher Suites # TLS 1.2 (sviter i server föredragen ordning) TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) ECDH secp256r1 (ekv. 3072 bitar RSA) FS256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) ECDH secp256r1 (ekv. 3072 bitar RSA) FS128TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028) ECDH secp256r1 (ekv. 3072 bitar RSA) FS256TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027) ECDH secp256r1 (ekv. 3072 bitar RSA) FS128

Du kan lägga mycket tid på att konfigurera om din Apache-konfiguration för att ta bort röda linjer (misslyckas) från din Qualys testrapport, men jag rekommenderar följande tillvägagångssätt för att få de bästa Cipher Suite-inställningarna.

1) Besök Apache -webbplatsen och få fram deras rekommendationer för en Cipher Suite att använda. I skrivande stund följde jag den här länken -

2) Lägg till den rekommenderade inställningen till din Apache -konfigurationsfil och starta om Apache. Detta var deras rekommenderade inställning som jag använde.

SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384: ECDHE-RSA-AES256-GCM-SHA384: ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE-RSA-CHACHA20-POLY1305: ECDHE-ECDSA-ECDSA -AES128-GCM-SHA256: ECDHE-ECDSA-AES256-SHA384: ECDHE-RSA-AES256-SHA384: ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA256

Anteckningar - En av utmaningarna är att hitta vilken fil du behöver för att ändra ditt SSLCipherSuite -direktiv. För att göra detta, logga in på Putty och logga in på etc -katalogen (sudo cd /etc) Leta efter en apache -katalog som apache2 eller http. Sök sedan på apache -katalogen enligt följande: grep -r "SSLCipherSuite" /etc /apache2 - Detta ger dig en utdata som liknar detta:

/etc/apache2/mods-available/ssl.conf:#SSLCipherSuite HIGH: MEDIUM:! aNULL:! MD5:! RC4:! DES/etc/apache2/mods-available/ssl.conf: #SSLCipherSuite HIGH:! aNULL: ! MD5:! RC4:! DES /etc/apache2/mods-available/ssl.conf:#SSLCipherSuite ECDH+AESGCM: DH+AESGCM: ECDH+AES256: DH+AES256: ECDH+AES128: DH+AES: ECDH+3DES: DH+3DES: RSA+AESGCM: RSA+AES: RSA+3DES:! ANULL:! MD5:! DSS

Det viktiga att notera är filen /etc/apache2/mods-available/ssl.conf eller vad som helst som är ditt. Öppna filen med en redigerare som nano och gå till avsnittet # SSL Cipher Suite:. Ersätt sedan den befintliga posten i direktivet SSLCipherSuite med den ovanstående från Apache -webbplatsen. Kom ihåg att kommentera äldre SSLCipherSuite -direktiv och starta om Apache - i mitt fall gjorde jag detta genom att skriva sudo /etc/init.d/apache2 restart

Observera att ibland kan du behöva ta bort specifika chiffer som ger dig ett lågt Qualys SSL -testresultat (säg för att nya sårbarheter har upptäckts) trots att du har använt de rekommenderade Apache -inställningarna. Ett exempel är om följande rad visas i rött (misslyckas) i din Qualys -rapport TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) Det första steget är att hitta vilken kod du behöver ändra i ditt Apache SSLCipherSuite -direktiv. För att hitta koden, gå till https://www.openssl.org/docs/man1.0.2/apps/ciphers…-detta visar koden enligt följande: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDHE-RSA-AES256-GCM-SHA384

Ta ECDHE-RSA-AES256-GCM-SHA384 och ta bort det från posten du lade till som Apache Apache SSLCipherSuite-direktivet och lägg sedan till det i slutet genom att föregå det med:!

Återigen, starta om Apache och testa igen

Steg 3: Slutsats

Jag har att du har lärt dig något om SSL -testning. Det finns mycket mer att lära om detta men förhoppningsvis har jag pekat dig i rätt riktning. I mina nästa självstudier kommer jag att täcka andra områden inom cybersäkerhet, så håll utkik.

Rekommenderad: