La llamada de puerto ocurre cuando el puerto 22, por ejemplo al servicio SSH, está cerrado de forma predeterminada, pero cuando se envían paquetes secuencialmente a otros puertos del servicio knockd, por ejemplo 1234, 1111, 2321, el servicio ve esto y abre el puerto 22 en el firewall para que pueda conectarse.
En palabras simples: cuando, de forma predeterminada, no hay ningún ojo de cerradura en la puerta, pero cuando presiona la puerta en una secuencia determinada, aparece.
Por un lado, parece que es una buena solución, pero sólo al principio. Si lo piensas bien, la solución sigue siendo mala y he aquí por qué:
1. Nuevos puertos y un servicio más
El propio servicio abre puertos para recibir la secuencia, y la presencia de puertos adicionales, de todos modos, sólo añade vulnerabilidades.
2. Posibilidad de interceptación
De forma predeterminada, el servicio knockd funciona sin cifrado y es posible interceptar la secuencia de paquetes enviados.
Hay soluciones modificadas como cryptknock donde se envía una cadena específica y se verifica una coincidencia, pero el paquete en sí no se ha actualizado en 8 años.
3. Script PHP como alternativa
Por ejemplo, si tiene abierto el puerto 443 para su sitio de forma predeterminada, una opción más segura sería un script php, que a su vez permitirá el acceso a ssh y no requiere ningún servicio adicional.
4. Acciones adicionales
Esta característica implica acciones adicionales periódicas y esto provoca fatiga, lo que reduce la comodidad de la interacción y, como resultado, la eficiencia del trabajo.
Como conclusión, utilizar la detonación de puertos es una mala solución.
5. Proxy y VPN
Si hablamos de seguridad y conveniencia, especialmente cuando es necesario implementarlo en varios servidores, entonces el port knoking parece un método completamente improvisado cuando simplemente puedes crear un VPS con una IP estática y permitir el acceso solo desde él. Esta opción es la mejor alternativa, describimos las ventajas de un proxy en el artículo:
Proxy: como servidor de acceso, aumentamos la seguridad de un servidor VPS