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

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



David BERCOT, lundi 16 juin 2008, 20:47:11 CEST
> 
> Bonjour,

’soir,

> Pour faire certains tests, j'aimerais restreindre tous mes
> flux réseau par un intermédiaire unique, en l'occurrence
> Tinyproxy. Maintenant, si vous avez une autre idée similaire,
> je serais aussi preneur ;-)
> 
> Bref, si je pars d'un ordinateur seul, sous Debian, sur lequel
> j'installe Tinyproxy, logiquement, seules les applications
> prévues pour utiliser un proxy et configurées pour le faire
> devraient passer par lui.
> 
> Savez-vous s'il serait possible de TOUT faire passer par cet
> unique intermédiaire ?

  Ça s’appelle un proxy transparent.
  Il suffit de rediriger tout ce qui doit passer par le 80 vers
le proxy. :

iptables -t nat -A PREROUTING -p tcp --syn --dport www -j REDIRECT --to-port 3128

  Sauf que là, ça ne marchera pas : en général, un proxy
transparent n’est pas sur la machine d’où sont issues les
requêtes. Or les requêtes locales ne passent pas par PREROUTING,
seulement par OUTPUT. Donc :

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

  La seconde règle fait la redirection de tout ce qui sort.
  La première règle permet de faire passer les requêtes qui
viennent des applications lancées par nobody (ce qui était le
cas de tinyproxy), sinon, elles tourneraient en rond (tinyproxy
doit pouvoir sortir, lui). man iptables

-- 
 Sylvain Sauvage


Reply to: