Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment restreindre les flux réseau via un proxy ?

11 réponses
Avatar
David BERCOT
Bonjour,

Pour faire certains tests, j'aimerais restreindre tous mes flux r=C3=A9seau
par un interm=C3=A9diaire unique, en l'occurrence Tinyproxy. Maintenant, si
vous avez une autre id=C3=A9e 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=C3=A9vues pour
utiliser un proxy et configur=C3=A9es pour le faire devraient passer par lu=
i.

Savez-vous s'il serait possible de TOUT faire passer par cet unique
interm=C3=A9diaire ?

Merci d'avance.

David.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

10 réponses

1 2
Avatar
Nicolas Salles
--nextPart5282764.Mct6xffJ8C
Content-Type: text/plain;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Le lundi 16 juin 2008, David BERCOT a écrit :
Bonjour,

Pour faire certains tests, j'aimerais restreindre tous mes flux rése au
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 p our
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 ?



Si tu mets en place un VPN (i.e openvpn), il te suffit alors de faire route r
ton traffic réseau via le serveur VPN qui sera ton point de sortie.

--
Nicolas S. aka moSaN

--nextPart5282764.Mct6xffJ8C
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD4DBQBIVrpFW8l1zlkz8uURAjdQAJYvw5riekzWOdYrNMuAIbTGkhEYAJ4+iHOC
oFB6EnDWYQhGgZyBHrfAsA= =CKIf
-----END PGP SIGNATURE-----

--nextPart5282764.Mct6xffJ8C--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
mouss
David BERCOT wrote:
Bonjour,

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 ?




"c'est quoi TOUT"? il sait faire du dns, du ssh, du rtsp, du p2p, ... ?
si c'est le cas, je me demande pourquoi certains s'emmerdent à coder un
stack IP si un petit proxy peut tout faire :)

plus sérieusement, tu dois configurer ton firewall (iptables si t'es en
coupure...) pour refuser ce qui n'est pas autorisé. mais bon, c'est pas
toujours simple...

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
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-por t 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

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
David BERCOT
Merci. J'étudie ça... à tête reposée ;-)

David.

Le Mon, 16 Jun 2008 21:44:11 +0200,
Sylvain Sauvage a écrit :
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 issue s 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



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Franck Joncourt
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sylvain Sauvage wrote:
David BERCOT, lundi 16 juin 2008, 20:47:11 CEST



’soir,



Bonsoir,

[...]

Ç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



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

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



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

vu que le ACCEPT, je pense, à plus sa place dans la table filter.

- --
Franck Joncourt
http://debian.org - http://smhteam.info/wiki/
Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkhW0SsACgkQxJBTTnXAif4TlQCcDjZdlMnRcih3XbeHcZ3U07Tw
IfEAn1arrXlaT0pKsql8kqIeGGp9pIQG
=mpz6
-----END PGP SIGNATURE-----

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
Franck Joncourt, lundi 16 juin 2008, 22:46:35 CEST
[…]
> iptables -t nat -A PREROUTING -p tcp --syn --dport www -j
> REDIRECT --to-port 3128

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



Oui, ça doit être un méchant bout de copier-coller.

[…]
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

vu que le ACCEPT, je pense, à plus sa place dans la table
filter.



Mmm, donc le « - » servirait à inverser la condi tion ?
Ce n’est pas dans ma page de man. D’habitude c’es t « ! » pour
la négation et elle n’est pas indiquée pour owner.
En tout cas, si c’est ça, je trouve le « -  » facilement
ratable. Sinon, je ne vois pas trop…

--
Sylvain Sauvage

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Franck Joncourt
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sylvain Sauvage wrote:
Franck Joncourt, lundi 16 juin 2008, 22:46:35 CEST


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

vu que le ACCEPT, je pense, à plus sa place dans la table
filter.



Mmm, donc le « - » servirait à inverser la condition ?
Ce n’est pas dans ma page de man. D’habitude c’est « ! » pour
la négation et elle n’est pas indiquée pour owner.
En tout cas, si c’est ça, je trouve le « - » facilement
ratable. Sinon, je ne vois pas trop…



C'est toi qui l'a rajouté ? On dirait une coupure de ligne :p!

[code]
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
[/code]

Oups. Je ne sais pas pourquoi j'ai imaginé que l'on continuait après le
ACCEPT.

Ca sent le manque de pratique, va falloir s'y remettre sérieusement :)

- --
Franck Joncourt
http://debian.org - http://smhteam.info/wiki/
Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkhW7o4ACgkQxJBTTnXAif79lwCeNkheG5xyDSU3q0KVlupi7MYR
4SQAoKiflgfu4tfnQXm9mLEiHZ27Psmp
eo
-----END PGP SIGNATURE-----

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
Franck Joncourt, mardi 17 juin 2008, 00:51:58 CEST
[...]
> Mmm, donc le « - » servirait à inverser la condition ?
> Ce n’est pas dans ma page de man. D’habitude c†™est « ! »
> pour la négation et elle n’est pas indiquée pour owne r.
> En tout cas, si c’est ça, je trouve le « - » f acilement
> ratable. Sinon, je ne vois pas trop…

C'est toi qui l'a rajouté ? On dirait une coupure de ligne :p!



Non, non, c’est ta faute, la preuve en archive :
http://lists.debian.org/debian-user-french/2008/06/msg00390.html
Il n’est pas dans mon texte, juste dans le tien.
Peut-être un ou deux ^H oubliés quand tu as fondu les deux
règles…

[code]
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 [/code]

Oups. Je ne sais pas pourquoi j'ai imaginé que l'on continuait
après le ACCEPT.

Ca sent le manque de pratique, va falloir s'y remettre
sérieusement :)



Ou alors trop d’autres pratiques (et glou et glou…) ;oP

--
Sylvain Sauvage

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
David BERCOT
Bonjour,

J'essaye de suivre vos conseils, mais, pour l'instant, j'ai un peu de
mal ;-)
Sans rentrer dans les détails, je souhaiterais faire passer une client
MSN par un proxy. Sachant que ce client ne sait pas le faire tout seul,
si j'ai bien suivi vos explications, il faudrait que je fasse du
proxy transparent.

Alors, pour commencer, il y a une première connexion sur le port 1863.
Si le port de mon proxy est 8888, je devrais écrire une règle du genre :

<REGLE>
iptables -t nat -A PREROUTING -p tcp --dport 1863 -j REDIRECT
--to-ports 8888
</REGLE>

Ca vous semble convenable ? Je pose la question car ça n'a pas trop
l'air de fonctionner ;-)

Merci d'avance.

David.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Pascal Hambourg
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.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
1 2