Ir al contenido principal

Securitizando SSH

En todas las distribuciones de GNU/Linux y Solaris he encontrado SSH como vía estándar de comunicación remota. ¿Por qué? Es simple de implementar, de utilizar y sumamente segura por su carácter de encriptación de los puentes que se hacen. No solo podemos sustituir Telnet, también podemos hacer túneles que nos permiten escapar de los firewalls restrictivos. 

Al ser un punto de entrada,  por ello capital, es necesario aplicar ciertas políticas de seguridad, especialmente en aquellos sistemas que son productivos.

Las siguientes políticas podrían ser útiles para tal tarea.

  • No permitir validación de root
  • Reducir la cantidad de usuarios que pueden autenticarse
  • Sólo permitir la versión 2 de SSH
  • Usar llaves para autenticarse

El root es digamos que el usuario más perseguido en las intrusiones, pues su carácter casi bíblico lo hace ser el súper usuario, el usuario de usuarios. Para evitar que por algún descuido alguien pueda robarnos la cuenta, y robarnos lo que sea, desactivamos la directiva del archivo de configuración de SSHD. Editamos el siguiente archivo:

$ vi /etc/ssh/sshd_config
 Y ahora buscamos la siguiente directiva y la establecemos en no. Si no existe, la incluimos de todas maneras:

PermitRootLogin no

Reiniciamos el servicio de sshd y listo, ya no podremos autenticarnos remotamente con el root.

No es necesario que cualquier usuario que tengamos dado de alta en nuestro sistema se autentique remotamente, eso eleva potencialmente el riesgo de que nuestro sistema sea comprometido, ya sea por un hurto de credenciales o por un malintencionado empleado que nada tiene que hacer ahí.

Para conseguir la autenticación de usuarios selectos o denegar a todos aquellos que explícitamente quisiéramos denegar el acceso, utilizamos la siguientes directivas:


AllowUsers usuariopermitido
AllowGroups gruposdemiusuario
DenyUsers usuariopeligroso
DenyGroups grupospeligrosos

Las reglas se llevan a cabo como una ACL, es decir, la primera que coincida es la que se lleva a cabo. Como pueden ver, podemos listar los usuarios que tengan acceso o los usuarios que no queremos. La elección depende de la situación.

El restringir versiones de SSH es recomendable, por las vulnerabilidades que llevaron a la versión 1, escribir la versión 2.

El último punto está descrito en otro artículo, ya que no solo pertenece a la seguridad de SSH.

Con estas simples medidas, podrán mantener con cierta tranquilidad el control de los accesos a su sistema.


Comentarios

Entradas populares de este blog

Ángulo de Corte

El armar un gallo de pulgada es una de las cosas más sujeta a mitos y medias verdades. Este es uno de los muchos temas que los galleros enuncian con una seguridad a prueba de balas.  Hasta el momento no he leído un solo escrito o esquema con detalle científico que tenga conclusiones claras y precisas de lo que sucede en un combate ni la ergonomía que mejor se adapta, todo proviene de un sistema de creencias que, muy en lo personal, me cuesta creer. El ángulo de corte se refiere a la posición de la punta de la navaja con respecto al codo de la pata. Dependiendo del amarrado es que la sitúa en un rango de los 5° a los 9°. De lo que no dudo es que no hay una manera precisa de emitir teorema alguno sobre este rubro. La formula del corte está dada por la sujeción de la navaja, la forma de la navaja, la altura de la botana, la posición de disparo del gallo, así como la calidad y aprendizaje del mismo durante el desarrollo de la pelea. Son muchas las variables, sin emba...

Análisis de conexiones TIME_WAIT

El tema de las conexiones mal utilizadas es un dolor de cabeza para muchos administradores de servidores de aplicaciones. Es común que las aplicaciones que mantenemos en nuestro resguardo sufran degradación, e incluso fallos, por el "simple" hecho de no cerrar las conexiones o tardar demasiado en hacerlo (vía sistema operativo). Como sabemos, una conexión pasa por varios estados, mismos que salen de la intención de este escrito. Las conexiones establecidas (ESTABLISHED) son demasiado costosas cuando abren y cierran, debido a eso, se han creado manejadores de conexiones (pooles) que mantienen abiertas las conexiones para reutilizarlas dependiendo la demanda. Es por eso, que en medida de lo posible, hay que utilizar un manejador de conexiones, ya sea a base de datos o algún broker. Entrando de lleno al tema, las conexiones en estado TIME_WAIT son un problema por el consumo de memoria, ocupando cada una 64k de memoria no paginable, es decir,  todo el tiempo se mantiene...

Los tres enamorados miedosos

Finally we have finished to scan some stories about myths and legends that our ancesters transferred to children. These explain in some cases the world inception like " Creación del mundo " and many others stories that use animals to mirror they reality and your historical context. For download the pdf click in below link. download