Jak vytvořit VPN Killswitch pomocí Iptables v Linuxu

  • Giles Benson
  • 0
  • 1326
  • 248
>

Objektivní

V případě odpojení sítě VPN použijte iptables k zablokování všech připojení k internetu.

Distribuce

To bude fungovat na jakékoli distribuci Linuxu.

Požadavky

Fungující instalace systému Linux s oprávněními uživatele root.

Konvence

  • # - vyžaduje, aby dané linuxové příkazy byly prováděny s oprávněním root buď přímo jako uživatel root, nebo pomocí sudo příkaz
  • $ - vyžaduje, aby dané linuxové příkazy byly prováděny jako běžný neprivilegovaný uživatel

Úvod

Pokud jste připojeni k VPN, potřebujete zabiják. Ne, není to tak kovové, jak to zní. Je to jen mechanismus, který zastaví vaše připojení k internetu, když jste odpojeni od VPN. Chrání vás před nechtěným únikem citlivých informací na internet, když dojde k přerušení připojení VPN.
Některé služby VPN poskytují klientům vestavěný zabiják, ale žádná není tak spolehlivá jako používání iptable. Vzhledem k tomu, že iptables je nezávislý na vaší službě VPN a je integrován do samotného jádra, nezklame to, když vaše VPN ano. Iptables je také osvědčená bezpečnostní technologie, která může a bude udržovat váš počítač v bezpečí.

Sysctl

Než začnete vytvářet pravidla iptables, měli byste provést nějaké změny v sysctl konfigurace. V některých distribucích je umístěna na /etc/sysctl.d/99-sysctl.conf. Jiní to mají na /etc/sysctl.conf. Otevřete tento soubor a vyhledejte následující řádek a změňte jej tak, aby odpovídal příkladu zde.
net.ipv4.ip_forward = 1
Poté přidejte následující řádky do dolní části souboru. Nezapomeňte změnit rozhraní tak, aby odpovídala rozhraním na vašem počítači.
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 net.ipv6.conf.eth0.disable_ipv6 = 1 
Uložit a odejít. Poté spusťte:
 # sysctl -p 

Nastavit dokument

Nyní můžete vytvořit soubor pro svá pravidla. Nezáleží na tom, kde to uděláte, tak si prostě udělejte. Bude to označováno jako ipv4 pro tuto příručku.
Spusťte soubor přidáním následujících řádků. Budou začátkem a koncem souboru.
* filtr POTVRDIT 

Základní pravidla

Než nakonfigurujete iptables tak, aby umožňovaly jakýkoli provoz, musíte změnit jeho výchozí nastavení, aby se veškerý provoz zakázal. Přidejte tato tři pravidla a ve výchozím nastavení zrušíte veškerý provoz.
-P VSTUPNÍ VÝKON - P VEDENÍ VÝKONU - P VÝSTUPNÍ VÝKON 


Vstup

Je nejbezpečnější povolit pouze příchozí provoz z navázaných nebo souvisejících připojení. Nastavte to dále.
-A INPUT -m conntrack --ctstate SOUVISEJÍCÍ, ZAVEDENO -j PŘIJMOUT 

Loopback a Ping

Dále povolte rozhraní zpětné smyčky a ping.
-A VÝSTUP -o lo -j PŘIJMOUT -A VÝSTUP -o tun0 -p icmp -j PŘIJMOUT 
To předpokládá, že vaše připojení VPN je zapnuté tun0. Zkontrolujte to pomocí ip a, pokud si nejste jisti.

LAN

Nemá smysl vypínat nebo blokovat provoz v síti LAN, zejména v domácí síti, takže to také povolte.
-VÝSTUP -d 192.168.1.0/24 -j PŘIJMOUT 

DNS

V této další části budete potřebovat znát IP adresu serverů DNS vaší VPN. Pokud má vaše VPN přístup nebo vaše resolv.conf, pravděpodobně je tam najdete.
-A VÝSTUP -d 10.45.16.1 -j PŘIJMOUT 

Povolit VPN

Samozřejmě musíte povolit samotnou VPN. Má to dvě části. Musíte povolit servisní port i rozhraní.
-A VÝSTUP -p udp -m udp --dport 1194 -j PŘIJMOUT -A VÝSTUP -o tun0 -j PŘIJMOUT 
Znovu zkontrolujte port a rozhraní, které vaše připojení VPN používá.
Můžete se zastavit tady. Pro zabijáka to bude fungovat dobře. Pokud však chcete, aby iptables fungovaly jako běžný firewall a blokovaly také připojení na nechtěných portech, můžete to udělat.
Odtud byste odstranili poslední řádek, který přijímá veškerý provoz tun0, a nahraďte jej konkrétními povolenkami pro porty, které chcete povolit.
-A VÝSTUP -o tun0 -p tcp --dport 443 -j ACCEPT -A VÝSTUP -o tun0 -p tcp --dport 80 -j ACCEPT -A VÝSTUP -o tun0 -p tcp --dport 993 -j ACCEPT -A VÝSTUP -o tun0 -p tcp --dport 465 -j PŘIJMOUT 
Získáte obecnou představu. Je to delší a zdlouhavější, ale dává vám to větší kontrolu nad tím, jakým provozem prochází.

IPv6

IPv6 je právě teď pro VPN opravdu špatný. Většina z nich to dostatečně nepodporuje a vaše informace mohou přes toto spojení uniknout. Nejlepší je to úplně vypnout.
Vytvořte další soubor pro IPv6 a vše zablokujte.
-P VSTUPNÍ VÝKON - P VEDENÍ VÝKONU - P VÝSTUPNÍ VÝKON 


Spáchat

Aby se vaše soubory projevily, musíte je importovat do iptables. Nejprve vymažte všechna stará pravidla.
 # iptables -F && iptables -X 
Importujte nové ze svých souborů.
 # iptables-restore < /tmp/ipv4 # ip6tables-restore < /tmp/ipv6 

Udělejte to trvalé

Iptables ve výchozím nastavení neukládá svůj stav po restartu. Musíte si to nastavit sami.

Debian / Ubuntu

Systémy založené na Debianu mají program s názvem, iptables-persistent. Je to služba, která zpracovává zálohování a načítání vašich konfigurací.
Při instalaci, iptables-persistent se vás zeptá, zda chcete uložit stávající konfiguraci. Říkat ano.
 # apt install iptables-persistent 
Jelikož systémy Debian ve výchozím nastavení spouštějí služby při spuštění, nemusíte dělat nic jiného.

Other Systemd

Jiné systémy to mohou řešit několika různými způsoby. První je upravit / etc / sysconfig / iptables-config. Bude tam jedna ze dvou linek. Upravte ten, který má vypadat následovně.
IPTABLES_SAVE_ON_STOP = "ano" NEBO IPTABLES_SAVE_ON_RESTART = "ano" 
Druhým způsobem je použití funkcí uložení a obnovení iptables. Vytvořte adresář, kam chcete uložit svá pravidla.
 # mkdir / etc / iptables / # iptables-save> /etc/iptables/iptables.rules # ip6tables-save> /etc/iptables/ip6tables.rules 
Poté vytvořte skript, který tato pravidla načte při spuštění počítače.
#! / bin / bash iptables-restore < /etc/iptables/iptables.rules; ip6tables-restore < /etc/iptables/ip6tables.rules; 

OpenRC

Systémy OpenRC, jako je Gentoo, mají svůj vlastní způsob ukládání konfigurací.
 # rc-service iptables save # rc-service ip6tables save # rc-service iptables start # rc-service ip6tables start # rc-update add iptables default # rc-update add ip6tables default 

Závěrečné myšlenky

Díky zabíjení pomocí iptables je vaše VPN mnohem bezpečnější. Unikající data zcela znemožňují účel použití VPN, takže zastavení úniků by mělo být nejvyšší prioritou.
Nedůvěřujte takzvaným zabijáckým spínačům zapečeným do klientů VPN. Většina nefunguje. Jediným způsobem, jak skutečně zajistit, aby vaše data neunikla, je udělat to sami pomocí iptables.



Zatím žádné komentáře

Sbírka užitečných informací o operačním systému Linux a nových technologiích
Nejnovější články, praktické tipy, podrobné recenze a průvodci. Ve světě operačního systému Linux se budete cítit jako doma