En la administración de sistemas *nix, es común que nos asignen equipos que administraban personas que ya no laboran en la empresa y, curiosamente, no dejaron documentación sobre la administración de los mismos.
Una de las primeras acciones que me gusta tomar, es implementar un mínimo de seguridad en mis equipos: cerrar puertos (telnet y ftp), verificar usuarios y permisos de los mismos, auditar las conexiones con TCP-Wrappers, implementar Sudo y sudosh, hacer un ligero hardening en general.
Como no me gusta que se utilice telnet y ftp, acostumbro tener al día el SSH, por lo que, al recibir equipos nuevos es necesario verificar la versión que tienen instalada y actualizarla de ser necesario.
Una herramienta para realizar esta actividad es ScanSSH. ScanSSH nos permite scanear nuestros equipos y conocer la versión de SSH que esta instalada y en ejecución.
El código fuente lo podemos bajar de aquí; para instalarlo basta con descomprimir el paquete y ejecutar:
[root@ragnarok ~]# ./configure && make && make install
Para scanear nuestros equipos ejecutamos:
scanssh -i [interfaz] [IP Host]
[root@ragnarok ~]# scanssh -i eth1 10.1.10.18
10.1.10.18:22 SSH-2.0-OpenSSH_5.2
Effective host scan rate: 2.37 hosts/s
[root@ragnarok ~]#
Cluster SSH
A veces necesitamos realizar la misma tarea en varios equipos y, en algunos casos, no es posible automatizar estas tareas. Una herramienta muy útil en estos casos es ClusterSSH. ClusterSSH nos permite conectarnos a varios equipos a la vez (yo he conectado hasta 20 equipos simultáneos) y realizar la misma tarea en cada uno de ellos, al mismo tiempo.
Para instalarlo, bajamos el código fuente desde su página de Sourceforge, y para instalarlo, ejecutamos:
[root@ragnarok ~]# ./configure && make && make install
Una vez instalado, lo ejecutamos de la siguiente forma:
cssh [[user@]<server>[:port]] […] [[user@]<server>[:port]] […]
[root@ragnarok ~]# cssh servidor1 servidor2 servidor3 servidor4 &
También podemos definir alias de clusters de equipos en el archivo /etc/clusters:
cluster_1 = servidor1 servidor2 servidor3 usuario@servidor4
Se ejecutaría como:
[root@ragnarok ~]# cssh cluster_1 &
Así se vería en ejecución:
En la parte inferior, encontramos la ventana donde teclearemos los comandos a ejecutar en los equipos:
Espero les sea de utilidad.