6Aug

Jak zaklepete do sítě, část 2: Chraňte svou VPN( DD-WRT)

click fraud protection

Ukázali jsme, jak spustit WOL vzdáleně pomocí "Port Knocking" na routeru. V tomto článku ukážeme, jak ji používat k ochraně služby VPN.

Image by Aviad Raviv &bfick.

Předmluva

Pokud jste použili integrovanou funkcionalitu VPN pro DD-WRT nebo máte jinou VPN server ve vaší síti, oceníte ji schopnost chránit ji před útoky hrubou silou tím, že ji skryjete za sekvenci klepání.Tímto provedete filtrování skriptů, které se snaží získat přístup do vaší sítě.S tím se říká, jak je uvedeno v předchozím článku, porušení portu není nahrazením dobrého hesla a / nebo bezpečnostní politiky. Pamatujte, že s dostatečnou trpělivostí může útočník zjistit sekvenci a provést replay útok.
Mějte také na paměti, že nevýhodou implementace je to, že pokud se chce kterýkoli VPN klient / ka připojit, museli spustit sekvenci klepání předtím a že pokud nemohou dokončit sekvenci z jakéhokoli důvodu,nebude moci VPN vůbec.

Přehled

Abychom mohli chránit * službu VPN, nejprve zakážeme veškerou možnou komunikaci s tím zablokováním instančního portu 1723. K dosažení tohoto cíle použijeme iptables. Je to proto, že komunikace je filtrována na většině moderních distribucí Linux / GNU obecně a zejména na DD-WRT.Pokud byste chtěli získat více informací o iptables, měli byste se podívat na svůj wiki záznam a podívat se na náš předchozí článek k tomuto tématu. Jakmile je služba chráněna, vytvoříme sekvenci zaklepání, která by dočasně otevřela instanci portu VPN a automaticky ji uzavřela i po nakonfigurovaném množství času, přičemž bude udržována již zavedená relace VPN připojená.

instagram viewer

Poznámka: V této příručce používáme jako příklad službu PPTP VPN.S tím, že stejná metoda může být použita pro jiné typy VPN, stačí změnit blokovaný port a / nebo typ komunikace.

Předpoklady, předpoklady &Doporučení

  • Předpokládá se, že máte router DD-WRT s podporou Opkg.
  • Předpokládá se, že jste již provedli kroky popsané v příručce "Jak načíst do sítě( DD-WRT)".
  • Předpokládá se znalost některých sítí.

Umožňuje praskání.

Výchozí Pravidlo "Blokujte nové VPN" na DD-WRT

Zatímco níže uvedený fragment "kódu" by pravděpodobně fungoval na každé, respektování iptables pomocí distribuce Linux / GNU, protože tam je tolik variantukažte, jak je používat na DD-WRT.Nic vás nezastaví, pokud si přejete, z jeho implementace přímo do pole VPN.Nicméně, jak to učinit, je mimo rozsah tohoto průvodce.

Protože chceme rozšířit bránu firewall směrovače, je logické, že bychom přidali do skriptu "Firewall".Pokud tak učiníte, způsobí to, že příkaz iptables bude proveden pokaždé, když bude brána firewall obnovena, a tím ponecháme rozšíření na místě.

Z Web-GUI DD-WRT:

  • Přejděte na "Administration" - & gt;"Příkazy".
  • Do textového pole zadejte níže uvedený kód:

    inline = "$( iptables -L INPUT -n | grep -n" Stav související, ESTABLISHED "| awk -F:{ 'print $ 1'})";inline = $( ($ inline-2 + 1));iptables -I INPUT "$ inline" -p tcp -dport 1723 -j DROP

  • Klikněte na "Uložit bránu firewall".
  • Hotovo.

Co je to příkaz "Voodoo"?

Výše ​​uvedený příkaz "voodoo magic" provede následující:

  • Zjišťuje, kde je iptable linka, která umožňuje propojit již zavedenou komunikaci. Děláme to proto, že A. Na směrovačích DD-WRT, pokud je služba VPN povolená, bude umístěna těsně pod tímto řádkem a B. Je to nezbytné pro náš cíl pokračovat v povolování již zavedených VPN relací,klepání událost.
  • Odpočítá dva( 2) z výstupu příkazu výpisu, aby vyčísloval offset způsobený záhlaví informační sloupce. Jakmile je to hotovo, přidá se k výše uvedenému číslu jedno( 1), takže pravidlo, které vkládáme, přijde těsně za pravidlem, které umožňuje již zavedenou komunikaci. Zanechal jsem tu velmi jednoduchý "matematický problém", jen abych udělal logiku "proč je třeba snížit jeden z místa pravidlo místo toho, aby přidal jeden k němu" jasné.Konfigurace

KnockD

Musíme vytvořit novou spouštěcí sekvenci, která umožní vytvoření nových připojení VPN.Chcete-li to provést, upravte soubor knockd.conf vydáním v terminálu:

vi /opt/etc/ knockd.conf

Přidejte do existující konfigurace:

[enable-VPN]
sekvence = 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% -ptcp - dport 1723 -j ACCEPT

Tato konfigurace bude:

  • Nastavte okno příležitosti k dokončení sekvence na 60 sekund.(Doporučuje se, aby to zůstalo co nejkratší)
  • Poslouchejte sekvenci tří klepnutí na portech 2, 1 a 2010( tato objednávka je úmyslně hodit porty skenery mimo dráhu).
  • Po zjištění sekvence spusťte příkaz start_command. Tento příkaz "iptables" umístí do horní části pravidel brány firewall "přijmout provoz určený pro port 1723, odkud pocházeli knocky".(Direktiva% IP% je zpracována speciálně KnockD a nahrazena IP původem zaklepání).
  • Počkejte 20 sekund před vydáním příkazu stop_command.
  • Proveďte příkaz "stop_command".Kde tento příkaz "iptables" provede zpětnou vazbu a vymaže pravidlo, které umožňuje komunikaci.
To je to, že vaše VPN služba by měla být nyní připojitelná až po úspěšném "knock".

Autor tipy

Zatímco byste měli být všichni nastaveni, existuje pár bodů, které potřebuji zmínit.

  • Řešení problémů.Nezapomeňte, že pokud máte problémy, segment "odstraňování problémů" na konci prvního článku by měl být první zastávkou.
  • Pokud chcete, můžete mít příkazy "start / stop" spouštět více příkazů tím, že je oddělíte polokolem( ;) nebo dokonce skriptem. Pokud tak učiníte, uděláte vám nějaké šikovné věci. Například, mám knockd poslat mi * E-mail mi říká, že sekvence byla spuštěna a odkud.
  • Nezapomeňte, že "existuje aplikace pro to" a přestože to není zmíněno v tomto článku, doporučujeme vám uchopit program Android klepačů systému Android.
  • Zatímco v tématu Android, nezapomeňte, že existuje výrobce PPTP VPN, který je obvykle zabudován do operačního systému.
  • Metoda zablokování něčeho počátečního a poté pokračujícího umožnění již zavedené komunikace může být použita prakticky pro libovolnou komunikaci založenou na protokolu TCP.Ve filmech Knockd on DD-WRT 1 ~ 6 jsem se vrátil, když jsem použil protokol vzdálené plochy( RDP), který jako příklad používá port 3389.
Poznámka: Chcete-li to provést, budete potřebovat funkci e-mailu na směrovači, který v současné době opravdu není ten, který funguje, protože snímek SVN balíčků optok OpenWRT je v rozporu. To je důvod, proč doporučuji použít knockd přímo na VPN box, který vám umožní použít všechny možnosti odesílání e-mailů, které jsou k dispozici v Linuxu / GNU, jako SSMTP a sendEmail, abychom zmínili pár.

Kdo naruší můj spánok?