Czy to zły pomysł, aby zapora sieciowa blokowała protokół ICMP?

To pytanie zostało zainspirowane tą odpowiedzią , która częściowo stwierdza:

Ogólny plik manifestu zapory sieciowej kończy się odrzuceniem wszystkiego, na co nie pozwalałem w inny sposób (oprócz ICMP. Nie wyłączaj ICMP).

Ale czy naprawdę dobrą praktyką dla zapory jest zezwalanie na ICMP? Jakie są konsekwencje dla bezpieczeństwa i czy są przypadki, w których ICMP powinno być wyłączone?

Komentarze

Odpowiedź

W porównaniu z innymi protokołami IP ICMP jest dość mały, ale obsługuje dużą liczbę różnych funkcji. Zasadniczo protokół ICMP został zaprojektowany jako mechanizm debugowania, rozwiązywania problemów i raportowania błędów dla protokołu IP. To sprawia, że jest szalenie cenny, więc trzeba wiele przemyśleć, aby go wyłączyć. Byłoby to trochę tak, jak przypinanie >/dev/null 2>&1 na końcu wszystkich wpisów crona.

W większości przypadków, gdy rozmawiam z ludźmi o blokowaniu ICMP, naprawdę mówimy o pingach i traceroute. To przekłada się na 3 typy

  • 0 – Odpowiedź echa (odpowiedź ping)
  • 8 – Żądanie echa (żądanie ping)
  • 11 – Przekroczony czas

To 3 typy z 16. Spójrzmy na kilka innych dostępnych typów ICMP.

  • 4 – Source Quench (wysyłane przez router, aby zażądać od hosta spowolnienia transmisji)
  • 3 – Miejsce docelowe nieosiągalne (składa się z 16 różnych rodzajów komunikatów, od zgłaszania problemu fragmentacji po zaporę ogniową) zgłasza, że port jest zamknięty)

Oba mogą być nieocenione dla zapewnienia prawidłowego działania niezłośliwych hostów w sieci. W rzeczywistości są dwa (prawdopodobnie więcej, ale te są najbardziej oczywiste do mnie) bardzo dobre przypadki, w których nie chcesz ograniczać protokołu ICMP.

  • Ścieżka MTU Discovery – Używamy kombinacji flagi Don „t Fragment i kodu 4 typu 3 (Miejsce docelowe nieosiągalne – wymagana fragmentacja i ustawiona flaga DF), aby określić najmniejszą jednostkę MTU na ścieżce między hostami. W ten sposób unikamy fragmentacji podczas transmisji.
  • Active Directory wymaga od klientów pingowania kontrolerów domeny w celu ściągnięcia obiektów GPO. Używają polecenia ping do określenia „najbliższego” kontrolera i jeśli żaden nie odpowiada, zakłada się, że żaden nie jest wystarczająco blisko. Więc aktualizacja zasad nie ma miejsca.

To nie znaczy, że koniecznie powinniśmy zostawić wszystko otwarte dla całego świata. Rozpoznanie jest możliwe dzięki ICMP i to jest generalnie podawany powód blokowania. Można użyć pingów, aby określić, czy host jest rzeczywiście włączony, lub przekroczeń czasu (jako część traceroute), aby zmapować architektury sieci, lub Rory zabronić przekierowania (typ 5 kod 0), aby zmienić domyślną trasę hosta.

Biorąc pod uwagę to wszystko, moja rada jest taka, jak zawsze, podejmij wyważone i przemyślane podejście do swoich zabezpieczeń. Zablokowanie całego protokołu ICMP prawdopodobnie nie jest najlepszym pomysłem, ale wybranie i wybranie tego, co blokujesz i do / z skąd prawdopodobnie przyniesie Ci to, czego chcesz.

Komentarze

  • mały szczegół: chociaż protokół ICMP jest opcjonalny w IPv4, jest on wymagany przez IPv6 do normalnego działania. Rola ICMP bardzo się zmieniła. Lekka lektura: blogs.cisco.com/security/icmp-and-security-in-ipv6
  • @Mike Oh jasne, Wydaje mi się, że nie ' nie było jasne, ale mówiłem konkretnie o wersji 4. IPv6 jest na tyle inną bestią, że naprawdę musimy traktować go jako zupełnie inny protokół podczas projektowania i ochrony sieci v6.
  • +1 ” .. .lub Rory, zabraniaj … ” Właściwie śmiałem się głośno.
  • @tylerl: Śmiałem się też, pisząc to. To prawda, że piłem wino i minęło 1,5 godziny od mojej pory snu.
  • Funkcja Source Quench została formalnie wycofana ( RFC 6633 ). I prawie nigdy nie było widziane w Internecie od dziesięcioleci.

Odpowiedź

ICMP istnieje z jakiegoś powodu, a nie cały ten powód to ping. Jest to protokół „meta” używany do przekazywania komunikatów sterujących o samej sieci. Zajrzyj do protokołu ICMP w Wikipedii , aby dowiedzieć się, na czym to jest i do czego służy.

Inne komunikaty ICMP obejmują również nieosiągalny host docelowy, wymaganą fragmentację, kontrolę przeciążenia, przekroczenie TTL, błędy protokołu IP i wiele innych.

Sieć będzie działać bez protokołu ICMP – odporność na zrzucanie pakietów jest jedną z głównych zalet protokołu IP – ale będzie działać wolniej, mniej wydajnie i bez korzyści z tych sygnałów, pomagając w diagnozowaniu i rozwiązywaniu problemów .

Kwestie bezpieczeństwa związane z ICMP są zwykle bardziej mglistymi kwestiami związanymi z „ujawnianiem informacji”. Np. jeśli router odsyła komuś wiadomość ICMP, oznacza to, że ktoś wie, że masz router. Może osoba atakująca cię zna posiadanie routera to coś, o co się martwisz, albo co bardziej prawdopodobne, że nim nie jest. Jednak badania nad bezpieczeństwem mają tendencję do pomijania po prostu aby być po bezpiecznej stronie, tak na wszelki wypadek.

Czasami w systemie operacyjnym występuje luka w zabezpieczeniach typu „ping of death” związana z protokołem ICMP. Obecnie żaden nie istnieje w żadnym głównym nurcie systemów operacyjnych. Ale ponownie, zwolennicy bezpieczeństwa błądzą po stronie ostrożności, tak na wszelki wypadek.

Komentarze

  • Ty ' źle, ale zgadzam się z tobą, mówiąc, że zwykli użytkownicy / administratorzy nie powinni blokować ICMP. W protokole ICMP występuje wiele krytycznych problemów dotyczących bezpieczeństwa. Głównym problemem jest sprzężenie zwrotne na poziomie kontroli (przekroczenie ttl), które jest wysyłane nie tylko przez miejsce docelowe, ale także przez przeskoki pośrednie.Może być używane do pobierania odcisków palców urządzeń na podstawie charakterystyk (początkowe TTL, flagi IP i, co ważniejsze, IP ID) komunikatu ICMP. Co więcej, komunikaty ICMP mogą być również informacją zwrotną o przechodzeniu przez zaporę ogniową, aw połączeniu z zaporami sieciowymi sprawdzającymi okno TCP można przeprowadzać ataki na wnioskowanie o numerach sekwencyjnych.

Odpowiedź

Szczerze mówiąc, mądrze jest filtrować wychodzące ICMP, zarówno na poziomie routera, jak i na poziomie zapory programowej, jako dodatkową warstwę bezpieczeństwa.

Zatrzymywanie DoS lub DDoS, ale złośliwi ludzie nadal używają ICMP do prób odzyskania jak największej ilości informacji o sieci, zanim spróbują ją złamać.

Nie mówię, że używają TYLKO ICMP, ale jest to jeden z niewielu typy pakietów, których używają iw zależności od tego, czy masz otwarte bramy powodziowe, mogą uzyskać bardzo szczegółowe informacje w bardzo krótkim czasie.

Poświęć trochę czasu na wyszukanie w Google i poszukaj informacji o tym, jak NMAP i kilka innych programów wykorzystuje ICMP jako jeden z zasobów do zbierania informacji, a następnie opiera swoje filtry na tym, co uważasz za konieczne do ochrony siebie i swoją sieć.

Jeśli to w ogóle możliwe, skonfiguruj wewnętrzną sieć testową (osobiście kupiłem tani dodatkowy router Wi-Fi i mam dodatkowy komputer jako zaporę ogniową, aby przetestować wszystkie moje router / ipchains / zapory programowe ustawienia, zanim zastosuję je w mojej głównej sieci dla mojego gospodarstwa domowego i każdego klienta, który zatrudnia mnie do zabezpieczenia swoich sieci.

Gorąco zachęcam ludzi do spróbowania i zbadania skanowania portów oraz sposobów łamania zapór sieciowych na ich własną sieć, aby mogli lepiej chronić siebie i rodzinę, której pomagają.

Oto kilka zasobów, z których korzystałem i polecałem znajomym. Sans Information Security Jak używany jest protokół ICMP do rozpoznania

A także

Ataki ICMP Instytutu InfoSec

Niektóre z ataków nie są już wykonalne, ale są nowsze formy Smerfa, które nadal działają, ponieważ programista był w stanie ponownie zakodować oryginalny atak i zmień sposób, w jaki działa i wykorzystuje zasoby.

Przeszukuj, a Google jest twoim przyjacielem wraz ze Stack Exchange, a także wyszukiwarka duckduckgo jest wspaniała dla zasobów, które Google może odfiltrowywać, po prostu bądź ostrożny i nie spryt!

Jestem technikiem komputerowym od 22 lat, a specjalistą ds. bezpieczeństwa sieci od 10 Jestem obecnie w lekturze moich ECH i CPTS i po ich ukończeniu oglądam kursy Offensive Security.

Mam nadzieję, że to pomoże, a inni uznają te informacje za przydatne podczas przywracania kopii zapasowych, które utworzyłem w tym systemie i znajdę inne linki i zasoby w tej sprawie. Zaktualizuję tę odpowiedź.

Odpowiedź

Blokowanie protokołu ICMP jest nie tylko bezużyteczne, ale w większości przypadków jest również szkodliwe. Jest kilka powodów, dla których nie powinieneś blokować protokołu ICMP, jeśli nie jesteś całkowicie pewien, co robisz, a zwłaszcza dlaczego to robisz. Tak, icmp ping może pomóc innym w „profilowaniu” twojej sieci. Ale bądźmy szczerzy, jeśli w ogóle masz otwartą usługę tcp, zostaniesz zauważony. Jeśli po prostu upuścisz paczki, zostaniesz zauważony. Jeśli odpowiesz niewłaściwie, zostaniesz zauważony.Więc jeśli wierzysz w teorię, że musisz ukryć nasze ważne serwery w sieci, ponieważ to czyni je bezpieczniejszymi, to kiedy zablokujesz swój icmp, jest bardziej prawdopodobne, że twój host jest jeszcze bardziej błyskotliwym celem. Jest mnóstwo sposobów, aby zrobić to źle, aby przełamać wykrywanie ścieżki mtu, kontrolę przeciążenia itp., A nawet sprawić, że serwer będzie się wyróżniał na tle masy. Więc w komórce nut, nie blokuj swojego icmp, jeśli nie masz naprawdę dobrego powodu, aby to zrobić, a następnie zrób to ostrożnie i przeczytaj specyfikacje protokołu ICMP, aby zrozumieć, co i dlaczego robisz to, co robisz. Tak, dobrym pomysłem może być zablokowanie przekierowania icmp na skraju sieci, jeśli nie jesteś pewien, czy masz stare jądra. Ale z drugiej strony lepiej jest zaktualizować swoje serwery i inne hosty (naprawić prawdziwe problemy) niż ukryć je pod dywanem, gdzie ktoś i tak znajdzie twoje błędy.

Odpowiedź

Jak widać ze struktury protokołu, wszystko zależy od obszaru, w którym jest używany i od zapór ogniowych są w stanie działać na parametrach typu i kodu, możesz zdecydować, co ma przechodzić przez zaporę, a co nie. Oczywiście, jeśli zapora otrzyma żądanie echa ICMP i nie masz problemu z powiadomieniem go, czy host docelowy jest aktywny, czy nie, zapora musi również być w stanie przepuścić odpowiedź echa. Ale bądź ostrożny: pakiety ICMP muszą zostać poddane DPI, to znaczy muszą być zgodne ze specyfikacjami pakietu: Jeśli pakiet ICMP przeszedł przez zaporę przychodzącą / wychodzącą i na jednym lub więcej hostach w Twojej sieci znajdowało się złośliwe oprogramowanie, hosty te mogą pobierać polecenia z serwera C & C i wyprowadzać informacje na ten serwer. Ogólnie rzecz biorąc, nie sądzę, aby rozsądnie było używać go na routerach granicznych, ale tak do diagnostyki sieci wewnętrznej.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *