Slika od Aviad Raviv & bfick.
Predgovor
Ako ste upotrijebili DD-WRT-ovu ugrađenu funkcionalnost za VPN ili imate drugi VPN poslužitelj u svojoj mreži, možda cijenite sposobnost da ga zaštitite od napada bratske sile tako što ćete je sakriti iza sekvence kucanja. Na taj ćete način filtrirati skriptne kiddies koji pokušavaju dobiti pristup vašoj mreži. Uz to, kao što je navedeno u prethodnom članku, kopiranje lutaka nije zamjena za dobru lozinku i / ili sigurnosnu politiku. Ne zaboravite da s dovoljno strpljenja napadač može otkriti slijed i izvršiti napad. Također imajte na umu da je nedostatak implementacije to da kad se bilo koji VPN klijent želi spojiti, morat će pokrenuti nokautunaprijed i da ako ne mogu dovršiti slijed iz bilo kojeg razloga, uopće neće moći VPN.
Pregled
Kako bismo zaštitili VPN uslugu, prvo ćemo onemogućiti svu moguću komunikaciju s njom blokiranjem instantirajuće luke 1723. Da bismo postigli ovaj cilj koristit ćemo iptables. To je zato što je komunikacija filtrirana na najsuvremenijim Linux / GNU distribucijama općenito i osobito na DD-WRT-u. Ako biste željeli više informacija o iptablesu, pogledajte njegov unos wikija i pogledajte naš prethodni članak o toj temi. Nakon što je usluga zaštićena, izradit ćemo naredbu za nakupljanje koji bi privremeno otvorio VPN instancirajući priključak i automatski ga zatvorio nakon konfiguriranog vremena, pričvršćenjem već uspostavljene VPN sesije.
Napomena: U ovom vodiču koristimo PPTP VPN uslugu kao primjer. Uz to, isti postupak se može koristiti za druge vrste VPN-a, samo ćete morati promijeniti blokiranu luka i / ili vrstu komunikacije.
Preduvjeti, pretpostavke i preporuke
- Pretpostavlja se / zahtijeva da imate opcijski DD-WRT usmjerivač opskrbe.
- Pretpostavlja se / zahtijeva da ste već izvršili korake u vodiču "Kucanje u vašu mrežu (DD-WRT)".
- Pretpostavlja se neka mrežna znanja.
Omogućuje pucanje.
Zadano "Block new VPNs" pravilo na DD-WRT-u
Dok će ispod isječak "koda" vjerojatno raditi na svakom, samo-poštujući, iptables pomoću Linux / GNU distribucije, jer postoji toliko mnogo varijanti vani ćemo samo pokazati kako ga koristiti na DD-WRT-u. Ništa vas ne sprečava, ako želite, da ga implementirate izravno na VPN okvir. Međutim, kako to učiniti, izvan opsega ovog vodiča.
Budući da želimo povećati Vatrozid usmjerivača, logično je da ćemo dodati skriptu "Firewall". Učinivši to, uzrokovalo bi izvršavanje naredbe iptables svaki put kada se vatrozid osvježuje i na taj način čuvanje našeg povećanja na mjestu za čuvanje.
Iz web-GUI-a DD-WRT:
-
Idite na "Administracija" -> "Naredbe".
-
U tekstni okvir upišite "kod" ispod:
inline='$( iptables -L INPUT -n | grep -n 'state RELATED,ESTABLISHED' | awk -F: {'print $1'} )'; inline=$(($inline-2+1)); iptables -I INPUT '$inline' -p tcp --dport 1723 -j DROP
- Kliknite "Spremi vatrozid".
- Gotovo.
Što je to "Voodoo" naredba?
Gore navedena "voodoo magic" naredba čini sljedeće:
- Otkriva gdje je iptable linija koja omogućava već uspostavljenu komunikaciju. To činimo jer A. Na DD-WRT usmjerivačima, ako je VPN usluga omogućena, bit će smještena neposredno ispod ove linije i B. Bitno je da nam cilj nastavka omogućavanja već uspostavljenih VPN sjednica da nastave živjeti nakon događaj kucanja.
- Odstrani dva (2) iz izlaza naredbe unosa da bi se uzela u obzir pomak uzrokovan zaglavljima informacijskih stupaca. Jednom kada se to učini, dodaje se jedan (1) na gornji broj, tako da pravilo koje ubacujemo dolazi neposredno nakon pravila koja omogućuju već uspostavljenu komunikaciju. Ovdje sam ostavio ovaj vrlo jednostavan "matematički problem", samo kako bih napravio logiku "zašto netko treba smanjiti jedan od pravilnika umjesto da ga dodate".
KnockD konfiguracija
Moramo stvoriti novu sekvencu pokretanja koja će omogućiti stvaranje novih VPN veza. Da biste to učinili, uredite knockd.conf datoteku izdavanjem u terminalu:
vi /opt/etc/knockd.conf
Dodajte na postojeću konfiguraciju:
[enable-VPN] sequence = 02,02,02,01,01,01,2010,2010,2010 seq_timeout = 60 start_command = iptables -I INPUT 1 -s %IP% -p tcp --dport 1723 -j ACCEPT cmd_timeout = 20 stop_command = iptables -D INPUT -s %IP% -p tcp --dport 1723 -j ACCEPT
Ova konfiguracija će:
- Postavite prozor prilike za dovršetak slijeda, na 60 sekundi. (Preporuča se da ovo bude što kraće moguće)
- Poslušajte niz od tri kucanja na priključcima 2, 1 i 2010 (ova narudžba namjerno baca lukovite skenere s zapisa).
- Nakon što je otkrivena sekvenca, izvršite "start_command". Ova naredba "iptables" stavit će "prijem promet koji je predodređen za priključak 1723 odakle je došlo kucanje" na vrhu pravila vatrozida. (Direktiva% IP% obrađuje posebno KnockD i zamjenjuje se IP-om porijekla udaraca).
- Pričekajte 20 sekundi prije izdavanja "stop_command".
- Izvršite "stop_command". Gdje je ova naredba "iptables" obrnuta od gore navedenog i briše pravilo koje dopušta komunikaciju.
To je vaša, vaša VPN usluga sada se može povezati tek nakon uspješnog "kucanja".
Autor Savjetima
Dok bi trebali biti postavljeni, postoji nekoliko točaka koje osjećam da treba spomenuti.
- Rješavanje problema. Imajte na umu da ako imate problema, segment "rješavanja problema" na kraju prvog članka trebao bi biti vaš prvi prestanak.
- Ako želite, možete imati "start / stop" direktive izvršiti više naredbi razdvajajući ih s polu-colen (;) ili čak skripta. To će vam omogućiti da napravite neke divne stvari. Na primjer, šaljem mi poruku e-pošte koja mi je rekla da je pokrenut slijed i odakle.
- Nemojte zaboraviti da "postoji aplikacija za to" i, iako nije navedena u ovom članku, preporučujemo da iskoristite program StavFX za Android.
- Dok ste na temu Androida, ne zaboravite da postoji PPTP VPN klijent obično ugrađen u OS od proizvođača.
- Metoda, pronalazeći nešto u početku, a zatim nastavlja dopustiti već uspostavljenu komunikaciju, može se koristiti na praktički bilo kojoj komunikaciji temeljenoj na TCP-u. Zapravo u filmu Knockd na DD-WRT 1 ~ 6, napravio sam put natrag kad sam koristio protokol za udaljeni radni stol (RDP) koji koristi port 3389 kao primjer.
Napomena: Da biste to učinili, morat ćete dobiti funkcionalnost e-pošte na vašem usmjerivaču, a trenutačno zaista nije onaj koji radi jer je SVN snimak OpenWRT-ovih opkg paketa u neredu. Zato predlažem da koristite knockd izravno na VPN okviru koji vam omogućuje korištenje svih mogućnosti slanja e-pošte dostupnih u Linux / GNU-u, kao što je SSMTP i sendEmail da spomenemo nekoliko.
Tko smeta moju sna?