Miten koputtaa verkkoosi, osa 2 Suojaa VPN (DD-WRT)
Olemme osoittaneet, miten voit käynnistää WOL: n etänä reitittimen "Port Knocking" -toiminnolla. Tässä artikkelissa näytämme, miten sitä käytetään VPN-palvelun suojaamiseen.
Kuva: Aviad Raviv & bfick.
Esipuhe
Jos olet käyttänyt DD-WRT: n sisäänrakennettua toimintoa VPN: lle tai jos toisessa VPN-palvelimessa on verkko, saatat arvostaa kykyä suojata se raa'an voiman hyökkäyksiltä piilottamalla se koputussekvenssin taakse. Tällöin suodatat pois skriptin lapset, jotka yrittävät päästä verkkoon. Kun sanottiin, kuten edellisessä artikkelissa todettiin, sataman koputtaminen ei korvaa hyvää salasanaa ja / tai turvallisuuspolitiikkaa. Muista, että riittävän kärsivällisesti hyökkääjä voi löytää sekvenssin ja suorittaa toisto-iskun.
Muista myös, että tämän toteutuksen haittapuoli on se, että kun jokin VPN-asiakas / käyttäjät haluavat muodostaa yhteyden, niiden on käynnistettävä koputusjärjestys etukäteen ja jos he eivät pysty suorittamaan sekvenssiä mistä tahansa syystä, he eivät voi VPN: ää ollenkaan.
Yleiskatsaus
VPN-palvelun suojaamiseksi poistamme ensin kaiken mahdollisen viestinnän sen kanssa estämällä 1723: n pikatoimiportin. Tämän tavoitteen saavuttamiseksi käytämme iptablesia. Tämä johtuu siitä, että viestintä suodatetaan useimmissa uusimmissa Linux / GNU-jakeluissa yleensä ja erityisesti DD-WRT: ssä. Jos haluat lisätietoja iptables-kassalla sen wiki-merkinnästä, ja tutustu edelliseen artikkeliin aiheesta. Kun palvelu on suojattu, luomme koputussekvenssin, joka avaisi väliaikaisesti VPN: n pikatoimiportin ja sulkeutuu sen automaattisesti myös määritetyn ajan jälkeen pitäen samalla jo muodostetun VPN-istunnon yhteydessä.
Huomautus: Tässä oppaassa käytämme esimerkkinä PPTP-VPN-palvelua. Samalla menetelmällä voidaan käyttää muita VPN-tyyppejä, sinun on vain muutettava estetty portti ja / tai viestintätyyppi.
Edellytykset, oletukset ja suositukset
- Oletetaan / vaaditaan, että sinulla on Opkg-käytössä oleva DD-WRT-reititin.
- Oletetaan / vaaditaan, että olet jo suorittanut vaiheet kohdassa ”Kuinka koputtaa verkkoon (DD-WRT)”.
- Jotkin verkottumisosaamista oletetaan.
Saat halkeamia.
oletusarvo DD-WRT: n sääntö "Block new VPNs"
Vaikka alla oleva koodinpätkä toimisi luultavasti jokaista, itseään kunnioittavaa, iptablesia käyttäen, Linux / GNU -jakelussa, koska siellä on niin paljon vaihtoehtoja, että näytämme vain, miten sitä käytetään DD-WRT: ssä. Mikään ei estä sinua, jos haluat, toteuttaa sitä suoraan VPN-ruutuun. Miten tämä tehdään, ei kuitenkaan kuulu tämän oppaan soveltamisalaan.
Koska haluamme lisätä reitittimen palomuuria, on vain loogista, että lisätään Firewall-skripti. Niinpä iptables-komento suoritettaisiin joka kerta, kun palomuuri päivitetään ja siten säilytetään lisäykset paikallaan.
DD-WRT: n Web-GUI: sta:
- Siirry kohtaan "Hallinto" -> "Komennot".
- Kirjoita tekstikenttään alla oleva koodi:
inline = "$ (iptables -L INPUT -n | grep -n" tila RELATED, ESTABLISHED "| awk -F: 'print $ 1')"; inline = $ (($ inline-2 + 1)); iptables -I INPUT "$ inline" -p tcp --portti 1723 -j DROP
- Napsauta Tallenna palomuuri.
- Tehty.
Mikä tämä “Voodoo” -komento on?
Yllä oleva "voodoo magic" -komento toimii seuraavasti:
- Etsii, missä on iptable linja, joka mahdollistaa jo vakiintuneen viestinnän. Teemme tämän, koska A. DD-WRT-reitittimissä, jos VPN-palvelu on käytössä, se sijaitsee juuri tämän rivin ja B: n alapuolella. Tavoitteenamme on jatkaa sallittujen VPN-istuntojen sallimista jatkaa koputtaa tapahtuma.
- Vähentää kaksi (2) luettelointikomennon lähdöstä laskeaksesi informaation sarakkeiden otsikoiden aiheuttaman siirtymän. Kun se on tehty, lisätään yksi (1) yllä olevaan numeroon, niin että sääntö, jonka lisäämme, tulee juuri sen säännön jälkeen, joka sallii jo vakiintuneen viestinnän. Olen jättänyt tämän hyvin yksinkertaisen "matematiikkaongelman" täällä, vain tekemällä logiikan "miksi yksi on vähennettävä sääntöä sen sijasta, että lisäät sen siihen".
KnockD-konfiguraatio
Meidän on luotava uusi käynnistysjakso, joka mahdollistaa uusien VPN-yhteyksien luomisen. Voit tehdä tämän muokkaamalla knockd.conf-tiedostoa antamalla sen terminaaliin:
vi /opt/etc/knockd.conf
Lisää olemassa olevaan kokoonpanoon:
[Enable-VPN-]
sekvenssi = 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 --portti 1723 -j ACCEPT
Tämä kokoonpano:
- Aseta mahdollisuuksien ikkuna sekvenssin loppuun saattamiseksi 60 sekunniksi. (On suositeltavaa pitää tämä mahdollisimman lyhyenä)
- Kuuntele kolmen iskun sarja satamissa 2, 1 ja 2010 (tämä järjestys on tarkoituksellinen heittää porttien skannerit pois raidasta).
- Kun sekvenssi on havaittu, suorita ”start_command”. Tämä "iptables" -komento asettaa "hyväksyä liikennettä satamaan 1723, josta koput tuli" palomuurin sääntöjen yläosassa. (% IP% -direktiiviä käsitellään erityisesti KnockD: n toimesta, ja se korvataan lyömisen alkuperän IP: llä).
- Odota 20 sekuntia, ennen kuin annat "stop_command".
- Suorita “stop_command”. Jos tämä "iptables" -komento tekee edellä mainitun ja päinvastoin poistetaan sääntö, joka sallii viestinnän.
kirjailijavinkkejä
Vaikka sinun pitäisi olla kaikki asetettu, on olemassa muutamia kohtia, joita minusta tuntuu mainitsevan.
- Ongelmien karttoittaminen. Muista, että jos sinulla on ongelmia, ensimmäisen artikkelin "vianmääritys" -segmentin pitäisi olla ensimmäinen pysäkki.
- Jos haluat, voit käynnistää "start / stop" -direktiivit suorittamaan useita komentoja erottamalla ne puolikolmen (;) tai jopa komentosarjan avulla. Näin voit tehdä joitakin hienoja juttuja. Esimerkiksi olen koputtanut minulle * sähköpostiviestin, jossa kerrotaan, että sekvenssi on käynnistetty ja mistä.
- Älä unohda, että "siellä on sovellus" ja vaikka sitä ei mainita tässä artikkelissa, sinua kannustetaan tarttumaan StavFXin Android-koputtamisohjelmaan.
- Älä pidä unohtaa, että Androidissa on PPTP VPN -asiakas, joka on yleensä sisäänrakennettu käyttöjärjestelmään valmistajalta.
- Menetelmää, jolla jotakin alun perin estetään, ja sen jälkeen jatketaan jo vakiintunutta viestintää, voidaan käyttää käytännössä missä tahansa TCP-pohjaisessa viestinnässä. Itse asiassa olen tehnyt DD-WRT 1 ~ 6 -elokuvan Knockdissa takaisin tien, kun olen käyttänyt RDP-protokollaa, joka käyttää esimerkkinä porttia 3389.
Kuka häiritsee minun Slumber?