lunes, 10 de diciembre de 2007

Mini Guia buenas practicas GNU/Linux Parte III


2.2 Acceso Remoto.

2.2.1 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.SSH trabaja de forma similar a como se hace con telnet. La diferencia principal es que SSH usa técnicas de cifrado que hacen que la información que viaja por el medio de comunicación vaya de manera no legible y ninguna tercera persona pueda descubrir el usuario y contraseña de la conexión ni lo que se escribe durante toda la sesión; aunque es posible atacar este tipo de sistemas por medio de ataques de REPLAY y manipular así la información entre destinos.
SSH se instala por defecto en multitud de distribuciones, y no pocos SysAdmin pasan por alto la configuración de SSH por el mero hecho de que las conexiones se cifran.Error grave.En distribuciones GNU/Linux, dedicando unos 5 minutos,podremos blindar nuestros accesos vía SSH.La opción más recomendable es no usar SSH ni ningún acceso remoto, pero como debemos acceder a la máquina, la mejor opción es utilizar llaves RSA.Como este documento es una simple introducción, en http://www.securityfocus.com/infocus/1806 podeis encontrar más información sobre este tema, y de paso, suscribirse a las listas de correo, que son bastante interesantes. En el fichero sshd_config, limitaremos el acceso a usuarios,passwords..etc.
Desde hace un tiempo, para blindar los accesos por SSH a las máquinas que administro, suelo instalar fail2ban(http://www.fail2ban.org). Fail2ban básicamente actúa en modo "watchdog" o "perro guardían" sobre una serie de servicios configurados, y mediante reglas de condición-acción bloquea los accesos a dichos servicios implementando reglas de Iptables.Muy recomendado.

2.2.2 Sesiones X remotas.
(Completar)
2.2.3 Webmin y otros.
Webmin es una opción cómoda y segura(https) para administrar máquinas Linux-Unix.No obstante, recomiendo encarecidamente limitar el acceso a Webmin, creando usuarios con permisos limitados exclusivamente a los servicios a administrar, así como establecer limitaciones de acceso a las máquinas o redes desde las que se permitirá el acceso. Esto es posible desde el propio Webmin, pero nunca está de más que nuestro amigo Iptables también lo haga.

Por suerte existen multitud de herramientas web para la administración de servicios en máquinas GNU/Linux, pero muchas de ellas supeditan la usuabilidad y sencillez de la interfaz a la seguridad.Como ejemplo tenemos PHPLDAPADMIN, que sí, es una herramienta excepcional, pero...no creeis que no cifrar conexiones que manejan datos relativos a los usuarios del sistema(LDAP) es, como mínimo, un riesgo evitable? Ustedes mismos.

2.2.4 Iptables.
Fundamental, como la boina. Suspenso al SysAdmin que no implemente iptables en su máquina. 4.950.000 páginas relativas a iptables nos podemos encontrar en google.com. No soy la persona más indicada para hablar de iptables, pero paginas como www.pello.info o www.netfilter.org nos pueden ayudar a dar los primeros pasos.
2.2.5 Logs.
Al igual que iptables, y la boina,punto fundamental.Examinar exhaustivamente los logs del sistema nos permitirá prevenir fallos en la máquina,pero también localizar intentos de ataque a nuestros servicios.