Spisu treści:

Wzmocnienie usług SSL na serwerze WWW (Apache/Linux): 3 kroki
Wzmocnienie usług SSL na serwerze WWW (Apache/Linux): 3 kroki

Wideo: Wzmocnienie usług SSL na serwerze WWW (Apache/Linux): 3 kroki

Wideo: Wzmocnienie usług SSL na serwerze WWW (Apache/Linux): 3 kroki
Wideo: Instalacja i konfiguracja apache2 | Zmiana portu i katalogu domyślnego www 2024, Listopad
Anonim
Wzmocnienie usług SSL na serwerze WWW (Apache/Linux)
Wzmocnienie usług SSL na serwerze WWW (Apache/Linux)

Jest to bardzo krótki samouczek dotyczący jednego aspektu cyberbezpieczeństwa - siły usługi SSL na twoim serwerze WWW. Tłem jest to, że usługi SSL na Twojej stronie internetowej są używane w celu zapewnienia, że nikt nie zhakuje danych, które są przesyłane do iz Twojej strony internetowej. Odnotowano dobrze nagłośnione ataki na podatne na ataki usługi SSL, takie jak błąd Heartbleed w OpenSSL i błąd Poodle, który wykorzystywał luki SSL 3.0. (Ten obszar jest ruchomym celem, dlatego musisz wbudować testowanie SSL w cykl ISO 27001 zaplanuj-wykonaj-sprawdź-działaj (PDCA).)

Gdy ssl zostanie zainstalowany na Twojej stronie internetowej przy użyciu certyfikatu od uznanego dostawcy, zobaczysz, że Twoja strona internetowa jest dostępna z https://twojadomena.com. Oznacza to, że dane są przesyłane w przód i w tył w zaszyfrowanym formacie. W przeciwieństwie do tego, https://twojadomena.com lub słabe szyfrowanie ujawnia przesyłane dane w postaci zwykłego tekstu, co oznacza, że nawet dzieciak haker może uzyskać dostęp do danych dotyczących hasła itp. za pomocą łatwo dostępnych narzędzi, takich jak Wireshark.

Przez resztę tego samouczka zakładam, że będziesz używać Apache jako serwera WWW w systemie Linux i że masz dostęp do serwera WWW za pośrednictwem emulatora terminala, takiego jak putty. Dla uproszczenia zamierzam również założyć, że Twój dostawca usług internetowych dostarczył Twój certyfikat SSL i masz możliwość ponownej konfiguracji niektórych jego aspektów.

Krok 1: Testowanie siły Twojej usługi SSL

Testowanie siły Twojej usługi SSL
Testowanie siły Twojej usługi SSL

Po prostu przejdź do https://www.ssllabs.com/ssltest/ i wprowadź nazwę domeny obok pola Nazwa hosta, zaznacz pole wyboru „Nie pokazuj wyników na tablicach” i kliknij przycisk przesyłania. (Pamiętaj, że nie należy testować żadnych domen bez uprzedniej zgody i nigdy nie należy pokazywać wyników na tablicach).

Po przeprowadzeniu testów otrzymasz ocenę od F do A+. Otrzymasz szczegółowe wyniki testu, które, miejmy nadzieję, wyjaśnią Ci, dlaczego przyznano Ci przypisaną liczbę punktów.

Typowe przyczyny niepowodzeń to używanie przestarzałych składników, takich jak szyfry lub protokoły. Niedługo skupię się na szyfrach, ale najpierw krótkie słowo o protokołach kryptograficznych.

Protokoły kryptograficzne zapewniają bezpieczeństwo komunikacji w sieci komputerowej. … Połączenie jest prywatne (lub bezpieczne), ponieważ do szyfrowania przesyłanych danych używana jest kryptografia symetryczna. Dwa główne protokoły to TLS i SSL. Ta ostatnia jest zabroniona, a TLS z kolei ewoluuje, więc kiedy to piszę, najnowsza wersja to 1.3, choć w formacie draft. W praktyce, według stanu na styczeń 2018 r., powinieneś mieć tylko TLS v 1.2. włączony. Prawdopodobnie nastąpi przejście do TLV v 1.3. w 2018 roku. Test Qualys pokaże, jakie protokoły kryptograficzne zastosowałeś i obecnie, jeśli używasz poniżej TLS v 1.2., otrzymasz słaby wynik.

Ostatnią rzeczą do powiedzenia o protokołach kryptograficznych jest TLS v 1.2. co jest dobre, ale w dalszej kolejności może być trudno uaktualnić do TLS v 1.3. Osobiście instaluję własne certyfikaty SSL i dlatego kontroluję swoje własne przeznaczenie, że tak powiem.

Krok 2: Rekonfiguracja Apache w celu wprowadzenia zmian w protokole SSL

Ponowna konfiguracja Apache w celu wprowadzenia zmian w protokole SSL
Ponowna konfiguracja Apache w celu wprowadzenia zmian w protokole SSL

Jednym z ważnych obszarów, które są testowane w teście Qualys SSL i skupiają się na tej sekcji, są pakiety szyfrowania, które określają siłę szyfrowania przesyłanych danych. Oto przykładowy wynik testu Qualys SSL na jednej z moich domen.

Szyfrów # TLS 1,2 (Spa, serwerze preferowanej kolejności) TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) ECDH secp256r1 (eq. 3072 bitów RSA) FS256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) ECDH secp256r1 (eq. 3072 bitów RSA) FS128TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028) ECDH secp256r1 (eq. 3072 bitów RSA) FS256TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027) ECDH secp256r1 (odp. 3072 bity RSA) FS128

Możesz poświęcić dużo czasu na ponowne konfigurowanie konfiguracji Apache, aby usunąć czerwone linie (nieudane) z raportu z testu Qualys, ale zalecam następujące podejście, aby uzyskać najlepsze ustawienia pakietu Cipher Suite.

1) Odwiedź witrynę internetową Apache i uzyskaj od nich zalecenia dotyczące korzystania z pakietu Cipher Suite. W chwili pisania tego tekstu kliknąłem ten link -

2) Dodaj zalecane ustawienie do pliku konfiguracyjnego Apache i uruchom ponownie Apache. To było ich zalecane ustawienie, którego użyłem.

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

Uwagi - Jednym z wyzwań jest znalezienie pliku potrzebnego do zmiany dyrektywy SSLCipherSuite. Aby to zrobić, zaloguj się do Putty i zaloguj się do katalogu etc (sudo cd /etc) Poszukaj katalogu apache, takiego jak apache2 lub http. Następnie przeszukaj katalog Apache w następujący sposób: grep -r "SSLCipherSuite" /etc/apache2 - Otrzymasz wynik podobny do tego:

/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

Ważną rzeczą do zapamiętania jest plik /etc/apache2/mods-available/ssl.conf lub cokolwiek innego. Otwórz plik za pomocą edytora takiego jak nano i przejdź do sekcji #SSL Cipher Suite:. Następnie zastąp istniejący wpis w dyrektywie SSLCipherSuite powyższym powyższym ze strony Apache. Pamiętaj o zakomentowaniu starszych dyrektyw SSLCipherSuite i zrestartuj Apache - w moim przypadku zrobiłem to wpisując sudo /etc/init.d/apache2 restart

Pamiętaj, że czasami możesz potrzebować usunąć określone szyfry, które dają niski wynik testu Qualys SSL (powiedzmy, że wykryto nowe luki), nawet jeśli korzystasz z zalecanych ustawień Apache. Przykładem jest sytuacja, w której następujący wiersz pojawia się na czerwono (niepowodzenie) w raporcie Qualys TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) Pierwszym krokiem jest znalezienie kodu, który należy zmienić w dyrektywie Apache SSLCipherSuite. Aby znaleźć kod, wejdź na https://www.openssl.org/docs/man1.0.2/apps/ciphers… - pokazuje kod w następujący sposób: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDHE-RSA-AES256-GCM-SHA384

Weź ECDHE-RSA-AES256-GCM-SHA384 i usuń go z wpisu dodanego jako dyrektywa Apache Apache SSLCipherSuite, a następnie dodaj go na końcu, poprzedzając go:!

Ponownie uruchom ponownie Apache i przetestuj ponownie

Krok 3: Wniosek

Mam, że dowiedziałeś się czegoś o testowaniu SSL. Jest o wiele więcej do nauczenia się na ten temat, ale mam nadzieję, że wskazałem wam właściwy kierunek. W moich następnych samouczkach omówię inne obszary cyberbezpieczeństwa, więc bądź na bieżąco.

Zalecana: