Que font les trois règles?
Ces 3 règles semblent assez explicites:
- Rejeter les paquets UDP entrants avec un message ICMP "port inaccessible"
- Rejeter les paquets TCP entrants avec "tcp reset"
- Rejeter les paquets entrants (de tout autre protocole) avec le message ICMP "protocole inaccessible"
Si vous recherchez plus de détails (sur les paquets UDP / TCP, ICMP), vous devez vous plonger dans les documents de réseau, et peut-être man iptables
aussi.
Est-ce que cela fait une différence quand je mets là DROP en place REJECT --reject-with? Si oui, quelqu'un pourrait-il m'expliquer la différence, je l'apprécierai vraiment.
Cela fait une différence. Et contrairement à la croyance populaire, DROP
ne donne pas une meilleure sécurité que REJECT
. Cela dérange les utilisateurs légitimes, et en réalité, il ne protège pas des utilisateurs malveillants. Cet article explique le raisonnement en détail:
http://www.chiark.greenend.org.uk/~peterb/network/drop-vs-reject
Une raison commune d'utiliser DROP plutôt que REJECT est d'éviter de divulguer des informations sur les ports ouverts. Cependant, le fait de supprimer des paquets indique exactement autant d'informations que le rejet.
Avec REJECT, vous effectuez votre analyse et catégorisez les résultats en "connexion établie" et "connexion rejetée".
Avec DROP, vous catégorisez les résultats en "connexion établie" et "connexion expirée".
Le scanner le plus trivial utilisera l'appel "connect" du système d'exploitation et attendra qu'une tentative de connexion soit terminée avant de commencer la suivante. Ce type de scanner sera considérablement ralenti par le rejet de paquets. Toutefois, si l'attaque fixe un délai d'expiration de 5 secondes par tentative de connexion, il est possible d'analyser chaque port réservé (1..1023) sur une machine en à peine 1,5 heure. Les analyses sont toujours automatisées, et un attaquant ne se soucie pas de savoir que le résultat n'est pas immédiat.
Un scanner plus sophistiqué enverra les paquets lui-même plutôt que de compter sur la mise en œuvre TCP du système d'exploitation. De tels scanners sont rapides, efficaces et indifférents au choix de REJECT ou DROP.
CONCLUSION
DROP n'offre aucune barrière efficace aux forces hostiles, mais peut considérablement ralentir les applications exécutées par des utilisateurs légitimes. DROP ne devrait normalement pas être utilisé.