2. Hogyan védjük meg a VPN-t (DD-WRT)
Bemutattuk, hogyan indíthat távolról a WOL-t az útválasztó „Port Knocking” segítségével. Ebben a cikkben megmutatjuk, hogyan kell használni a VPN-szolgáltatás védelmére.
Kép: Aviad Raviv & bfick.
Előszó
Ha a DD-WRT beépített funkcionalitását használja a VPN-hez, vagy ha van egy másik VPN-kiszolgáló a hálózaton, akkor értékelheti azt a képességét, hogy megvédje a nyers erő támadásoktól, ha elrejti azt egy kopogássorozat mögött. Ezzel kiszűri azokat a parancsfájlokat, amelyek megpróbálnak hozzáférni a hálózathoz. Ezzel az előző cikkben leírtak szerint a kikötő kopogása nem helyettesíti a jó jelszót és / vagy biztonsági politikát. Ne feledje, hogy elegendő türelemmel a támadó felfedezheti a sorozatot, és visszajátszás támadást végezhet.
Ne feledje azt is, hogy a megvalósítás hátránya, hogy ha bármely VPN-kliens csatlakozik, akkor a kopogási sorozatot el kell indítania előzetesen és ha bármilyen okból nem tudják teljesíteni a szekvenciát, akkor egyáltalán nem lesz képes VPN-re.
Áttekintés
A VPN-szolgáltatás védelme érdekében először letiltjuk az összes lehetséges kommunikációt azzal, hogy blokkoljuk az 1723-as pillanatnyi portot. E cél elérése érdekében iptables-t fogunk használni. Ez azért van, mert így a kommunikációt a legmodernebb Linux / GNU disztribúciókon, általában a DD-WRT-nél szűrik meg. Ha több információt szeretne megtudni az iptables checkoutról a wiki bejegyzéséről, és nézze meg a témával kapcsolatos korábbi cikkünket. A szolgáltatás védelme után létrehozunk egy kopogási sorozatot, amely átmenetileg megnyitja a VPN instantiating portot, és automatikusan bezárja azt egy beállított idő után, miközben a már létrehozott VPN-munkamenetet megtartja.
Megjegyzés: Ebben az útmutatóban például a PPTP VPN szolgáltatást használjuk. Ezzel ugyanez a módszer használható más VPN-típusokra is, csak a blokkolt portot és / vagy a kommunikációs típust kell módosítania.
Előfeltételek, feltételezések és ajánlások
- Feltételezzük, hogy van egy Opkg engedélyezett DD-WRT útválasztó.
- Feltételezzük / szükséges, hogy már elvégeztük a „Hálózatba (DD-WRT)” útmutatóban leírt lépéseket.
- Néhány hálózati ismeret feltételezhető.
Lehetővé válik a repedés.
Alapértelmezett „Új VPN-ek blokkolása” szabály a DD-WRT-en
Míg az alábbi kódrészlet valószínűleg minden, önbecsülő, iptables-en, Linux / GNU terjesztéssel fog működni, mert annyi változata van, hogy csak a DD-WRT-nél használjuk. Semmi sem akadályozza meg, ha kívánja, hogy közvetlenül a VPN-dobozon hajtsa végre. Ennek módja azonban nem terjed ki ezen útmutató hatókörére.
Mivel szeretnénk bővíteni az útválasztó tűzfalát, csak logikus, hogy hozzáadjuk a „Tűzfal” parancsfájlt. Ha így tesz, az iptables parancs minden alkalommal végrehajtásra kerül, amikor a tűzfal frissül, és így megtartja a bővítés helyét..
A DD-WRT webes GUI-jából:
- Ugrás az „Adminisztráció” -> „Parancsok” menüpontra.
- Írja be az alábbi „kódot” a szövegdobozba:
inline = "$ (iptables -L INPUT -n | grep -n" állapot KAPCSOLÓDÓ, | "awk -F: 'print $ 1')"; inline = $ (($ inline-2 + 1)); iptables -I INPUT "$ inline" -p tcp --port 1723 -j DROP
- Kattintson a „Tűzfal mentése” gombra.
- Kész.
Mi ez a „Voodoo” parancs?
A fenti „voodoo magic” parancs a következőket teszi:
- Megtalálja, hol van az iptable vonal, amely lehetővé teszi a már létrejött kommunikációt. Ezt azért tesszük, mert A. Ha a VPN-szolgáltatás engedélyezve van, a DD-WRT-útválasztóknál ez a vonal és a B. alatt lesz. Célunk, hogy továbbra is engedélyezzük, hogy a már létrehozott VPN-munkamenetek éljenek a kopogtató esemény.
- A listázási parancs kimenetéből kettőt (2) levon le, hogy az információs oszlopfejlécek által okozott eltolódást figyelembe vegye. Ha ez megtörtént, akkor hozzáad egy (1) -et a fenti számhoz, hogy a beillesztett szabály csak a szabály létrehozása után jöjjön létre, amely lehetővé teszi a már létrejött kommunikációt. Itt hagytam el ezt a nagyon egyszerű „matematikai problémát”, csak azért, hogy logikát adjunk arra, hogy „miért kell az egyiket csökkenteni a szabály helyéről ahelyett, hogy hozzáadnánk hozzá”.
KnockD konfiguráció
Létre kell hoznunk egy új indítási sorozatot, amely lehetővé teszi az új VPN-kapcsolatok létrehozását. Ehhez szerkessze a knockd.conf fájlt a terminálban történő kiadással:
vi /opt/etc/knockd.conf
Hozzáférés a meglévő konfigurációhoz:
[Enable-VPN]
szekvencia = 02,02,02,01,01,01,2010,2010,2010
seq_timeout = 60
start_command = iptables -I INPUT 1 -s% IP% -p tcp --port 1723 -j ACCEPT
cmd_timeout = 20
stop_command = iptables -D INPUT -s% IP% -p tcp --port 1723 -j ACCEPT
Ez a konfiguráció:
- 60 másodpercre állítsa be a sorozatot a lehetőség teljesítéséhez. (Javasoljuk, hogy ezt a lehető legrövidebb legyen)
- Hallgasson három ütést egy sorban a 2., 1. és 2010-es portokon (ez a sorrend szándékos, hogy a port szkennereket kihagyja a pályáról).
- A szekvencia észlelése után hajtsa végre a „start_command” parancsot. Ez az „iptables” parancs elhelyezi az „elfogadó forgalmat az 1723-as portra, ahonnan az ütések jöttek” a tűzfalszabályok tetején. (A% IP% irányelvet a KnockD kifejezetten kezeli, és helyettesíti az ütés eredetének IP-jét).
- Várjon 20 másodpercet a „stop_command” kiadása előtt.
- Végezze el a „stop_command” parancsot. Ahol ez az „iptables” parancs a fentieket fordítja, és törli a szabályt, amely lehetővé teszi a kommunikációt.
Szerzőtippjei
Míg mindannyian be kell állítanod, van néhány pont, amiről úgy érzem, meg kell említeni.
- Hibaelhárítás. Ne feledje, hogy ha problémája van, az első cikk végén a „hibaelhárítási” szegmensnek kell lennie az első állomásnak.
- Ha szeretné, akkor az „indítás / leállítás” irányelvek több parancsot is végrehajthatnak úgy, hogy félig colen (;) vagy akár egy szkripttel elválasztják őket. Ez lehetővé teszi, hogy néhány remek dolgot csináljon. Például, küldtem nekem egy * e-mailt, ami azt mondta nekem, hogy egy sorozatot elindítottak és onnan.
- Ne felejtsük el, hogy „van egy alkalmazás ehhez”, és bár a cikkben nem szerepel, akkor bátoríthatja a StavFX Android kopogtatóprogramját.
- Amíg az Android témája van, ne felejtsük el, hogy van egy PPTP VPN kliens, amely rendszerint beépül az operációs rendszerbe a gyártótól.
- A gyakorlatban bármilyen TCP-alapú kommunikációra lehet használni a kezdeti és a már megalapozott kommunikáció engedélyezésének folyamatát. Valójában a DD-WRT 1 ~ 6 filmben lévő Knockd-ban már megtettem utat, amikor a távoli asztali protokollt (RDP) használtam, amely példaként a 3389-es portot használja..
Ki zavarja az én alvásomat?