Re: Forcer un port sur une interface via UFW
Salut, Damien TOURDE a écrit : Savez vous si on peut forcer UFW à n'autoriser les connexions que sur une interface particulière ? Je veux faire passer toutes les connexions (TCP/UDP entrantes sortantes) du port 51413 sur l'interface tun0. Il y a une différence entre forcer ou faire passer sur une interface (routage) et n'autoriser que sur une interface (filtrage). Que veux-tu faire exactement ? tun0 est l'interface crée par OpenVPN lorsque je me connecte, sachant que je ne me connecte au VPN que quand j'en ai besoin. Je précise UFW car c'est ce que j'utilise, mais si on peut le faire avec iptables directement (et que UFW n'a pas de problèmes lorsqu'on ajoute des règles IPTABLES...). Je ne sais pas utiliser ufw. Pour bloquer en TCP avec iptables : iptables -I OUTPUT ! -o tun0 -p tcp --dport 51413 -j DROP iptables -I INPUT ! -i tun0 -p tcp --dport 51413 -j DROP (-I insèrera les règles en début de chaîne, avant celles créées par ufw) -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: https://lists.debian.org/553dea80.5090...@plouf.fr.eu.org
Re: Forcer un port sur une interface via UFW
Damien TOURDE a écrit : Le 27/04/2015 09:51, Pascal Hambourg a écrit : Je veux faire passer toutes les connexions (TCP/UDP entrantes sortantes) du port 51413 sur l'interface tun0. Il y a une différence entre forcer ou faire passer sur une interface (routage) et n'autoriser que sur une interface (filtrage). Que veux-tu faire exactement ? Je veux faire en sorte que si tun0 est présent, on passe par tun0, si le VPN se déconnecte, tun0 disparait, et je veux que dans ce cas, les connexions entrantes et sortantes soient DROP (c'est toujours appelé DENY sous UFW). Si la route par défaut est sur tun0 quand le VPN est actif, alors le filtrage devrait suffire. Je ne sais pas utiliser ufw. Pour bloquer en TCP avec iptables : iptables -I OUTPUT ! -o tun0 -p tcp --dport 51413 -j DROP iptables -I INPUT ! -i tun0 -p tcp --dport 51413 -j DROP (-I insèrera les règles en début de chaîne, avant celles créées par ufw) Note : pour UDP, il faut savoir si le port 51413 est le port source ou destination, dans les paquets UDP émis et reçus. j'imagine que le ! avant -i et -o signifie /n'est pas/ ? Oui, cela inverse le critère qui suit. Cf. man iptables. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: https://lists.debian.org/553dff53.3090...@plouf.fr.eu.org
Re: Forcer un port sur une interface via UFW
On Mon, Apr 27, 2015 at 11:08:26AM CEST, Damien TOURDE dam...@tourde.org said: Bonjour, Le 27/04/2015 09:51, Pascal Hambourg a écrit : Je veux faire passer toutes les connexions (TCP/UDP entrantes sortantes) du port 51413 sur l'interface tun0. Il y a une différence entre forcer ou faire passer sur une interface (routage) et n'autoriser que sur une interface (filtrage). Que veux-tu faire exactement ? Je veux faire en sorte que si tun0 est présent, on passe par tun0, si le VPN se déconnecte, tun0 disparait, et je veux que dans ce cas, les connexions entrantes et sortantes soient DROP (c'est toujours appelé DENY sous UFW). Je ne connais pas UFW (j'utilise fwbuilder pour générer mes règles iptables), mais à ta place je mettrais une règle qui droppe (ou rejette) ces paquets sur les interfaces physiques, suivi d'une règle qui autorise. en iptables ça utiliserait -i interface ou -o interface selon que tu considère l'interface d'entrée ou de sortie. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: https://lists.debian.org/20150427093309.gk4...@rail.eu.org
Re: Forcer un port sur une interface via UFW
Bonjour, Le 27/04/2015 09:51, Pascal Hambourg a écrit : Je veux faire passer toutes les connexions (TCP/UDP entrantes sortantes) du port 51413 sur l'interface tun0. Il y a une différence entre forcer ou faire passer sur une interface (routage) et n'autoriser que sur une interface (filtrage). Que veux-tu faire exactement ? Je veux faire en sorte que si tun0 est présent, on passe par tun0, si le VPN se déconnecte, tun0 disparait, et je veux que dans ce cas, les connexions entrantes et sortantes soient DROP (c'est toujours appelé DENY sous UFW). tun0 est l'interface crée par OpenVPN lorsque je me connecte, sachant que je ne me connecte au VPN que quand j'en ai besoin. Je précise UFW car c'est ce que j'utilise, mais si on peut le faire avec iptables directement (et que UFW n'a pas de problèmes lorsqu'on ajoute des règles IPTABLES...). Je ne sais pas utiliser ufw. Pour bloquer en TCP avec iptables : iptables -I OUTPUT ! -o tun0 -p tcp --dport 51413 -j DROP iptables -I INPUT ! -i tun0 -p tcp --dport 51413 -j DROP (-I insèrera les règles en début de chaîne, avant celles créées par ufw) Merci pour ces règles, je vais les tester, j'imagine que le ! avant -i et -o signifie /n'est pas/ ? -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: https://lists.debian.org/553dfc8a.90...@tourde.org
Re: Forcer un port sur une interface via UFW
Le 27/04/2015 11:20, Pascal Hambourg a écrit : Si la route par défaut est sur tun0 quand le VPN est actif, alors le filtrage devrait suffire. Lors d'une déconnexion VPN accidentelle (par ex. la connexion se coupe), l'interface tun0 est supprimée et tout le transfert repasse par wlan0 dans mon cas. En gros, je veux que les transferts via Transmission s'arrêtent dans ce cas, je vais jeter un coup d’œil à iptables et les règles que tu m'as données, ça fait un moment (5 ans) que j'ai pas utilisé iptables directement, c'est pour ça que j'ai d'abord demandé avec UFW. Note : pour UDP, il faut savoir si le port 51413 est le port source ou destination, dans les paquets UDP émis et reçus. Je ne sais pas trop comment fonctionne Transmission, il faut que je me documente, quand je fais un netstat j'ai : root@MBP-Debian-Damien:~# netstat -lnp | grep transmiss tcp0 0 0.0.0.0:51413 0.0.0.0:* LISTEN 6339/transmission-g tcp6 0 0 :::51413:::* LISTEN 6339/transmission-g udp0 0 0.0.0.0:46821 0.0.0.0:* 6339/transmission-g udp0 0 0.0.0.0:51413 0.0.0.0:* 6339/transmission-g L'idéal serait de pouvoir dire que tout ce qui sort ou entre pour l'application transmission-gtk doit passer par tun0, mais je ne suis pas sur que ce soit possible. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: https://lists.debian.org/553e597e.2020...@tourde.org
Re: Forcer un port sur une interface via UFW
Damien TOURDE a écrit : Le 27/04/2015 11:20, Pascal Hambourg a écrit : Si la route par défaut est sur tun0 quand le VPN est actif, alors le filtrage devrait suffire. Lors d'une déconnexion VPN accidentelle (par ex. la connexion se coupe), l'interface tun0 est supprimée et tout le transfert repasse par wlan0 dans mon cas. Avec un filtrage approprié ça ne passera plus. Note : pour UDP, il faut savoir si le port 51413 est le port source ou destination, dans les paquets UDP émis et reçus. Je ne sais pas trop comment fonctionne Transmission, il faut que je me documente, quand je fais un netstat j'ai : Parfois une capture de paquets bien ciblée en apprend autant et plus rapidement qu'une longue lecture. root@MBP-Debian-Damien:~# netstat -lnp | grep transmiss tcp00 0.0.0.0:514130.0.0.0:* LISTEN 6339/transmission-g tcp6 00 :::51413 :::* LISTEN 6339/transmission-g udp00 0.0.0.0:468210.0.0.0:* 6339/transmission-g udp00 0.0.0.0:514130.0.0.0:* 6339/transmission-g On voit une socket UDP sur le port local 46821 que tu n'avais pas mentionné. S'il change à chaque fois que transmission est relancé, c'est un port aléatoire qui ne sert probablement que de port source pour envoyer des paquets UDP vers le port 51413 de machines distantes. Dans ce cas je pense qu'il devrait être suffisant de bloquer le port 51413 en source ou destination dans les paquets UDP émis ou reçus. iptables -I OUTPUT ! -o tun0 -p udp --dport 51413 -j DROP iptables -I OUTPUT ! -o tun0 -p udp --sport 51413 -j DROP iptables -I INPUT ! -i tun0 -p udp --dport 51413 -j DROP iptables -I INPUT ! -i tun0 -p udp --sport 51413 -j DROP L'idéal serait de pouvoir dire que tout ce qui sort ou entre pour l'application transmission-gtk doit passer par tun0, mais je ne suis pas sur que ce soit possible. Un filtre de paquets comme iptables n'est pas vraiment conçu pour cela. Si le processus tourne avec un UID ou un GID spécifique, la correspondance owner permet d'identifier les paquets émis localement avec cet UID ou GID, mais pas les paquets reçus. -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/fr/FrenchLists Pour vous DESABONNER, envoyez un message avec comme objet unsubscribe vers debian-user-french-requ...@lists.debian.org En cas de soucis, contactez EN ANGLAIS listmas...@lists.debian.org Archive: https://lists.debian.org/553e7809.2070...@plouf.fr.eu.org