La cible TTL modifie le champ Durée de Vie (Time To Live) dans l'en-tête IP. Une application très utile de ceci est de pouvoir changer toutes les valeurs de durée de vie en une valeur identique pour tous les paquets sortants. Une raison de faire ceci peut être que, vous avez un fournisseur d'accès un peu rigide qui ne vous permet pas d'avoir plus d'une machine connectée à la même connexion Internet. En mettant toutes les valeurs TTL à la même valeur, il sera plus difficile pour lui de voir ce que vous faites. Nous pouvons alors réinitialiser la valeur TTL de tous les paquets sortants à une valeur standard, comme 64 ainsi que spécifié dans le noyau Linux.
Pour plus d'information pour savoir comment placer la valeur par défaut utilisée dans Linux, lisez le ip-sysctl.txt, que vous pouvez trouver dans l'annexe Annexe E, Autres ressources et liens.
La cible TTL n'est valide que dans la table mangle, et nulle part ailleurs. Elle prend trois options, décrites ci-dessous.
Tableau 11.20. Options de la cible TTL
Option | --ttl-set |
Exemple | iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-set 64 |
Explication | L'option --ttl-set indique à la cible TTL quelle valeur placer sur le paquet en question. Une bonne valeur serait aux alentours de 64. Ce n'est ni trop long ni trop court. Ne placez pas cette valeur trop haut, car elle peut affecter votre réseau. Cette cible peut être utilisée pour limiter la distance de vos clients. Un bon exemple de ceci peut être les serveurs DNS, pour lesquels nous ne voulons pas que les clients soient trop éloignés. |
Option | --ttl-dec |
Exemple | iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-dec 1 |
Explication | L'option --ttl-dec indique à la cible TTL de décrémenter la valeur TTL d'un montant précis après le --ttl-dec. En d'autres termes, si le TTL d'un paquet entrant était de 53 et que nous avons ajouté --ttl-dec 4, le paquet quittera l'hôte avec une valeur de 49. La raison en est que le code réseau décrémentera automatiquement la valeur TTL par 1, donc le paquet sera décrémenté en 4 étapes, de 53 à 49. Ceci peut être utilisé quand nous voulons limiter l'éloignement de clients utilisant nos services. Exemple, les hôtes utilisent toujours un DNS proche, et donc nous pouvons sélectionner tous les paquets quittant notre serveur DNS et réduire la distance en plusieurs étapes. Bien sûr, le --set-ttl peut être une meilleure idée pour cet usage. |
Option | --ttl-inc |
Exemple | iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-inc 1 |
Explication | L'option --ttl-inc indique à la cible
TTL d'incrémenter la
valeur Time To Live d'une valeur
spécifiée avec --ttl-inc. Ceci indique que nous
voulons augmenter le TTL avec une valeur spécifiée dans l'option
--ttl-inc, et que si
nous spécifions --ttl-inc
4, un paquet entrant avec un TTL de 52 quittera
l'hôte avec un TTL de 56. Notez que la même chose dans l'exemple
--ttl-dec s'applique
ici, dans lequel le code réseau décrémentait automatiquement la
valeur TTL par 1, ce qui est toujours le cas. Ceci peut être
utilisé pour rendre notre pare-feu un peu plus furtif pour les
traceroutes parmi d'autres choses. En mettant le TTL à une valeur
plus haute pour tous les paquets entrants, nous rendons
effectivement le pare-feu plus dissimulé pour les traceroutes. Les
traceroutes sont des choses adorables et détestables, car elles
fournissent d'excellentes informations sur les problèmes de
connexion et indiquent à quel endroit ils se produisent, mais en
même temps ils fournissent au hacker/cracker des informations dans
le sens montant s'il nous a pris pour cible. Pour un bon exemple de
son utilisation, voir le script Ttl-inc.txt. |
Note | |
---|---|
Fonctionne avec les noyaux Linux 2.3, 2.4, 2.5 et 2.6. |