Aunque todavía no lo he implementado, conozco a muchas personas que lo han implementado. Cada uno de ellos ha notado una reducción significativa en la cantidad de ancho de banda consumido por cosas como los ataques de fuerza bruta SSH como resultado.
Sin embargo, eso no quiere decir que no haya inconvenientes. AFAIK, no hay implementaciones de eliminación de puertos basadas en el kernel disponibles, lo que para mí sería la verdadera clave para la adopción. Los demonios de detonación de puertos se basan en la lectura de entradas de archivos de registros fallidos (filtrados / prohibidos) de un sistema de firewall. Todo eso está bien y elegante, pero ¿qué sucede si el sistema de archivos se llena? ¿Qué sucede cuando el demonio muere debido a algún proceso fuera de control que se comió la memoria RAM y el intercambio del sistema? ¿Qué sucede si algo más de lo que cualquiera de estas dos cosas depende solo de arriba y deja de trabajar? Es muy probable que termines con un servidor al que tendrás que acceder físicamente. Eso podría terminar siendo más costoso de lo que es razonable, especialmente si está a más de unas pocas decenas de kilómetros de distancia del servidor y no tiene a nadie a quien pueda llamar para llegar rápidamente.
Una cosa que puedo decir es que no es "seguridad a través de la oscuridad". La detonación de puertos es una forma de autenticación, y como cualquier sistema de autenticación, puede ser tan simple o complejo como se desee. Se puede hacer algo tan simple como "knock on port 10,000 + realPortNumber", lo que equivaldría a una ruptura trivial, o el mismo knockping del puerto podría usarse para transmitir alguna forma de autenticación real (por ejemplo, 1 bloque de datos codificados AES dado un Clave derivada por algún otro método). Sin embargo, no sería factible utilizar la función de detonación de puertos para transmitir grandes cantidades de datos, ya que tomaría mucho más tiempo que solo enviar un único paquete, y si el paquete está sobre TCP, se puede saber si se recibió con éxito. o encontré alguna forma de error.
Sin embargo, una pregunta interesante que se plantea es cómo administrar los archivos de registro: las implementaciones de los usuarios en su mayoría requieren los archivos de registro para determinar si se ha enviado o no una detonación, y qué sucede si esos registros se filtran? Los datos de autenticación se conocen, y eso obviamente no es algo muy bueno.
No puedo decirte si usar o no el puerto en tu configuración. Todavía no lo estoy, y no estoy 100% seguro de que alguna vez lo esté. Para mí, tiene más sentido utilizar sistemas de autenticación sólidos basados en criptografía sólida (como una infraestructura PKI) que hacer que los puertos no funcionen. Además, agregar de todos modos un punto único de falla para acceder a la infraestructura crítica, me parece una mala idea y es mucho más difícil de respaldar adecuadamente con cualquier tipo de garantía. Sin embargo, una vez más, esto se basa en la noción de que el software de eliminación de puertos no está integrado con el cortafuegos en el nivel del kernel del sistema operativo; si eso cambia alguna vez, también puedo cambiar lo que siento al usarlo.