Jak utworzyć zabójstwo VPN za pomocą IPTABLES w Linux
- 1222
- 235
- Pani Janina Cieśla
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
- « Jak zmodyfikować pakiet RPM za pomocą RPMRebuild
- Jak skonfigurować transmisja-Daemon na Raspberry Pi i kontrolować go za pośrednictwem interfejsu internetowego »