Filtrowanie witryn dla klientów OpenVPN


Obecnie próbuję blokować niektóre witryny internetowe według ich nazw domen dla wszystkich klientów mojego serwera OpenVPN.
Moim pierwszym pomysłem było użycie
/etc/hosts
plik. Ale jego efekty wydają się być ograniczone tylko do hosta i nie są brane pod uwagę przez OpenVPN.
Następnie próbowałem skonfigurować bind9 i połączyć go z OpenVPN, ale to rozwiązanie okazało się nieudane i niewygodne w użyciu.
Potem myślałem o użyciu iptables do zrzucania wszystkich pakietów z/do tych stron, ale

ten wątek na forum
http://www.gossamer-threads.co ... 53599
sprawiło, że pomyślałem inaczej, ponieważ zachowanie iptables z FQDN może powodować trudne problemy.
Czy masz rozwiązanie umożliwiające blokowanie stron internetowych dla wszystkich klientów korzystających z serwera OpenVPN, na którym jestem rootem?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Robisz to w taki sam sposób, jak blokowanie witryn internetowych dla użytkowników w sieci Twojej firmy: uruchamiasz serwer proxy i przepuszczasz przez niego cały ruch internetowy.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Miałem podobny problem. Właśnie zmieniłem DNS w pliku server.conf OpenVPN na
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"

tj. OpenDNS ORAZ z panelu sterowania OpenDNS Zablokowałem witryny, do których klienci nie chcieli uzyskać dostępu przez VPN. P.S. Będziesz potrzebować bezpłatnego domowego konta OpenDNS wraz ze statycznym adresem IP serwera VPN.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz także spróbować filtrować za pomocą iptables i funkcji filtrowania ciągów znaków. Powinien wyglądać mniej więcej tak:
iptables -A FORWARD -m string --string 'Host: facebook.com' -j DROP

Byłoby to dość trudne (ponieważ musisz utrzymywać listę nazw DNS i tworzyć takie polecenie dla każdej z nich), ale jak już zauważył @LucasKauffman, nie masz kontroli nad DNS, więc nie ma tam filtrowania.
Należy również pamiętać, że będzie to działać tylko w przypadku protokołu HTTP, a nie HTTPS, ponieważ wszystkie żądania są szyfrowane w HTTPS.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Ma to sens, ponieważ serwer DNS używany przez klienta prawdopodobnie nie jest Twoim hostem. Możesz zdobyć wszystkie ich adresy IP i zablokować je zamiast nazw hostów.
Nawet po skonfigurowaniu serwera DNS, który „blokuje” te nazwy domen, klient nadal może wybrać pracę z innym serwerem DNS i może ominąć tę kontrolę.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się