Pokazaliśmy ci, jak zdalnie uruchamiać WOL przez "Port Knocking" na routerze. W tym artykule pokażemy, jak z niego korzystać, aby chronić usługę VPN.
Zdjęcie autorstwa Aviad Raviv & bfick.
Jeśli korzystałeś z wbudowanej funkcji DD-WRT dla VPN lub masz inny serwer VPN w swojej sieci, możesz docenić możliwość ochrony przed atakami brutalnej siły poprzez ukrycie go za sekwencją pukającą. W ten sposób odfiltrujesz dziecięce skrypty, które próbują uzyskać dostęp do twojej sieci. W związku z tym, jak stwierdzono w poprzednim artykule, pukanie portów nie zastępuje dobrego hasła i / lub polityki bezpieczeństwa. Pamiętaj, że przy wystarczającej cierpliwości atakujący może odkryć sekwencję i wykonać atak powtórki.
Należy również pamiętać, że wadą implementacji tego jest to, że gdy dowolny klient VPN chce się połączyć, musiałby wywołać sekwencję dominauprzednio i jeśli nie będą w stanie ukończyć sekwencji z jakiegokolwiek powodu, nie będą w stanie w ogóle nawiązać połączenia VPN.
W celu ochrony * usługi VPN najpierw wyłączymy wszelką możliwą komunikację z nią poprzez zablokowanie portu inicjowania 1723. Aby osiągnąć ten cel, użyjemy iptables. Dzieje się tak dlatego, że w ten sposób komunikacja jest filtrowana na większości nowoczesnych dystrybucji Linuksa / GNU, aw szczególności na DD-WRT. Jeśli chcesz uzyskać więcej informacji na temat iptables checkout jego wpis wiki, i spójrz na nasz poprzedni artykuł na ten temat. Po zabezpieczeniu usługi utworzymy sekwencję blokowania, która tymczasowo otworzy port inicjujący VPN, a także automatycznie zamknie go po skonfigurowanym czasie, zachowując jednocześnie nawiązaną już sesję VPN.
Uwaga: w tym przewodniku korzystamy z usługi PPTP VPN jako przykładu. Przy tym, ta sama metoda może być używana dla innych typów VPN, wystarczy zmienić zablokowany port i / lub typ komunikacji.
Do roboty.
Domyślna Zasada "Blokuj nowe VPNy" na DD-WRT
Chociaż poniższy fragment "kodu" prawdopodobnie działałby na każdym szanującym się iptables przy użyciu dystrybucji Linux / GNU, ponieważ istnieje tak wiele wariantów tam, tylko pokażemy, jak używać go na DD-WRT. Nic nie powstrzyma cię, jeśli chcesz, od implementacji bezpośrednio na skrzynce VPN. Jednak, jak to zrobić, wykracza poza zakres tego przewodnika.
Ponieważ chcemy rozszerzyć zaporę routera, logiczne jest, że dodamy skrypt "Firewall". Wykonanie tej czynności spowoduje wykonanie polecenia iptables za każdym razem, gdy zapora zostanie odświeżona, a tym samym utrzymanie naszej rozbudowy na miejscu.
Z web-GUI DD-WRT:
inline = "$ (iptables -L INPUT -n | grep -n" stan ZWOLNIONE, USTAWIONE "| awk -F: 'print $ 1')"; inline = $ (($ inline-2 + 1)); iptables -I INPUT "$ inline" -p tcp --dport 1723 -j DROP
Co to za polecenie "Voodoo"?
Powyższe polecenie "magia voodoo" wykonuje następujące czynności:
Konfiguracja KnockD
Musimy utworzyć nową sekwencję wyzwalania, która umożliwi tworzenie nowych połączeń VPN. Aby to zrobić, edytuj plik knockd.conf, wydając w terminalu:
vi /opt/etc/knockd.conf
Dołącz do istniejącej konfiguracji:
[włącz-VPN]
sekwencja = 02,02,02,0101,01,2010,2010,2010
seq_timeout = 60
start_command = iptables -I INPUT 1 -s% IP% -p tcp --dport 1723 -j AKCEPTUJ
cmd_timeout = 20
stop_command = iptables -D INPUT -s% IP% -p tcp --dport 1723 -j AKCEPTUJ
Ta konfiguracja:
Autorwskazówki
Chociaż powinieneś być cały zestaw, jest kilka punktów, które muszę wspomnieć.
Kto zakłóca mój sen?