Prowadzisz poważną witrynę, której użytkownicy mogą ufać. Dobrze? Możesz to sprawdzić dwukrotnie. Jeśli Twoja witryna działa w Internetowych usługach informacyjnych (IIS) firmy Microsoft, możesz być zaskoczony. Gdy Twoi użytkownicy próbują połączyć się z Twoim serwerem przez bezpieczne połączenie (SSL / TLS), możesz nie zapewnić im bezpiecznej opcji.
Zapewnienie lepszego zestawu szyfrów jest bezpłatne i dość łatwe w konfiguracji. Postępuj zgodnie z tym przewodnikiem krok po kroku, aby chronić użytkowników i serwer. Dowiesz się również, jak testować usługi, z których korzystasz, aby zobaczyć, jak naprawdę są bezpieczne.
Dlaczego Twoje zestawy szyfrów są ważne
Microsoft IIS jest całkiem niezły. Jest łatwy w konfiguracji i utrzymaniu. Posiada przyjazny dla użytkownika interfejs graficzny, który ułatwia konfigurację. Działa w systemie Windows. W usługach IIS naprawdę dużo się dzieje, ale naprawdę nie działa, jeśli chodzi o domyślne ustawienia zabezpieczeń.
Oto jak działa bezpieczne połączenie. Twoja przeglądarka inicjuje bezpieczne połączenie z witryną. Najłatwiej to rozpoznać po adresie URL zaczynającym się od „HTTPS: //”. Firefox oferuje małą ikonę kłódki, aby lepiej zilustrować ten punkt. Chrome, Internet Explorer i Safari mają podobne metody informowania o szyfrowaniu połączenia. Serwer, z którym się łączysz, odpowiada przeglądarce, wyświetlając listę opcji szyfrowania do wyboru w kolejności od najbardziej preferowanych do najmniejszych. Twoja przeglądarka przechodzi w dół listy, aż znajdzie opcję szyfrowania, którą lubi, i zaczynamy działać. Reszta, jak mówią, to matematyka. (Nikt tego nie mówi.)
Fatalną wadą jest to, że nie wszystkie opcje szyfrowania są tworzone jednakowo. Niektórzy używają naprawdę świetnych algorytmów szyfrowania (ECDH), inni są mniej świetni (RSA), a niektórzy są po prostu źle zalecani (DES). Przeglądarka może połączyć się z serwerem, korzystając z dowolnej opcji udostępnianej przez serwer. Jeśli Twoja witryna oferuje niektóre opcje ECDH, ale także niektóre opcje DES, serwer połączy się z jednym z nich. Prosta czynność polegająca na oferowaniu tych złych opcji szyfrowania sprawia, że witryna, serwer i użytkownicy są potencjalnie narażeni na ataki. Niestety, usługi IIS domyślnie oferują dość kiepskie opcje. Nie katastrofalne, ale na pewno nie dobre.
Jak zobaczyć, gdzie stoisz
Zanim zaczniemy, warto wiedzieć, gdzie stoi Twoja witryna. Na szczęście dobrzy ludzie z Qualys zapewniają nam wszystkim bezpłatnie laboratorium SSL. Jeśli pójdziesz do https://www.ssllabs.com/ssltest/ , możesz dokładnie zobaczyć, jak Twój serwer odpowiada na żądania HTTPS. Możesz również zobaczyć, jak regularnie wykorzystujesz usługi, z których korzystasz.
Jedna uwaga tutaj. Tylko dlatego, że witryna nie otrzyma oceny A, nie oznacza, że osoby, które ją obsługują, wykonują złą robotę. SSL Labs potępia RC4 jako słaby algorytm szyfrowania, mimo że nie są znane żadne ataki na niego. To prawda, że jest mniej odporny na próby brutalnej siły niż coś takiego jak RSA lub ECDH, ale niekoniecznie jest złe. Witryna może oferować opcję połączenia RC4 z konieczności zapewnienia zgodności z niektórymi przeglądarkami, dlatego należy traktować rankingi witryn jako wytyczne, a nie żelazną deklarację bezpieczeństwa lub jej braku.
Aktualizowanie pakietu szyfrów
Omówiliśmy tło, teraz pobrudzmy sobie ręce. Aktualizacja zestawu opcji oferowanych przez serwer Windows niekoniecznie jest prosta, ale na pewno nie jest też trudna.
Aby rozpocząć, naciśnij Klawisz Windows + R, aby wyświetlić okno dialogowe „Uruchom”. Wpisz „gpedit.msc” i kliknij „OK”, aby uruchomić Edytor zasad grupy. W tym miejscu dokonamy zmian.
Po lewej stronie rozwiń Konfiguracja komputera, Szablony administracyjne, Sieć, a następnie kliknij Ustawienia konfiguracji SSL.
Po prawej stronie kliknij dwukrotnie SSL Cipher Suite Order.
Domyślnie wybrany jest przycisk „Nie skonfigurowano”. Kliknij przycisk „Włączone”, aby edytować zestawy szyfrowania na serwerze.
Po kliknięciu przycisku pole SSL Cipher Suites zostanie wypełnione tekstem. Jeśli chcesz zobaczyć, jakie zestawy szyfrowania oferuje obecnie Twój serwer, skopiuj tekst z pola SSL Cipher Suites i wklej go do Notatnika. Tekst będzie jednym długim, nieprzerwanym ciągiem. Każda z opcji szyfrowania jest oddzielona przecinkiem. Umieszczenie każdej opcji w osobnym wierszu ułatwi czytanie listy.
Możesz przeglądać listę i dodawać lub usuwać z jednego ograniczenia; lista nie może zawierać więcej niż 1023 znaków. Jest to szczególnie denerwujące, ponieważ zestawy szyfrów mają długie nazwy, takie jak „TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384”, więc wybieraj ostrożnie. Polecam skorzystać z listy stworzonej przez Steve'a Gibsona na GRC.com: https://www.grc.com/miscfiles/SChannel_Cipher_Suites.txt .
Po przygotowaniu listy musisz ją sformatować do użytku. Podobnie jak w przypadku oryginalnej listy, nowa musi być jednym nieprzerwanym ciągiem znaków, z każdym szyfrem oddzielonym przecinkiem. Skopiuj sformatowany tekst i wklej go w polu SSL Cipher Suites i kliknij OK. Wreszcie, aby wprowadzić zmiany, musisz ponownie uruchomić komputer.
Po utworzeniu kopii zapasowej i uruchomieniu serwera udaj się do SSL Labs i przetestuj go. Jeśli wszystko poszło dobrze, wyniki powinny dać ocenę A.
Jeśli chciałbyś czegoś bardziej wizualnego, możesz zainstalować IIS Crypto firmy Nartac ( https://www.nartac.com/Products/IISCrypto/Default.aspx ). Ta aplikacja pozwoli Ci wprowadzić te same zmiany, co powyższe kroki. Umożliwia także włączanie i wyłączanie szyfrów na podstawie różnych kryteriów, dzięki czemu nie trzeba ich ręcznie sprawdzać.
Bez względu na to, jak to zrobisz, aktualizacja zestawów szyfrów to łatwy sposób na poprawę bezpieczeństwa Ciebie i Twoich użytkowników końcowych.