Jak utworzyć zabójstwo VPN za pomocą IPTABLES w Linux

Jak utworzyć zabójstwo VPN za pomocą IPTABLES w Linux

Cel

Użyj iptables, aby zablokować wszystkie połączenia internetowe w przypadku odłączenia VPN.

Rozkłady

Będzie to działać na dowolnym dystrybucji Linux.

Wymagania

Working Linux instaluj z uprawnieniami root.

Konwencje

  • # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
  • $ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Wstęp

Jeśli jesteś podłączony do VPN, potrzebujesz zabójstwa. Nie, to nie jest tak metalowe, jak się wydaje. To tylko mechanizm, który zatrzymuje twoje połączenie internetowe, gdy jesteś odłączony od VPN. Chroni cię przed nieumyślnym wyciekiem poufnych informacji do Internetu, gdy połączenie VPN spada.

Niektóre usługi VPN zapewniają klientom wbudowany Killswitch, ale żaden nie jest tak niezawodny, jak korzystanie z IPTables. Ponieważ iptables jest niezależny od Twojej usługi VPN i jest zintegrowany z samym jądrem, nie zawiedzie, gdy robi to twój VPN. IPTABLES to również dobrze udowodniona technologia bezpieczeństwa, która może i zapewni bezpieczeństwo komputera.



Sysctl

Zanim zaczniesz tworzyć reguły IPTABLES, powinieneś dokonać pewnych zmian w Sysctl konfiguracja. W niektórych dystrybucjach znajduje się pod adresem /etc/sysctl.D/99-SYSCTL.conf. Inni mają to na /etc/sysctl.conf. Otwórz ten plik i zlokalizuj następujący wiersz i zmień go, aby dopasować przykład tutaj.

internet.IPv4.ip_forward = 1

Następnie dodaj następujące wiersze na dole pliku. Pamiętaj, aby zmienić interfejsy, aby pasowały do ​​tych na komputerze.

internet.IPv6.conf.Wszystko.disable_ipv6 = 1 netto.IPv6.conf.domyślny.disable_ipv6 = 1 netto.IPv6.conf.lo.disable_ipv6 = 1 netto.IPv6.conf.ETH0.disable_ipv6 = 1 

Zapisz i wyjdź. Następnie uruchomić:

# sysctl -p 

Skonfiguruj dokument

Teraz możesz utworzyć plik dla swoich zasad. Nie ma znaczenia, gdzie to zrobisz, więc po prostu zrób jeden. Będzie to określane jako IPv4 dla tego przewodnika.

Uruchom plik, dodając następujące wiersze. Będą początkiem i końcem pliku.

*Filtruj zatwierdzenie 

Zasady podstawowe

Przed skonfigurowaniem iPtables, aby umożliwić dowolny ruch potrzebny do zmiany jego wartości domyślnej, aby odrzucić cały ruch. Dodaj te trzy zasady, aby domyślnie zrzucić cały ruch.

-P Drop wejściowy -p do przodu -p kropla wyjściowa 


Wejście

Najbardziej bezpieczne jest umożliwienie ruchu przychodzącego z ustalonych lub powiązanych połączeń. Skonfiguruj to następne.

-A wejście -m Contrack --ctState Powiązane, ustalone -j zaakceptuj 

Pętla i ping

Następnie zezwól na interfejs pętli i ping.

-Wyjście -o lo -J akceptuj -a wyjściowe -o tun0 -p icmp -j akceptuj 

Zakłada się, że połączenie VPN jest włączone Tun0. Sprawdź to ip a, Jeśli nie jesteś pewien.

Lan

Nie ma sensu zamykać lub blokować ruchu LAN, szczególnie w sieci domowej, więc pozwól na to również.

-Wyjście -D 192.168.1.0/24 -J Zaakceptuj 

DNS

W tej następnej części będziesz musiał znać adres IP swojego VPN Server (S). Jeśli Twój VPN ma dostęp lub twój RESPIRV.conf, Prawdopodobnie ich znajdziesz.

-Wyjście -D 10.45.16.1 -J Zaakceptuj 

Pozwól VPN

Oczywiście musisz pozwolić samemu VPN. Są w tym dwie części. Musisz zezwolić zarówno na port serwisowy, jak i interfejs.

-A wyjściowe -p udp -m udp - -dport 1194 -J Zaakceptuj -a wyjściowe -o tun0 -j Zaakceptuj 

Ponownie sprawdź port i interfejs, którego używa połączenie VPN.

Możesz zatrzymać się tutaj. To będzie działać dobrze dla zabójstwa. Jeśli jednak chcesz, aby iptables działały jako zwykła zapora ogniowa i blokować połączenia na niechcianych portach, możesz to zrobić.

Stąd usuniesz ostatnią linię, która akceptuje cały ruch Tun0, i wymień go na określone dodatki dla portów, na które chcesz zezwolić.

-A wyjściowe -o tun0 -p tcp - -dport 443 -j akceptuj -a wyjściowe -o tun0 -p -O TUN0 -P TCP - -DPORT 465 -J Zaakceptuj 

Masz ogólny pomysł. Jest dłuższy i bardziej żmudny, ale daje większą kontrolę nad tym, co przechodzi ruch.



IPv6

IPv6 jest teraz naprawdę szkodliwy dla VPNS. Większość nie popiera go odpowiednio, a twoje informacje mogą wyciekać przez to połączenie. Najlepiej jest to całkowicie zamknąć.

Utwórz kolejny plik dla IPv6 i blokuj wszystko.

-P Drop wejściowy -p do przodu -p kropla wyjściowa 

Popełniać

Musisz zaimportować swoje pliki do iptables, aby mogły one uwzględnić. Po pierwsze, wyjaśnij wszelkie stare zasady.

# iptables -f && iptables -x 

Zaimportuj nowe z plików.

# IPTABLES-RESTORE < /tmp/ipv4 # ip6tables-restore < /tmp/ipv6 

Uczyń to trwałe

IPTABLES nie domyślnie nie zapisuje swojego stanu po ponownym uruchomieniu. Musisz to skonfigurować.

Debian/Ubuntu

Systemy oparte na debian mają program o nazwie, IPTABLES-PERSistent. Jest to usługa, która obsługuje tworzenie kopii zapasowych i ładowania konfiguracji.

Po zainstalowaniu, IPTABLES-PERSistent Zapytaj Cię, czy chcesz zapisać istniejącą konfigurację. Powiedz tak.

# apt Zainstaluj iptables-persistent 

Ponieważ Debian Systems domyślnie uruchamia usługi na uruchomieniu, nie musisz robić nic innego.



Inny systemd

Inne systemy mają kilka różnych sposobów radzenia sobie z tym. Pierwszym z nich jest edycja /etc/sysconfig/iptables-config. Będzie tam jedna z dwóch linii. Edytuj ten, który musisz wyglądać jak następujące.

Iptables_save_on_stop = "tak" lub iptables_save_on_restart = "tak" 

Innym sposobem jest użycie funkcji zapisu i przywracania iPtables. Utwórz katalog, w którym chcesz zapisać swoje zasady.

# mkdir/etc/iptables/ # iptables-save>/etc/iptables/iptables.Reguły # ip6Tables-Save>/etc/iptables/ip6Tables.zasady 

Następnie utwórz skrypt, aby załadować te zasady, gdy komputer się uruchamia.

#! /bin/bash iptables-restore < /etc/iptables/iptables.rules; ip6tables-restore < /etc/iptables/ip6tables.rules; 

Openrc

Systemy OpenRC, takie jak Gentoo, mają swój własny sposób zapisywania konfiguracji.

# RC-SERVICE IPTABLES ZAPISZ # RC-SERVICE IP6TABLES ZAPISZ # RC-SERVICE IPTABLES Uruchom # RC-SERVICE IP6Tables Start # rc-update Dodaj IPTABLE Domyślnie # rc-update Dodaj IP6Tables Domyślnie 

Zamykanie myśli

Korzystanie z Killswitch na bazie IPTABLES sprawia, że ​​Twój VPN jest znacznie bezpieczniejszy. Przeciek danych całkowicie pokonuje cel używania VPN, więc zatrzymanie wycieków powinno być najwyższym priorytetem.

Nie ufaj tak zwanym zabójstwom zapalonym w klientach VPN. Większość nie działa. Jedynym sposobem, aby naprawdę upewnić się, że twoje dane nie wyciekają.

Powiązane samouczki Linux:

  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
  • Zainstaluj Arch Linux na stacji roboczej VMware
  • Pobierz Linux
  • Polecenia Linux: Top 20 najważniejsze polecenia, które musisz…
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Podstawowe polecenia Linux
  • Rzeczy do zainstalowania na Ubuntu 22.04
  • Instalacja Manjaro Linux