Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2019-10-30 14:35:50

  kobcio - Nowy użytkownik

kobcio
Nowy użytkownik
Zarejestrowany: 2019-10-30

Kill Switch vpn

Witam wszystkich
Szukam pomocy w poprawnej konfiguracji która  zapobiegnie wyciekowi ip
Wbudowany w aplikacje nordvpn kilswitch zapobiega przpadkowemu rozłączeniu , ale już nie działa gdy użytkownik rozłączy się z vpn'em lub podczas łączenia się z inną lokalizacją.
Dodatkowo aplikacja nordvpn wyłącza automatycznie ufw i uaktywnia swój firewall wbudowany w apke podczas połączenia.

Chciałbym mieć tak skonfigurowany system żeby można było połączyć sie z internetem tylko i wyłącznie poprzez vpn
A przy próbie połączenia jak jesteśmy rozłączeni z vpn'em żeby ruch internetowy był zablokowany

Czy jest to możliwe i jak to osiągnąć

DEBIAN 10 x64

Ostatnio edytowany przez kobcio (2019-10-30 14:51:35)

Offline

 

#2  2019-10-30 14:42:48

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Kill Switch vpn

Po pierwsze:
Zaprzyjaźnij się z iptables lub nftables zamiast ufw, to bardzo ułatwi zrozumienie istoty problemu.

Po drugie ta appka nordvpon jest chyba spartolona, skro ingeruje w firewall, chociaż powinna zmienić routing default a firewalla nie ruszać.

Rzuć okiem tutaj - opis konfiguracji OpenVPN w Debianie:
https://wiki.debian.org/OpenVPN


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2019-10-30 20:15:06

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Kill Switch vpn

Obecnie trza myśleć za ludzi, dlatego też nie dziwi mnie fakt, że ta appka od vpn manipuluje FW.

Problem w tym, by zadziałał VPN to potrzebne jest zwykłe połączenie sieciowe -- inaczej się nie połączysz z providerem VPN. Można natomiast sobie zrobić taki poniższy filtr reguł:

Kod:

#!/usr/sbin/nft -f

flush ruleset

create table inet filter

create chain inet filter INPUT { type filter hook input priority 0; policy drop; }
create chain inet filter OUTPUT { type filter hook output priority 0; policy drop; }

create chain inet filter state-check

add rule inet filter state-check ct state { established, related } counter accept
add rule inet filter state-check ct state invalid counter drop

add rule inet filter INPUT counter jump state-check
add rule inet filter INPUT iifname "lo" counter accept
add rule inet filter INPUT counter drop

add rule inet filter OUTPUT counter jump state-check
add rule inet filter OUTPUT oifname "lo" counter accept
add rule inet filter OUTPUT meta l4proto icmp counter counter accept
add rule inet filter OUTPUT ip6 nexthdr icmpv6 counter counter accept
add rule inet filter OUTPUT oifname "tun*" counter accept
add rule inet filter OUTPUT tcp dport { 1194 } ip daddr 198.252.153.226 counter accept comment "riseup"
add rule inet filter OUTPUT counter drop

W INPUT w zasadzie cała komunikacja jest zablokowana poza przepuszczaniem pakietów z nawiązanych połączeń + przepuszczony ruch na pętli zwrotnej. W OUTPUT jest dokładnie to samo, z tym że widnieją tam jeszcze regułki od protokołu ICMP (dla łatwiejszego debugowania). Kolejna reguła (ta oifname "tun*") ma za zadanie przepuścić nowe połączenia ale jedynie na interfejs VPN, w tym przypadku tun0. Przedostatnia reguła zaś ma na celu umożliwić nawiązanie połączenia z serwerem VPN -- to połączenie jest nawiązywane przed zestawieniem tunelu VPN i puszczeniem całego ruchu przez niego. Dlatego też określony jest port, protokół i adres ip.

Po załadowaniu tych reguł dobrze jest jeszcze wyczyścić tablicę conntrack'a:

Kod:

# conntrack -F

Przy położonym VPN, komunikacja ze światem nie jest możliwa (działa jedynie ping, jak komuś przeszkadza, może usunąć stosowne reguły). Net pojawia się w momencie podpięcia VPN. Osobno trzeba podejść jeszcze do kwestii adresacji kompa od ISP -- chodzi o protokół DHCP, najlepiej jest skonfigurować sobie adresację statycznie.

Ostatnio edytowany przez morfik (2019-10-30 20:18:21)

Offline

 

#4  2019-10-31 16:13:44

  kobcio - Nowy użytkownik

kobcio
Nowy użytkownik
Zarejestrowany: 2019-10-30

Re: Kill Switch vpn

Dziękuje za wyczerpującą odpowiedź morfik i Jacek

1 @morfik kod działa do chwili restartu, po restarcie sytemu mam comunikat  z aplikacji "Nie udało się pobrać danych Twojego konta. Sprawdż połączenie internetowe" rozwiazaniem jest #nft flush ruleset i wprowadzenie od nowa regół. Ale tak by trzeba by na okrągło.
Pytanie jak sprawdzić pod jaki adres i port próbuje zalogować się apka by sprawdzić dane konta?
# netstat -tn 2>/dev/null pokazuje tylko aktywne połącznia , ale jak sprawdzić historie?

2
Załóżmy że chcialibyśmy zablokować ruch sieciowy dla Firefoxa i LibreOffice
Rozumiem że w tym przypadku to komplikuje sprawę?
3
Czymóglbyś wyjaśnić a wlaściwie napisać jak usunąć ping, prosze ?
4
Znalazłem coś takiego, nie wiem na ile to się różni od twoich regół https://mcol.xyz/2019/05/nftables-as-a-tor-and-vpn-killswitch.html
5 Jak byś mógł pokierować gdzie mam szukać jakiegoś prostego poradnika najlepiej po polsku co oznaczają poszczególne komendy?
6 Czy GUFW czyli iptable moze współistnieć z nftables?
Pozdrawiam

Ostatnio edytowany przez kobcio (2019-11-06 20:19:32)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)