Securizar acceso de ROOT en SSH

Seguimos con nuestros artículos sobre como asegurar el acceso SSH a nuestro servidor ya que es uno de los mayores puntos de acceso para posibles intentos de acceso por fuerza bruta, etc.

Normalmente, y como es lógico, estos ataques intentan la entrada con el usuario root, que por defecto es el único que tiene acceso total al servidor. ¿Cómo podemos hacer para dificultarles ese acceso? Pues bien, una de las maneras es quitando el acceso por SSH al usuario root. Y os preguntaréis, ¿y cómo administro el servidor sin usuario root? Pues muy fácil, creando un usuario que una vez dentro del sistema, pueda cambiar a root mediante el comando su. Pero mejor lo vamos viendo por pasos.

Lo primero que debemos hacer es asegurarnos de que existe el grupo wheel (suele venir creado por defecto pero en algunas distribuciones Debian parece ser que no está creado), y para ello debemos mirar si existe en el fichero etc/group. Si vemos que no existe esta línea, wheel:*:0:root,usuarios es que no está creado (donde “usuarios” son los usuarios pertenecientes al grupo). Otra forma de hacerlo es ejecutando el comando groups, que listará los grupos de usuarios del sistema. Si no existe el grupo, la forma más fácil de crearlo es editando el fichero etc/group y añadiendo la siguiente linea:

wheel:*:0:root,usuario_nuevo

Con esto ya estaríamos creando el usuario nuevo a parte del grupo. Si solo queremos crear el grupo:

wheel:*:0:root

Y después para crear el usuario:

adduser -G wheel -m -s /bin/bash -d /home/usuario_nuevo usuario_nuevo
passwd usuario_nuevo

-G wheel ->Crea el usuario dentro del grupo Wheel
-m ->se crea el directorio home si no existe
-s ->se le indica el shell del usuario
-d ->se le indica el nombre del directorio home del usuario

Con esto ya tenemos creado un usuario capaz de ganar privilegios de root mediante el comando su. Antes de continuar es aconsejable salir de SSH y probar si podemos ejecutar su con nuestro usuario_nuevo.

Continuar leyendo «Securizar acceso de ROOT en SSH»

Securizar y proteger el acceso SSH

SSH (Secure SHell) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red.

Permite manejar por la computadora mediante un el intérprete de comandos instalado en la misma (bash, ksh, etc..), y también puede redirigir el tráfico de X-Windows para poder ejecutar programas gráficos si tenemos un Servidor X arrancado en nuestra máquina local.

Asegurando SSH:

Aunque SSH en sí es un protocolo seguro, podemos afinar los parámetros de configuración para hacer que su utilización resulte todavía más segura.

Pasos que seguiremos:

  • Deshabilitar SSH 1.
  • Autenticación basada en llave RSA.
  • No permitir autenticación mediante login/password.
  • No Permitir acceso como root sin llave.
  • Cambiar el puerto por Defecto.
  • Banear IPs tras 5 logins erróneos.

Deshabilitar SSH 1:

Continuar leyendo «Securizar y proteger el acceso SSH»

Desactivar timeouts en SSH

Para casi desactivar completamente los timeouts en el servicio SSH, solamente hay que configurar las opciones del archivo de configuración del servicio  /etc/ssh/sshd_config :

TCPKeepAlive yes
ClientAliveInterval 30
ClientAliveCountMax 99999

ClusterSSH – Administración de servidores de “una sola tacada”

Los administradores de sistemas que disponen de una gran cantidad de servidores Linux/Unix que administrar, o bien disponen de máquinas que tiene una configuración similar pueden utilizar una herramienta llamada OpenSSH. Herramienta que permite administrar vía SSH varios servidores a la vez.

Se instala con un simple sudo apt-get install clusterssh (en sistemas debian)

Os dejo un video para que veais la instalación, configuración y uso de esta mágnifica herramienta «OpenSSH»

Información:

  • Software: ClusterSSH
  • Duración: 2 minutos y 54 segundos
  • Fuente: http://www.screencasts.es

Borrar una linea en el fichero known_hosts

Si has reinstalado el sistema operativo en un servidor, o le has cambiado la ip, seguramente cuando vuelvas a intentar acceder a la máquina por ssh te impedirá el acceso y recibiras un mensaje como este:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
b1:3b:85:a5:b3:ab:37:a9:6d:3e:98:7a:d5:9d:78:15.
Please contact your system administrator.
Add correct host key in /home/ghosti/.ssh/known_hosts to get rid of this message.
Offending key in /home/ghosti/.ssh/known_hosts:240
RSA host key for 29.23.11.34 has changed and you have requested strict checking.
Host key verification failed.

La solución es eliminar la linea número 240 del fichero known_hosts, puedes hacerlo con un editor de texto, pero es mas cómodo teclear lo siguiente:

ssh-keygen -R hostname|ip

Si no has tocado nada, ten cuidado, puede que alguien este intentando acceder a tu servidor con técnicas man in the middle.