J'ai lu la documentation de redhat iptables mais je n'arrive pas à comprendre ce que font les lignes suivantes:
... -j REJECT **--reject-with icmp-Host-prohibited**
... -j REJECT **--reject-with icmp-Host-prohibited**
La cible REJECT
rejette le paquet. Si vous ne spécifiez pas le message ICMP à rejeter, le serveur renverra par défaut le port ICMP inaccessible (type 3, code 3).
--reject-with
modifie ce comportement pour renvoyer un message ICMP spécifique à l'hôte source. Vous pouvez trouver des informations sur --reject-with
et les messages de rejet disponibles dans man iptables
:
REJETER
Ceci est utilisé pour renvoyer un paquet d'erreur en réponse au paquet correspondant: sinon c'est équivalent à DROP donc c'est un TARGET de terminaison, mettant fin à la traversée de règle. Cette cible n'est valide que dans les chaînes INPUT, FORWARD et OUTPUT et les chaînes définies par l'utilisateur qui ne sont appelées qu'à partir de ces chaînes. L'option suivante contrôle la nature du paquet d'erreur renvoyé:
--reject-with type
Le type donné peut être:
- icmp-net-inaccessible
- icmp-Host-inaccessible
- icmp-port-inaccessible
- icmp-proto-inaccessible
- icmp-net-prohibé
- icmp-Host-prohibé ou
- icmp-admin-prohibé (*)
qui renvoient le message d'erreur ICMP approprié (le port inaccessible est la valeur par défaut). L'option tcp-reset peut être utilisée sur des règles qui ne correspondent qu'au protocole TCP: cela provoque un TCP paquet RST à renvoyer. Ceci est principalement utile pour bloquer les sondes ident (113/tcp) qui se produisent fréquemment lors de l'envoi de courrier à des hôtes de messagerie cassés (qui n'accepteront pas votre courrier autrement).
(*) L'utilisation d'icmp-admin-prohibé avec des noyaux qui ne le prennent pas en charge entraînera un DROP simple au lieu de REJECT