Cible TTL

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 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 20. Options de la cible TTL

Option--ttl-set
Exempleiptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-set 64
ExplicationL'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
Exempleiptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-dec 1
ExplicationL'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
Exempleiptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-inc 1
ExplicationL'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.