
Golpe de puerto es una técnica ingeniosa para controlar el acceso a un puerto al permitir que solo los usuarios legítimos accedan al servicio que se ejecuta en un servidor. La forma en que funciona es que el firewall estará feliz de abrir el puerto bloqueado si los intentos de conexión están en el orden correcto.
La lógica detrás de la llamada de puertos es proteger su sistema Linux de los escáneres de puertos automatizados que buscan puertos abiertos. En esta guía, exploraremos cómo instalar y configurar la activación de puertos para asegurar el servicio SSH. Para fines de demostración utilizamos Ubuntu 18/04.
Paso 1: instalar y configurar Knockd
Primero, inicie sesión en su sistema Linux e instale el golpeado Demon como se muestra en la imagen.
$ sudo apt install knockd
Después de la instalación, abra el knock.conf Configuración con su editor de texto favorito. Aquí estamos usando el editor de texto de línea de comandos vim.
$ sudo vim /etc/knockd.conf
El archivo de configuración predeterminado tiene este aspecto.
Bajo la [openSSH] Sección necesitamos cambiar la secuencia de tapping predeterminada – 7000,8000,9000 – a otra cosa. Esto se debe a que estos valores ya se conocen y pueden comprometer la seguridad de su sistema.
Para propósitos de prueba, hemos establecido los valores en 10005, 10006, 10007. Esta es la secuencia utilizada para abrir el puerto SSH desde un sistema cliente.
En la tercera línea, comenzando con mando, Cambio -A a -I poco después de /sbin/iptables Comando y antes INPUT.
Y finalmente debajo de eso [closeSSH] En la sección, cambie la secuencia predeterminada nuevamente a su opción preferida. Esta es la secuencia utilizada para cerrar la conexión SSH una vez que el usuario finaliza y cierra sesión en el servidor.
Aquí está nuestra configuración completa.

Cuando haya terminado, guarde los cambios y salga del programa.
Otra configuración que debemos cambiar es esta / etc / default / knockd. Ábrelo de nuevo con tu editor de texto.
$ sudo vim /etc/default/knockd

Encuentra la linea START_KNOCKD=0. Descomentarlo y establecer el valor en 1.
A continuación, ve a la línea KNOCKD_OPTS=”-i eth1” Descomentarlo y reemplazar el predeterminado eth1 Valor con la interfaz de red activa de su sistema. Para verificar su interfaz de red, simplemente ejecute el comando ip addr o ifconfig.
Para nuestro sistema, enp0s3 es la tarjeta de red activa.

La configuración completa es como se muestra.

Guarde los cambios y salga del programa.
Luego inicia y activa golpeado Demon como se muestra en la imagen.
$ sudo systemctl start knockd $ sudo systemctl enable knockd
Cómo comprobar el estado de golpeado Daemon, ejecuta el comando:
$ sudo systemctl status knockd

Paso 2: cierre el puerto SSH 22 en el firewall
Dado que el objetivo de la golpeado servicio es permitir o denegar el acceso al servicio SSH, vamos a cerrar el puerto SSH en el firewall. Pero primero verifiquemos el estado del firewall UFW.
$ sudo ufw status numbered

Podemos ver esto claramente en la salida. SSH Puerto 22 está abierto en ambos IPv4 y IPv6 Registros numerados 5 y 9 respectivamente.
Necesitamos eliminar estas dos reglas como se muestra, comenzando con el valor más alto, entonces 9.
$ sudo ufw delete 9 $ sudo ufw delete 5

Ahora, si intenta iniciar sesión en el servidor de forma remota, obtendrá un error de tiempo de espera de conexión como se muestra.

Paso 3: Configure un Knock Client para conectarse al servidor SSH
En el último paso configuramos un cliente e intentamos iniciar sesión enviando primero la secuencia de tapping que configuramos en el servidor.
Pero instale primero golpeado Daemon como en el servidor.
$ sudo apt install knockd
Una vez que se complete la instalación, envíe la secuencia de tapping usando la sintaxis que se muestra
$ knock -v server_ip knock_sequence
En nuestro caso esto significa:
$ knock -v 192.168.2.105 10005 10006 10007
Dependiendo de su secuencia, debería obtener una salida similar a la nuestra. Esto muestra que los intentos de tapping fueron exitosos.

En este punto, debería poder iniciar sesión correctamente en el servidor a través de SSH.

Cuando haya terminado con su trabajo en el servidor remoto, cierre el puerto SSH enviando la secuencia de golpe de cierre.
$ knock -v 192.168.2.105 10007 10006 10005
Todos los intentos de iniciar sesión en el servidor fallan como se muestra.

Pensamientos finales
Con eso concluye esta guía sobre cómo puede usar la llamada de puertos para asegurar el servicio SSH en su servidor. Un enfoque mejor y más simple sería configurar la autenticación SSH de contraseña con pares de claves SSH. Esto asegura que solo el usuario con la clave privada pueda autenticarse con el servidor en el que está almacenada la clave pública.
Si valora lo que hacemos aquí en TecMint, aquí hay algunas cosas a considerar:
TecMint es el sitio comunitario más confiable y de más rápido crecimiento para todo tipo de artículos, guías y libros sobre Linux en Internet. ¡Millones de personas visitan TecMint! para navegar o navegar por los miles de artículos publicados, disponibles para todos de forma GRATUITA.
Si le gusta lo que lee, recuerde comprarnos un café (o 2) como muestra de agradecimiento.

Agradecemos su apoyo sin fin.
.









