8 formas de proteger las conexiones del servidor SSH en Linux
SSH es un protocolo ampliamente utilizado para el acceso seguro a servidores Linux. La mayoría de los usuarios utilizan una conexión SSH con la configuración predeterminada para conectarse a un servidor remoto. Sin embargo, las configuraciones predeterminadas inseguras también presentan varios riesgos de seguridad.
La cuenta raíz del servidor con acceso SSH abierto puede estar en riesgo. Y especialmente si usa una dirección IP pública, será mucho más fácil piratear la contraseña de root. Por lo tanto, se requiere conocimiento de seguridad SSH.
Así es como puede proteger las conexiones de su servidor SSH en Linux.
1. Deshabilitar el inicio de sesión del usuario raíz
Primero, deshabilite el acceso SSH del usuario raíz y cree un nuevo usuario raíz. Deshabilitar el acceso al servidor para el usuario raíz es una estrategia de defensa que evita que los atacantes logren su objetivo de infiltrarse en el sistema. Por ejemplo, puede crear un usuario con un nombre raíz de ejemplo como esto:
useradd -m exampleroot passwd exampleroot usermod -aG sudo exampleroot
Aquí hay una breve explicación de los comandos anteriores:
- useradd crea un nuevo usuario y - m El parámetro crea un directorio en el directorio de inicio para el usuario que creó.
- La contraseña El comando se utiliza para establecer una contraseña para un nuevo usuario. Recuerde que la contraseña que establezca para un usuario debe ser compleja y difícil de adivinar.
- modusuario -aG sudo agrega el usuario recién creado al grupo de administradores.
Después del proceso de creación del usuario, es necesario realizar algunos cambios en el sshd_config. Puede encontrar este archivo en /etc/ssh/sshd_config. Abra el archivo con cualquier editor de texto y realice los siguientes cambios:
# Authentication: #LoginGraceTime 2m PermitRootLogin no AllowUsers exampleroot
los PermitRootLogin la línea evitará que el usuario raíz acceda a ella de forma remota a través de SSH ejemploroot en Permitir usuarios list otorga los permisos necesarios al usuario.
Finalmente, reinicie el servicio SSH con el siguiente comando:
sudo systemctl restart ssh
Si falla y recibe un mensaje de error, pruebe el siguiente comando. Esto puede variar según la distribución de Linux que esté utilizando.
sudo systemctl restart sshd
2. Cambiar la puerta de enlace predeterminada
El puerto de conexión SSH predeterminado es 22. Por supuesto, todos los atacantes saben esto y, por lo tanto, deben cambiar el número de puerto predeterminado para garantizar la seguridad de SSH. Aunque un atacante puede encontrar fácilmente un nuevo número de puerto escaneando Nmap, el objetivo aquí es hacer que el el trabajo del atacante más difícil.
Para cambiar el número de puerto, abra /etc/ssh/sshd_config y realice los siguientes cambios en el archivo:
Include /etc/ssh/sshd_config.d/*.conf Port 5922
Después de este paso, reinicie el servicio SSH nuevamente con:
sudo systemctl restart ssh.
Ahora puede acceder a su servidor utilizando el puerto que acaba de definir. Si está utilizando un firewall, también debe realizar los cambios de política necesarios allí. Cuando ejecutas el comando netstat-tlpn puede ver que el número de puerto para SSH ha sido cambiado.
3. Bloquee el acceso de usuarios con contraseñas en blanco
Puede haber usuarios sin contraseña en su sistema que haya creado sin darse cuenta. Para evitar que dichos usuarios accedan al servidor, puede configurar El valor de la línea PermitEmptyPasswords en el sshd_config archivo a no.
PermitEmptyPasswords no
4. Limite los intentos de inicio de sesión/acceso
De forma predeterminada, puede acceder al servidor realizando tantos intentos de contraseña como desee. Sin embargo, los piratas informáticos pueden utilizar esta vulnerabilidad para atacar el servidor. Puede desconectarse automáticamente de SSH después de una cierta cantidad de intentos especificando cuántos intentos de contraseña se permiten.
Para hacer esto, cambie MaxAuthTries valor en sshd_config.
MaxAuthTries 3
5. Usa la versión 2 de SSH
La segunda versión de SSH se lanzó debido a muchas vulnerabilidades en la primera versión. De manera predeterminada, puede permitir que el servidor use la segunda copia agregando el parámetro Protocolo a su archivo sshd_config. De esa forma, todas sus conexiones futuras utilizarán la segunda copia de SSH.
Include /etc/ssh/sshd_config.d/*.conf Protocol 2
6. Deshabilite el reenvío de puertos TCP y el reenvío X11.
Los atacantes pueden intentar obtener acceso a sus otros sistemas reenviando puertos a través de conexiones SSH. Para evitar esto, puede deshabilitar PermitirTcpReenvío y Reenvío X11 en sshd_config.
X11Forwarding no AllowTcpForwarding no
7. Conéctate usando una clave SSH
Una de las formas más seguras de conectarse a su servidor es mediante una clave SSH. Usando una clave SSH, puede acceder al servidor sin una contraseña. También puede deshabilitar completamente el acceso con contraseña al servidor cambiando los parámetros relacionados con la contraseña en el archivo sshd_config.
Cuando genera una clave SSH, hay dos claves: pública y privada. La clave pública se carga en el servidor al que desea conectarse y la clave privada se almacena en la computadora a la que se conectará.
Genere una clave SSH usando el comando ssh-keygen en su computadora. no te vayas Clave el campo está vacío y recuerda la contraseña que ingresaste aquí. Si se deja en blanco, solo podrá acceder a él con el archivo de clave SSH. Sin embargo, si establece una contraseña, puede evitar que un atacante con el archivo clave acceda a él. Por ejemplo, puede generar una clave SSH con el siguiente comando:
ssh-keygen
8. Restricciones de IP para conexiones SSH
En la mayoría de los casos, el firewall bloquea el acceso a través de sus propios marcos estándar y tiene como objetivo proteger el servidor, sin embargo, esto no siempre es suficiente y es necesario aumentar este potencial de seguridad.
Para hacer esto, abra el archivo /etc/hosts.permitir. Con las adiciones que realice a este archivo, puede restringir los permisos SSH, permitir un bloque específico de direcciones IP o ingresar una dirección IP y bloquear todas las demás direcciones IP con el comando denegar.
A continuación verá algunos ajustes de ejemplo. Una vez hecho esto, reinicie el servicio SSH como de costumbre para guardar los cambios.
Los datos y los problemas de seguridad de los datos son bastante detallados y deben ser revisados por todos los administradores del servidor. La seguridad del servidor es un tema muy delicado porque el foco principal de los ataques está en los servidores web y contienen casi toda la información sobre un sistema determinado. Dado que la mayoría de los servidores se ejecutan en una infraestructura Linux, es muy importante estar familiarizado con el sistema Linux y la administración del servidor.
La seguridad SSH es solo una forma de proteger su servidor. El daño que recibes puede minimizarse parando, bloqueando o retrasando un ataque. Además de proporcionar seguridad SSH, puede implementar varios métodos para proteger sus servidores Linux.
Deja una respuesta