En utilisant le pare-feu simple ufw
, je peux définir des ports/services à rejeter et à refuser.
Par exemple:
ufw deny www
ufw reject www
Quelqu'un peut-il m'expliquer la différence entre les deux approches?
"deny" utilise la cible DROP iptables , qui rejette silencieusement les paquets entrants.
"rejette" utilise la cible REJECT iptables, qui renvoie un paquet d'erreur à l'expéditeur du paquet rejeté.
À partir de la page de manuel ufw :
Parfois, il est souhaitable d'informer l'expéditeur lorsque le trafic est refusé, plutôt que de simplement l'ignorer. Dans ces cas, utilisez rejeter au lieu de refuser.
Du point de vue de l'utilisateur/programme qui essaie de se connecter à votre serveur:
"deny" gardera le programme en attente jusqu'à ce que la tentative de connexion expire, peu de temps après.
"Rejeter" produira un message immédiat et très informatif "Connexion refusée".
ÉDITER:
Du point de vue de la sécurité, "refuser" est légèrement préférable. Il forcera chaque connexion d'un attaquant potentiel à expirer, ralentissant ainsi le sondage de votre serveur.
Les attaquants expérimentés et/ou déterminés ne seront pas vraiment affectés - ils sont généralement patients et il existe plusieurs façons de faire face au ralentissement, de toute façon. Cela pourrait décourager les aspirants occasionnels qui n'ont même pas pris la peine de lire la page de manuel nmap
.
"deny" permettra également d'économiser un peu de bande passante sur la liaison montante en n'envoyant pas le paquet d'erreur. Cela peut être important sur les connexions réseau asymétriques où une attaque DoS pourrait simplement saturer la liaison montante - généralement plus étroite - de paquets d'erreur.
D'un autre côté, il est un peu plus poli de faire savoir aux gens que vous rejetez leurs connexions. Une connexion refusée permet aux gens de savoir qu'il s'agit très probablement d'une décision politique permanente, plutôt que par ex. un problème de réseautage à court terme.