RECHAZAR es mejor para otras personas: si la conexión es el resultado de un error honesto (un error de configuración), quien haya intentado iniciar una conexión recibe la respuesta aprobada por los estándares que nadie está escuchando en ese puerto. Con DROP, no se devuelve nada, por lo que quien esté intentando conectarse esperará hasta que se aburra.
Si bien REJECT parece mejor para la resolución de problemas, se puede hacer un caso acerca de cómo DROP es realmente mejor para rastrear errores. De hecho, imagine un sistema cliente que pueda conectarse a varios servidores, hasta que se encuentre uno que responda con éxito (de manera similar a los servidores DNS). Si el primer servidor de la lista está mal configurado, pero se usa un RECHAZO, entonces los usuarios humanos no notarán nada: cada intento intentará ese servidor y se responderá rápidamente con un paquete de error, y el sistema cliente se conectará inmediatamente al segundo servidor . Tal situación puede estar en vigor durante mucho tiempo, ya que el usuario humano no ve nada malo. Por otro lado, con una política DROP, la configuración errónea aparece como un retraso de tiempo de espera para cada solicitud, lo que inducirá al usuario humano a investigar.
De hecho, en mi trabajo diario, donde debo investigar regularmente estos problemas (*), el retraso proveniente de una mala configuración de DNS en algún lugar es a menudo una herramienta invaluable para identificar el problema.
Para una PC personal , un punto técnico adicional es asimetría . Es decir, una PC doméstica con un poco de acceso a Internet generalmente obtendrá mucho más ancho de banda de descarga que carga (que la 'A' en ADSL ). Cuando alguien envía a su PC un intento de conexión (un TCP SYN), esto utiliza una pequeña fracción de su ancho de banda de descarga. Sin embargo, si su PC responde con un rechazo (un TCP RST), esta respuesta usará un poco de su ancho de banda de subir . Esto abre la posibilidad de un denegación de servicio fácil: si tiene 10 Mbs de descarga y 1 Mbs suba el ancho de banda, y usa el "buen" RECHAZO, entonces el atacante solo necesita enviarlo por alrededor de 1 Mbs de paquetes SYN para saturar su red, ya sea que necesite enviar diez veces más si usted se GOTA.
En ese sentido, DROP es probablemente mejor que RECHAZO en general, al menos para una PC doméstica. O, quizás incluso mejor, una política de limitación de velocidad que se comporta como RECHAZAR hasta cierto umbral y DROP posteriormente (por ejemplo, no más de 10 paquetes RST enviados por segundo); No sé si iptables se puede configurar fácilmente para hacer eso.
(*) Nominalmente se supone que debo ayudar a diseñar algunos sistemas relacionados con PKI, pero en la práctica dedico mucho tiempo haciendo esto .