Interception de proxy avec iptables : les ports 80 et 443 comme un ensemble
Faites correspondre les ports 80 et 443 comme un ensemble, tout en gardant le choix de l'adresse du client distinct de l'extrémité réécrite du proxy.
Pour sélectionner le trafic TCP dont le port de destination vaut 80 ou 443, utilisez un ensemble :
-p tcp -m multiport --dports 80,443À titre de comparaison, --dport 80:443 sélectionne toute la plage de 80 à 443 inclus. Cela attrape beaucoup de ports supplémentaires. La virgule et les deux-points expriment des politiques différentes.
Ce sont des fragments de correspondance, pas des commandes de pare-feu complètes. Ajoutez-les à la chaîne et à l'action qu'exige la conception de l'interception.
| Sélecteur | Ce qu'il identifie avant la réécriture |
|---|---|
-s 192.0.2.20 | L'adresse source du client |
-d 198.51.100.30 | L'adresse du serveur de destination |
--dports 80,443 | Les ports de service de destination |
L'adresse fournie au --to-destination de DNAT est la nouvelle destination, par exemple l'écouteur du proxy. Elle ne remplace pas le sens des correspondances précédentes de source et de destination.
Gardez le sélecteur assez étroit pour décrire les clients et le trafic visés. Tenez compte en particulier des connexions que le proxy lui-même crée, afin que ses requêtes suivantes ne rentrent pas de nouveau dans le même chemin d'interception. Choisir le port 443 ne transforme pas non plus les octets de cette connexion en une requête explicite vers un proxy HTTP ; l'application réceptrice a toujours besoin du mode d'interception adéquat. Pour un transfert transparent de TCP vers un proxy, un traducteur doit récupérer la destination d'origine et négocier le protocole du proxy.