Chcę zablokować w mojej organizacji kilka witryn, które również działają na https, takich jak Facebook, Twitter i Gmail. Kalmary nie powinny być tutaj używane zgodnie z poleceniami wyższego kierownictwa. Możemy użyć pakietu Untangle Lite i iptables
.
Czy jest jakaś opcja inna niż Squid? Przydałaby się też pewna iptables
zasada blokowania tego rodzaju ruchu.
znalazłem to
iptables -t filter -I INPUT -m string --string facebook.com -j LOG --algo bm
iptables -t filter -I INPUT -m string --string facebook.com -j REJECT --algo bm
ale https nadal działa na komputerach oprócz lokalnego.
Odpowiedzi:
Zamiast dopasowywać na podstawie adresu URL, spróbuj dopasować na podstawie zawartości certyfikatu.
Możesz również dopasować odcisk palca, ale jeśli miejsce docelowe zmieni lub zaktualizuje swój certyfikat, spowoduje to unieważnienie reguły.
źródło
nat
tabeli (i nie ma łańcucha INPUT w tabeli nat), myślę, że miałeś na myślifilter
to. Ponadto istnieje (bardzo) zdalna szansa, że dopasuje pakiety, w których 443 jest portem klienta-p tcp
reguły, nie wydaje się to być przydatne ...Zapora nie może kontrolować adresów URL HTTPS, do których klient próbuje uzyskać dostęp, ponieważ adres URL jest szyfrowany. Zapora może kontrolować tylko, z którymi stronami łączy się klient, używając adresów IP, ale to nie pomaga, jeśli wersje HTTP i HTTPS witryny mają ten sam adres URL (a nawet jeśli nie są, to masz aby utrzymać ogromną listę adresów IP).
Jedynym realistycznym sposobem na zablokowanie HTTPS jest całkowite zablokowanie. Nalegaj, aby wszystkie połączenia musiały być poprawnym HTTP (tj. Klient zaczyna od wysłania
HTTP
linii itd.). Nie można tego zrobić za pomocą tylko IPtables, potrzebujesz rzeczywistego proxy obsługującego protokół, takiego jak Squid. (Nie wiem, do czego jest zdolny Untangle Lite).Możesz zablokować większość ruchu HTTPS, blokując ruch wychodzący do portu 443, ponieważ prawie wszystkie serwery HTTPS znajdują się na tym porcie. Lub, stosując podejście z białej listy, zezwalaj tylko na ruch wychodzący do portu 80 (normalny port HTTP).
Innym podejściem byłoby proxy do wszystkich połączeń HTTP i HTTPS. Następnie możesz dopasować według adresów URL. Wymaga to przeprowadzenia ataku man-in-the-middle na klientów. Możesz to zrobić, jeśli wdrożysz własny urząd certyfikacji na wszystkich komputerach klienckich i zarejestrujesz go jako źródło zaufania. Można to uznać za nieetyczne.
Bez względu na to, co robisz, zdeterminowani użytkownicy skonfigurują proxy poza twoim środowiskiem i będą uruchamiać IP przez HTTP lub coś w tym rodzaju.
Wygląda na to, że albo próbujesz naprawić problem społeczny za pomocą środków technicznych, które prawie nigdy nie działają, albo starasz się wdrożyć głupie wymagania zarządzania (w takim przypadku wybrałbym blokowanie portu 443, być może tylko dla niektóre adresy IP, które pozwolą Ci zgłosić, że wykonałeś swoją pracę, bez względu na to, jak bezużyteczne).
źródło
Znam jedną opcję.
Jeśli masz wewnętrzne serwery DNS do użytku, umieść w danych strefy TLD odniesienia statyczne, które rozwiązują domeny (których nie chcesz nawiązywać z zewnętrznymi połączeniami), tylko do 127.0.0.1. W ten sposób wszystkie hosty korzystające z centralnego DNS w sieci zamieniają domeny (facebook.com/twitter.com per se) na adresy pętli zwrotnej, co nigdzie nie prowadzi.
Działa to, jeśli masz całkowitą autorytatywną kontrolę nad konfiguracją resolvera komputerów klienckich w sieci. Jeśli stacje robocze / klienci mają uprawnienia do zmiany / edycji / etc / hosts lub /etc/resolv.conf, mogą obejść tę opcję.
źródło
/etc/hosts
pliku. Na przykład:127.0.0.1 www.facebook.com
Opcją jest blackhole trasy do bloków sieciowych: (wymienione są dla FB)
źródło
Zwykły filtr zawartości nie może blokować strony ssl.
Użyj narzędzi ochrony przed włamaniami, takich jak snort / suricata.
Przykładowa reguła IPS : do blokowania adresów URL ssl dla określonego adresu IP.
drop ip any 443 -> 192.168.3.30 any (content:".facebook.com"; msg:"Simplewall Ssl block for User30 : Urls => .facebook.com " sid:26648513;rev:1;)
drop ip any 443 -> 192.168.3.30 any (content:".fbcdn.net"; msg:"Simplewall Ssl block for User30 : Urls => .fbcdn.net " ;sid:11469443;rev:1;)
drop ip any 443 -> 192.168.3.30 any (content:".youtube.com"; msg:"Simplewall Ssl block for User30 : Urls => .youtube.com " ;sid:13989722;rev:1;)
Pobierz Simplewall : w zasadach polityki simplewall udostępnianych przez Squid + Suricata IPS.
źródło
Powinieneś umieścić to w łańcuchu FORWARD, np
Wpłynie to na inne systemy w sieci, z wyjątkiem zapory.
źródło