Mejoramiento de conexiones ssh – algunos consejos

Porque de este documento:

Actualmente (septiembre – octubre 2008) estoy realizando un outsourcing a una empresa que cuenta con unas cuantas máquinas en gnu/linux y a la que les realizan acceso por ssh los clientes internos.

Mirando como están configuradas y en plan de mejorar cree este pequeño documento presentado a gerencia el cual confío que a alguien en este amplio mundo le sea util de alguna forma…. si para ti fué util o tienes algun comentario o sugerencia al final de la entrada puedes dejar tu mensaje

Puntos a mejorar en el sistema de logeo a las máquinas GNU/Linux

Estado Actual

En la actualidad las conexiones a los servidores que se encuentran en el centro de cómputo de EMPRESA se realizan a través de túneles SSH (Secure SHell) ingresando de manera manual el usuario y el password por medio del cliente Putty.

Para dichos ingresos se utiliza el puerto 22 de SSH y el usuario root.

Recomendaciones de mejoramiento

  1. Configurar el servicio SSH en cada servidor con el fin de que utilice el Protocol 2 de SSH: Hay dos versiones de ssh en cuanto a su protocolo de comunicación, la versión 1 y la versión 2. La 1 esta en desuso pero todavía se incluye por compatibilidad, tiene varias vulnerabilidades conocidas y su uso no es ya recomendable. Un error frecuente es dejar al demonio ssh que permita el uso de las dos versiones (Protocol 2,1). Para evitar el uso del protocolo 1 y sus posibles ataques a este, basta con indicar en el archivo de configuración de ssh que solo admita comunicaciones de ssh basadas en el protocolo 2.

  1. Configurar el número de segundos en que la pantalla de login estará disponible para que el usuario ingrese su nombre de usuario y contraseña, si no lo hace el login se cerrará, evitando así dejar por tiempo indeterminado pantallas de login sin que nadie las use, o peor aun, que alguien este intentando mediante un script varias veces el adivinar un usuario y contraseña.

  1. No permitir acceso al usuario root por defecto. En su reemplazo se puede crear en cada máquina un usuario y darle a este permiso de ejecutar comandos como super-usuario o poder subir a super-usuario.

Para monitorear los comandos que dicho usuario ejecuta en la máquina se puede configurar el servicio SUDO y generar logs de las actividades.

  1. Configurar la cantidad de veces que un usuario puede equivocarse al ingresar el usuario y/o contraseña, luego de dicha cantidad se perderá o cerrará la conexión. Por supuesto es totalmente posible volver a intentarlo, pero de esta forma evitaremos ataques basados en la persistencia de la conexión o reintentos de ingresar con un usuario y/o contraseña errados, como se perderá al N veces intentos de conexión, el ataque cesará.

  1. Configurar la cantidad de conexiones simultáneas de login que permitirá el sshd por ip que intente conectarse. Sin embargo, una vez logueados en el sistema, es posible tener más de 3 terminales de ssh, se refiere exclusivamente a pantallas de login.

Más adelante se puede igualmente configurar manejo de llaves públicas y privadas entre los servidores y las máquinas o personas que tendrán acceso a dichos servidores (fingerprint). Esto evitaría el ingreso de personal no autorizado aun conociendo el usuario y/o password y manejo controlado de quien ingreso y a que horas a cada servidor.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s