El mejor enfoque para restringir la sesión ssh remota

5

Usando los siguientes archivos, he intentado restringir el inicio de sesión remoto de SSH. Debido a la falta de conocimiento en el entorno de Linux, no conozco los inconvenientes y las vulnerabilidades de las siguientes maneras. Así que quiero saber los trabajos internos entre estos archivos y el proceso.

Expertos, por favor compartan su experiencia conmigo.

SSHD_CONFIG    Encontré este archivo ssh_config en la carpeta / etc / ssh /. Si he añadido la siguiente línea. Podría restringir el acceso remoto del usuario root y permitirle al usuario al que quiero acceder con la sesión máxima que deseaba.

vim /etc/ssh/ssh_config    
PermitRootLogin no
AllowUsers jack joe
MaxSessions 5

HostDeny File

Simplemente agregue la IP del usuario en el siguiente archivo.

vim /etc/hosts.deny

192.168.5.*

Carpeta PAM: En la carpeta PAM, agregué al usuario que no tiene permiso de autenticación para acceder al ssh remoto.

vi /etc/pam.d/ssh

auth required pam_listfile.so item=user sense=deny file=/etc/sshd/sshd.deny onerr=succeed

vi /etc/sshd/sshd.deny
    
pregunta ArunRaj 19.03.2014 - 08:22
fuente

3 respuestas

6
PermitRootLogin no
AllowUsers jack joe
MaxSessions 5

Las primeras 2 líneas de esa configuración me parecen bien. El tercero no es tan necesario como si alguien irrumpiera en tu sistema, es suficiente tener 1 shell para hacer todo el mal.

En este contexto, estás permitiendo que solo dos usuarios se conecten, lo que significa que esos usuarios tendrán que usar una contraseña lo suficientemente segura para no ingresar (al menos no fácilmente).

Hay algunas cosas más que puedes hacer:

  • Si está utilizando un rango restringido de IP desde las que se conecta a su máquina, restrinja el puerto 22 solo a estos rangos. Soltar / rechazar el resto.

  • Si no, puede usar GeoIP con iptables para rechace todos los países de los que no espera conexiones (o dicho de otra manera, solo permita los que espera).

  • Hay otras herramientas que pueden ayudarte: Fail2Ban es una de ellas. Esto hará que después de X intentos configurables con una contraseña incorrecta en su sistema, la dirección IP sea prohibida por iptables por un período de tiempo (también configurable).

  • Hay cientos de herramientas similares, pero este sería un enfoque lo suficientemente bueno como para tener una configuración básicamente consistente.

respondido por el nKn 19.03.2014 - 09:18
fuente
2

También debe considerar cambiar el puerto en el que está escuchando el demonio SSH.

Aunque esto es más una ofuscación que una medida de seguridad real, definitivamente reduce la cantidad de entradas de registro que necesitas revisar, ya que no estás bajo el bombardeo constante de los robots.

Hay otro concepto conocido como Golpeteo de puertos . La idea es la misma. No necesariamente agrega seguridad real, pero mantiene sus archivos de registro limpios.

Estas dos medidas le permiten concentrarse en las entradas de registro más importantes y verificar si parecen legítimas o no.

    
respondido por el Karol Babioch 19.03.2014 - 14:00
fuente
1

File / etc / ssh / ssh_config es una configuración global para clientes SSH. / etc / ssh / sshd_config es para configurar el servidor SSH. Asegúrate de modificar el correcto.

Cuando especifica "AllowUsers", SSH niega el acceso de todos los usuarios no listados. No hay necesidad de un archivo PAM. Si has leído la página del manual, lo sabrías. "man sshd_config".

Fail2ban es genial y lo uso yo mismo. La ejecución del servicio SSH en un puerto no estándar hará que los archivos de registro sean más limpios, pero a un costo operativo mayor debido a la configuración no estándar de SSH (debe especificar manualmente el puerto o usar el archivo de configuración del cliente, ya sea local o global).

    
respondido por el Matrix 20.03.2014 - 08:30
fuente

Lea otras preguntas en las etiquetas