web-dev-qa-db-fra.com

Bloquer Internet si la connexion VPN est interrompue

En essayant de configurer gufw pour que, si ma connexion VPN tombe, mon ordinateur ne puisse plus accéder à Internet.

Mon plan était de bloquer toutes les communications sortantes, mais d'autoriser uniquement une connexion à l'adresse IP de mon serveur VPN, mais je constate que lorsque le pare-feu est mis en œuvre, je ne peux pas charger de sites, même si le VPN est connecté.

Gufw settings

Ci-dessus, les paramètres que je suis en train d’essayer (une adresse IP partiellement cachée est mon serveur VPN), que fais-je de travers?

6
jl354

Essayez quelque chose comme ça

Vous souhaitez modifier les règles ufw en fonction du statut de interface.

Un bon endroit pour ce genre d’action est dans /etc/network/if-down.d/ et /etc/network/if-up.d/

Vous pouvez dans ce dossier mettre un script et effectuer une action. Par exemple, placez ce script dans /etc/network/if-down.d/ pour modifier les règles ufw à chaque fois que tun0 disparaît.

Créez un script appelé script avec des autorisations d'exécution 755

Sudo nano /etc/network/if-down.d/script

Le script est

# Check interface
[ "$IFACE" != "tun0" ] || exit 0
# Do something
Sudo ufw default deny outgoing
Sudo ufw allow out to xxx.xxx.xxx.xxx

Changer la permision du script

chmod 755 /etc/network/if-down.d/script

Dans scriptxxx.xxx.xxx.xxx représente l'adresse IP de votre serveur vpn

Lorsque vpn vous reconnectez, vous devez à nouveau modifier les règles ufw. Faire un autre script aka script2

Sudo nano /etc/network/if-up.d/script2

Le script est quelque chose comme ça

# Check interface
[ "$IFACE" != "tun0" ] || exit 0
# Do something
Sudo ufw default allow outgoing
#also you can add more ufw rules ...
Sudo ufw ....

Changer la permision du script

chmod 755 /etc/network/if-up.d/script2

Le premier script permettra, si tun0 _ descendre, de refuser la police sortante par défaut, mais autorisera l'accès au serveur vpn. Le second script changera la police sortante par défaut en allow

1
2707974

Vous pouvez le faire simplement en utilisant l'interface graphique d'ufw:

  • Configurez ufw pour refuser globalement le trafic sortant (comme vous l'avez fait)
  • Ajoutez les deux règles suivantes, étant donné que eth0 est votre interface publique, tun0 est l'interface créée par le VPN et xxx.xxx.68.138 est votre IP VPN:
    1. Autoriser la connexion à l'IP VPN via l'interface publique: ajoutez une règle avec Policy=Allow, Direction=Out, Interface=eth0 et To=xxx.xxx.68.138
    2. Tout autoriser via l'interface VPN: ajoutez une règle avec Policy=Allow, Direction=Out, Interface=tun0 et To=0.0.0.0/0

C'est tout!

Vous l'avez presque fait, vous avez simplement oublié d'autoriser le trafic sortant via le VPN, car un refus global du trafic sortant s'applique à toutes les interfaces, y compris celle créée par le VPN.

À propos, je vous suggère de refuser globalement le trafic entrant, ceci empêchera une personne diabolique ou un bot fonctionnant sur votre réseau de pirater votre ordinateur en exploitant un bogue ou une mauvaise configuration d'un service réseau en cours d'exécution (par défaut, Ubuntu exécute des modifications services de réseau en écoute sur toutes les interfaces, pas seulement locale).

1
Stanimal