Tutoriales

Cómo usar la llamada de puertos para asegurar el servicio SSH en Linux

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.

archivo de configuración golpeado

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.

ajustes de configuración golpeados
ajustes de configuración golpeados

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
Ajustes de configuración predeterminados para golpeados
Ajustes de configuración predeterminados para golpeados

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.

Interfaz de red activa
Interfaz de red activa

La configuración completa es como se muestra.

valores de configuraciones de golpe
valores de configuraciones de golpe

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
Verificar el estado de la detonación
Verificar el estado de la detonación

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
Verificar el estado de UFW
Verificar el estado de UFW

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
Eliminar reglas de UFW
Eliminar reglas de UFW

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.

Se agotó el tiempo de espera de la conexión SSH
Se agotó el tiempo de espera de la conexión SSH

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.

Secuencia de golpe
Secuencia de golpes

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

Con Knockd.  conectarse al servidor
Con Knockd. conectarse al servidor

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.

Cerrar puertos SSH
Cerrar puertos SSH
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.

Apoyanos

Agradecemos su apoyo sin fin.

.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba