[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Comment restreindre les flux réseau via un proxy ?



Salut,

Franck Joncourt a écrit :

Tu peux omettre --syn vu que la table nat ne vois passer que les paquets
créant __les nouvelles connexions__.

Les chaînes de la table nat ne voient passer que les paquets créant une nouvelle "connexion", mais au sens du suivi de connexion de Netfilter (conntrack), qui n'a pas les mêmes critères que la pile TCP/IP. Selon la version du noyau et la valeur de certains paramètres du noyau, un paquet TCP non SYN peut très bien créer une nouvelle "connexion" au sens du suivi de connexion de Netfilter. En gros avec :
- un noyau antérieur à 2.6.9 (sans suivi des numéros de séquence TCP)
- ou avec /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_be_liberal=1
- ou avec /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal=1
n'importe quel segment TCP peut créer une nouvelle "connexion".

iptables -t nat -A OUTPUT -p tcp --dport www -m owner --uid-owner nobody -j ACCEPT
iptables -t nat -A OUTPUT -p tcp --dport www -j REDIRECT --to-port 8080

Et la je pencherais pour le tout dans la même règle.

iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner --uid-owner nobody
- -j REDIRECT --to-port 8080

Il ne manquerait pas un "!" quelque part pour inverser la condition owner ?

Une petite observation sur l'utilisation transparente d'un proxy : cela ne fonctionne évidemment que pour les protocoles applicatifs que le proxy comprend. Je crains qu'un proxy HTTP comme tinyproxy ne comprenne que HTTP, en aucun cas le protocole MSN Messenger. Par contre un client MSN Messenger peut être configuré pour utiliser explicitement un proxy HTTP.


Reply to: