Czytałem cały dzień o luce w zabezpieczeniach Poodle i jestem teraz trochę zdezorientowany w porównaniu do Security and Revenue.
Jeśli wyłączę SSL V3 na serwerze (SSL V2 i V3 oba zostaną wyłączone dla Apache) klienci (przeglądarki), którzy nie obsługują żadnego protokołu, ale SSL V3 nie będą mogli połączyć HTTPS z serwerem.
Jest to więc sytuacja, w której zarówno klient, jak i serwer muszą komunikować się z TLS 1.1 1.2 i tak dalej
Jeśli któryś z nich używa SSL V3, a drugi nie obsługuje niższych wersji, co się stanie? Brak połączenia z SSL.
Widziałem kilka aktualizacji w Firefoksie, być może wyłączono SSL V3 w tym, co zwykle musimy robić w opcjach. Wymusi to połączenie z niższymi wersjami i TLS
Ale czy wyłączenie SSL V3 naprawdę jest rozwiązaniem tego problemu?
Odpowiedzi:
Najpierw wyjaśnijmy trochę:
Protokół TLS zastąpił protokół SSL. Protokół TLS 1.0 pojawił się później i jest aktualizacją protokołu SSL 3.0.
TLS 1.2> TLS 1.1> TLS 1.0> SSL 3.0>
SSL 2.0> SSL 1.0Wersje SSL wcześniejsze niż 3.0 miały poważne luki w zabezpieczeniach i są wyłączone / nieobsługiwane przez nowoczesnych klientów i serwery. SSL 3.0 prawdopodobnie wkrótce pójdzie tą samą drogą.
Spośród obecnie używanych protokołów „Pudel” najsilniej wpływa na SSL 3.0, gdzie nie ma możliwości złagodzenia. Istnieje podobny atak na niektóre implementacje TLS 1.0 i 1.1 , na który pozwala specyfikacja - upewnij się, że twoje oprogramowanie jest aktualne.
Powód, dla którego „Pudel” jest zagrożeniem nawet w przypadku nowoczesnych klientów i serwerów, wynika z wdrożenia przez klientów mechanizmu awaryjnego. Nie wszystkie serwery będą obsługiwać najnowsze wersje, więc klienci będą wypróbowywać każdą wersję od najnowszej do najnowszej (TLS 1.2, TLS 1.1, TLS 1.0, SSL 3.0), dopóki nie znajdzie takiej, którą obsługuje serwer. Dzieje się tak przed rozpoczęciem szyfrowanej komunikacji, więc osoba atakująca typu man-in-the-middle (MITM) może zmusić przeglądarkę do powrotu do starszej wersji, nawet jeśli serwer obsługuje wyższą. Jest to znane jako atak obniżający protokół.
W szczególności w przypadku „Pudla”, o ile zarówno klient, jak i serwer obsługują protokół SSL 3.0, osoba atakująca MITM może wymusić użycie tego protokołu.
Kiedy więc wyłączysz SSL 3.0, ma to dwa efekty:
Klientów obsługujących wyższe wersje nie można nakłonić do powrotu do wersji podatnej na atak ( TLS Fallback SCSV to nowy proponowany mechanizm zapobiegający atakowi obniżenia protokołu, ale jeszcze nie wszyscy klienci i serwery go obsługują). To jest powód, dla którego chcesz wyłączyć SSL 3.0. Zdecydowana większość klientów prawdopodobnie należy do tej kategorii, co jest korzystne.
Klienci, którzy w ogóle nie obsługują TLS (jak wspomnieli inni, IE6 na XP jest właściwie jedynym, który nadal jest używany dla HTTPS) nie będzie w stanie połączyć się za pośrednictwem połączenia szyfrowanego. Jest to prawdopodobnie niewielka część bazy użytkowników i nie warto poświęcać bezpieczeństwa większości osób, które są aktualne, aby zaspokoić tę mniejszość.
źródło
"...everything less than TLS 1.2 with an AEAD cipher suite is cryptographically broken, including many implementations which conform to current specifications."
zdnet.com/article/poodle-not-fixed-some-tls-systems-vulnerableTwoja ocena jest poprawna. Klienci będą musieli użyć nowszych protokołów, aby połączyć się z serwerem po wyłączeniu SSL 3. Protokół SSL 3 jest wadliwy i nie będzie „łatki”. Wyłączenie SSL 3 jest jedynym rozwiązaniem.
W tym momencie wiele witryn wyłączyło protokół SSL 3, aby praktycznie nieuniknione była konieczność aktualizacji przez użytkowników starszych przeglądarek. Zakładając, że rejestrujesz ciągi agenta użytkownika, możesz przejrzeć swoje dzienniki i podjąć świadomą decyzję o wyłączeniu protokołu SSL 3. Myślę, że jest prawdopodobne, że tylko niewielki procent odwiedzających witrynę korzysta z przeglądarek, które nie byłyby w stanie obsłużyć nowszych protokołów.
[fwiw - raporty cloudflare 1,12% użytkowników to użytkownicy IE6 XP w zależności od SSLv3]
źródło
TLS_FALLBACK_SCSV
nie ogranicza jednak ataku starszych klientów. Pozwala to tylko starszym klientom nadal korzystać z wadliwego protokołu, jednocześnie zapobiegając niepożądanym obniżeniom wersji protokołu dla nowych klientów. Ostatecznie pozostawienie włączonego protokołu SSLv3 dla dowolnych klientów potencjalnie naraża ich ruch na ataki.Tak, wyłączenie SSL3 sprawi, że użytkownicy, którzy nie obsługują TLS, nie będą mogli uzyskać dostępu do Twojej witryny.
Jednak z praktycznego punktu widzenia sprawdź, jakie przeglądarki należą do tej kategorii. Zarówno Chrome, jak i Firefox obsługują TLS, a nawet rezygnują z obsługi SSL3 z powodu tego błędu. IE obsługuje go od IE7. Jedyną przeglądarką, która nie obsługuje, ale jest nadal używana w skali globalnej, jest IE6, a jedynym powodem, który nadal jest używany, są 2 powody:
W obu przypadkach IE6 jest używany, ponieważ jest to domyślna przeglądarka systemu Windows XP dostarczana z oryginalną instalacją. Ponadto jedynym powodem, dla którego IE6 nadal ma (mały) udział w rynku światowym, jest fakt, że wielu użytkowników w Chinach.
Krótko mówiąc: oto 3 pytania:
Jeśli którakolwiek z tych 3 odpowiedzi jest prawdziwa, musisz znaleźć alternatywne rozwiązanie. Jeśli wszystkie 3 są fałszywe, po prostu wyłącz je i gotowe. A jeśli potrzebujesz alternatywnego rozwiązania, czy cholernie trudno jest przekonać tę niewielką część bazy użytkowników, która nadal używa IE6, aby przełączyć się z 13-letniej przeglądarki.
źródło
W swoim pytaniu wspominasz o „ Apache ” i „ przeglądarkach ”, ale tytuł jest bardziej ogólny.
Jak zauważają Evan i inni, problem jest prawie całkowicie rozwiązany w przypadku HTTPS. Ale istnieje wiele innych protokołów, które serwer może szyfrować, a obsługa TLS jest znacznie gorsza wśród tej bazy klientów (jak się dowiedziałem dziś rano, kiedy nakazuję „brak SSL3” na serwerze IMAP / S).
Obawiam się więc, że odpowiedź brzmi: „ zależy to od tego, jakie usługi szyfrujesz, a także od obsługi klienta TLS wśród bazy użytkowników ”.
Edycja : tak, o to mi chodziło, choć cieszę się, że się zgadzasz. Wyłączenie sslv3 odbywa się dla poszczególnych usług. Na przykład sposobem na wyłączenie go w dovecot jest włożenie
w
dovecot.conf
. Większy problem polega na tym, że podczas gdy większość przeglądarek toleruje utratę sslv3, klienci innych usług wydają się być znacznie mniej tolerancyjni. Zepsułem dziś rano około połowy moich użytkowników, kiedy wyłączyłem to w dovecot; Telefony z Androidem z pocztą K-9 i Outlook na Win7 to dwa, które znam na pewno, ale z moich logów wynika, że było ich więcej.Wyłączenie SSLv3 nadal jest nie tylko prawidłowym rozwiązaniem, ale jest jedynym rozwiązaniem; ale będzie bolało.
Edycja 2 : podziękowania dla dave_thompson_085 za wskazanie, że wyłączenie szyfrów SSLv3 w dovecot wyłącza nie tylko protokół SSLv3, ale także TLSv1.0 i TLSv1.1, ponieważ nie mają szyfrów, których nie ma wcześniejszy protokół. Dovecot (przynajmniej wcześniejsze wersje, w tym ta, którą używam) wydaje się nie mieć możliwości konfigurowania protokołów, a nie szyfrów. To prawdopodobnie wyjaśnia, dlaczego to zrujnowało tak wielu klientów.
źródło
!SSLv3
w openssl faktycznie wyłącza wszystkie protokoły oprócz TLSv1.2, co może nie być dobre dla twoich rówieśników. Dlatego wyłączenie protokołu jest lepsze, ale AFAICS tylko w dovecot 2.1+. Zobacz security.stackexchange.com/questions/71872/… .Wyłączenie SSLv3 jest najlepszym rozwiązaniem, ale nie zgadzam się, że jest to jedyne rozwiązanie. Jak opisuje CloudFlare, użycie protokołu SSLv3 jest bardzo niskie , więc większość administratorów nie powinna mieć problemu z jego wyłączeniem.
Jeśli masz wymaganie speciel dla protokołu SSLv3, być może musisz obsługiwać IE6 w systemie Windows XP lub musisz obsługiwać bardzo stare oprogramowanie, istnieje inny sposób jego złagodzenia.
Sposobem na złagodzenie tego i utrzymanie protokołu SSLv3 jest użycie RC4 i obsługa TLS Fallback SCSV, który zapewnia OpenSSL 1.0.1j. W poście kwalifikacyjnym o pudlu RC4 to „pewien niepewny szyfr strumieniowy, którego nazwy nikt nie chce wymieniać”.
To właśnie robi Google na mail.google.com, a opisują to również we wpisie na blogu: http://googleonlinesecurity.blogspot.se/2014/10/this-poodle-bites-exploiting-ssl-30.html
źródło
W rozmowie brakuje jednego szczegółu, w oparciu o oryginalne pytanie warto zanotować. TLS 1.0 jest również określany jako SSL 3.1, więc oryginalny plakat, powinieneś spojrzeć na swoją konfigurację, czy korzystasz z wersji 3.0 lub 3.1
źródło
Jak w przypadku większości rzeczy, odpowiedź brzmi „to zależy”. Jedyną przeglądarką w jakimkolwiek „powszechnym” użyciu, która nie obsługuje TLS, jest IE6. Niestety różne raporty podają, że IE6 może stanowić nawet kilka procent globalnych żądań HTTP (patrz: http://news.netcraft.com/archives/2014/10/15/googles-poodle-affects-oodles.html ) . Dobrą wiadomością, jeśli jesteś w Ameryce Północnej, jest to, że jest to stosunkowo rzadkie w USA. Aby być bezpiecznym, powinieneś spojrzeć na statystyki agenta użytkownika z dzienników www. W moim przypadku było tak mało odcisków palców IE6 ua, że przypuszczałem, że wszystkie pochodzą z narzędzi testujących.
Możesz przetestować swoje witryny za pomocą testera ssllab, aby zobaczyć, jak reagują różni agenci.
https://www.ssllabs.com/ssltest/
TL; DR - SSLv3 nie działa; niech żyje TLS.
źródło
may be as much as a few percent of global HTTP requests
. Chciałbym źródło tego. CloudFlare mówi o użytkowaniu:In other words, even on an out-of-date operating system, 98.88% Windows XP users connected using TLSv1.0+
( blog.cloudflare.com/... ). To o wiele mniej niż „kilka procent” na całym świecie.