Kako udariti v vaše omrežje, 2. del Zaščitite svoj VPN (DD-WRT)
Pokazali smo vam, kako sprožiti WOL na daljavo z "Port Knocking" na vašem usmerjevalniku. V tem članku bomo pokazali, kako ga uporabiti za zaščito storitve VPN.
Slika aviad Raviv & bfick.
Predgovor
Če ste vgrajeni funkcionalnost DD-WRT za VPN ali imate v svojem omrežju še en strežnik VPN, boste morda cenili možnost, da ga zaščitite pred napadom s silo, tako da ga skrijete za zaporedjem udarcev. S tem boste filtrirali skripte, ki poskušajo pridobiti dostop do vašega omrežja. S tem je dejal, kot je navedeno v prejšnjem članku, pristanišče trkanje ni nadomestilo za dobro geslo in / ali varnostno politiko. Ne pozabite, da lahko z dovolj potrpljenja napadalec odkrije zaporedje in izvede napad ponovnega predvajanja.
Upoštevajte tudi, da je slaba stran pri izvajanju tega, da ko se kateri koli odjemalec / VPN želi povezati, mora sprožiti knock zaporedje vnaprej in če ne morejo dokončati zaporedja iz kakršnega koli razloga, sploh ne bodo mogli VPN.
Pregled
Da bi zaščitili storitev VPN, bomo najprej onemogočili vse možne komunikacije z njo tako, da blokiramo pristanišče za izdelavo primerkov 1723. Za dosego tega cilja bomo uporabili iptables. To je zato, ker se komunikacija filtrira na najbolj modernih Linux / GNU distribucijah na splošno in še posebej na DD-WRT. Če želite več informacij o iptables-u, preglejte njegov wiki vnos in si oglejte naš prejšnji članek o tej temi. Ko je storitev zaščitena, bomo ustvarili zaporedje udarcev, ki bo začasno odprlo pristanišče za izdelavo VPN in ga tudi samodejno zaprlo po konfiguriranem času, hkrati pa bo še vzpostavljena seja VPN povezana.
Opomba: V tem priročniku za primer uporabljamo storitev PPTP VPN. S tem je mogoče uporabiti isto metodo za druge vrste VPN, samo spremeniti blokirana vrata in / ali tip komunikacije.
Predpogoji, predpostavke in priporočila
- Predvideva se / zahteva, da imate Opkg omogočen DD-WRT usmerjevalnik.
- Predvidevamo / zahtevamo, da ste že izvedli korake v priročniku »Kako udariti v vaše omrežje (DD-WRT)«..
- Predvideva se nekaj mrežnega znanja.
Lupimo se.
Privzeto »Blokiraj nova VPN-ja« velja za DD-WRT
Medtem ko bi spodnji odsek »kode« verjetno deloval na vsakem, samospoštujočem, iptables uporabi, Linux / GNU distribuciji, ker obstaja toliko različic, da bomo le pokazali, kako ga uporabljati na DD-WRT. Nič ne preprečuje, da bi ga, če želite, implementirali neposredno v polje VPN. Vendar pa to, kako to storiti, presega področje uporabe tega priročnika.
Ker želimo razširiti požarni zid usmerjevalnika, je logično, da dodamo skriptu »Požarni zid«. Če to storite, bo ukaz iptables izveden vsakič, ko se bo požarni zid osvežil in tako ohranil našo razširitev na mestu.
Iz spletnega grafičnega uporabniškega vmesnika DD-WRT:
- Pojdite v »Skrbništvo« -> »Ukazi«.
- Vnesite spodnjo »kodo« v besedilno polje:
inline = "$ (iptables -L INPUT -n | grep -n" stanje RELATED, ESTABLISHED "| awk -F: 'print $ 1')"; inline = $ (($ inline-2 + 1)); iptables -I INPUT "$ inline" -p tcp --dport 1723 -j DROP
- Kliknite »Shrani požarni zid«.
- Končano.
Kaj je ta »Voodoo« ukaz?
Zgornji ukaz "voodoo magic" naredi naslednje:
- Ugotovi, kje je linija, ki omogoča, da že vzpostavljena komunikacija poteka. To počnemo, ker A. Na DD-WRT usmerjevalnikih, če je storitev VPN omogočena, se bo nahajala tik pod to črto in B. Bistvenega pomena je naš cilj, da še naprej dovoljujemo že vzpostavljene seje VPN, da bodo živele po trkanje.
- Odšteje dva (2) od izhoda ukaza za vnos v račun za izravnavo, ki jo povzročijo informacijski naslovi stolpcev. Ko se to zgodi, doda eno (1) k zgornji številki, tako da bo pravilo, ki ga vstavljamo, prišlo tik za pravilo, ki dovoljuje že vzpostavljeno komunikacijo. To zelo preprosto »matematično težavo« sem pustil tukaj, samo da bi naredil logiko »zakaj je treba zmanjšati enega iz mesta pravila, namesto da bi mu dodal eno«..
KnockD konfiguracija
Ustvariti moramo novo zaporedje, ki bo omogočilo ustvarjanje novih povezav VPN. To naredite tako, da datoteko knockd.conf uredite tako, da jo izdate v terminalu:
vi /opt/etc/knockd.conf
Dodajte obstoječi konfiguraciji:
[omogoči VPN]
sekvenca = 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
Ta konfiguracija bo:
- Nastavite okno priložnosti za dokončanje zaporedja, na 60 sekund. (Priporočljivo je, da je to čim krajše)
- Poslušajte zaporedje treh udarcev na vratih 2, 1 in 2010 (ta vrstica je namerna, da se skenirajo porti izven poti).
- Ko je zaporedje zaznano, izvedite “start_command”. Ta ukaz »iptables« bo postavil »sprejeti promet, namenjen v pristanišče 1723, od koder je prišlo do udarcev« na vrh pravil za požarni zid. (Direktiva IP% se posebej obravnava s strani KnockD in se nadomesti z IP za izvor udarcev).
- Počakajte 20 sekund, preden izdate "stop_command".
- Izvedite »stop_command«. Kjer ta ukaz »iptables« naredi obratno zgoraj in izbriše pravilo, ki omogoča komunikacijo.
AvtorNasveti
Medtem ko bi morali biti vsi pripravljeni, obstaja nekaj točk, ki jih menim, da jih je treba omeniti.
- Odpravljanje težav. Ne pozabite, da če imate težave, mora biti segment »odpravljanje težav« na koncu prvega članka vaš prvi postanek.
- Če želite, lahko direktive "start / stop" izvajajo več ukazov tako, da jih ločite s pol-colen (;) ali celo s skriptom. Tako boste lahko naredili nekaj čudovitih stvari. Na primer, imam knockd pošljite mi * E-pošta mi pove, da je bila zaporedje sproženo in od koder.
- Ne pozabite, da “obstaja aplikacija za to” in čeprav ni omenjena v tem članku, vas spodbujamo, da vzamete StavFXov program Android knocker..
- Medtem ko je na temo Android, ne pozabite, da obstaja PPTP VPN odjemalec običajno vgrajen v OS od proizvajalca.
- Metoda, blokiranje nekaj na začetku in potem še naprej dovoljena že vzpostavljena komunikacija, se lahko uporablja na praktično vseh komunikacijah, ki temeljijo na TCP. Pravzaprav sem v filmu Knockd na DD-WRT 1 ~ 6 filmih, ko sem uporabil protokol za oddaljeni namizni računalnik (RDP), ki za primer uporablja pristanišče 3389.
Kdo me moti?