Herramientas administrativas


Acceso Remoto

Telnet

Telnet es con mucho la herramienta remota más vieja y conocida, prácticamente cualquier Unix viene con ella, incluso lo soportan sistemas como NT. Telnet sólo tiene uso cuando puedas administrar el sistema desde modo comandos (algo para lo que NT no es tan bueno), lo cual lo convierte en perfecto para sistemas Unix. Telnet es increíblemente inseguro, las contraseñas y los nombres de usuarios, al igual que los datos de las sesiones vuelan en texto simple, siendo el objetivo preferido de los sniffers. Telnet viene con todas las distribuciones de Linux. No deberías utilizar nunca el telnet de fábrica para administrar remotamente un sistema.

SSL Telnet

SSL Telnet es telnet con el añadido de cifrado SSL, lo cual lo hace bastante más seguro. Usando certificados X.509 (también conocidos como certificados personales) se pueden administrar sistemas con facilidad. Al contrario de sistemas como el SSH, SSL Telnet es completamente GNU y gratis para cualquier uso. Puedes encontrar el servidor Telnet SSL en ftp://ftp.replay.com

SSH

SSH era gratis al principio, pero ahora está bajo licencia comercial, sin embargo tiene numerosas características que lo hacen merecer la pena. Soporta diferentes tipos de autentificación (contraseña, basada en rhosts, llaves RSA), permite redireccionar puertos, y se puede configurar fácilmente a qué usuarios se les permite usarlo. SSH está disponible en ftp://ftp.replay.com. Si vas a utlizarlo para uso comercial, o si quieres la última versión, dirígete a http://www.ssh.fi/

LSH

LSH es una implementación gratuita del protocolo SSH, LSH tiene licencia GNU y está empezando a perfilarse como la alternativa (comercialmente hablando) a SSH (que ya no es gratis). Lo puedes descargar de http://www.net.lut.ac.uk/psst/, pero ten en cuenta que está bajo desarrollo.

REXEC

REXEC es una de las utilidades UNIX más antiguas, te permite ejecutar comandos en un sistema remoto, aunque tiene el serio fallo de no tener un modelo de seguridad real. La seguridad se consigue mediante el uso de ficheros ‘rhosts’, que especifican qué hosts/etc. pueden ejecutar comandos, lo cual está sujeto a spoofing y otro tipo de exploits. Jamás deberías utilizar el REXEC standard para administrar un sistema.

Slush

Slush está basado en OpenSSL, y actualmente soporta certificados X.509, lo cual, para grandes organizaciones, es una apuesta mucho mejor (y más sana) que intentar recordar varias docenas de contraseñas en diferentes servidores. Slush es GPL, pero todavía no está terminado (implementa la mayoría de la funcionalidad que se requiere para ser utilizable, pero tiene límites). Por otra parte, está completamente basado en software de código abierto, dejando pocas posibilidades a que pueda tener puertas traseras/etc. En último caso, podría reemplazar al SSH por algo mejor. Lo puedes conseguir en http://violet.ibs.com.au/slush/.

NSH

NSH es un producto comercial con todos sus detalles (y he dicho todos). Tiene soporte para cifrado, de modo que es relativamente seguro de usar (esto no puedo verificarlo completamente, ya que no es código abierto). Es de una gran facilidad de uso, haces un cd //nombredeordenador y con eso ya haces el log en ese ordenador, puedes copiar/modificar/etc ficheros con facilidad, ejecutar ps y ver la lista de procesos de ese ordenador, etc. NSH también dispone de un módulo Perl, lo cual hace sencilla la redacción de scripts de comandos, y es ideal para administrar muchos sistemas similares (como estaciones de trabajo). Además de eso, NSH está disponible en múltiples plataformas (Linux, BSD, Irix, etc.) con RPM’s disponibles para sistemas Red Hat. NSH está disponible en: http://www.networkshell.com/, y se pueden descargar versiones de evaluación de 30 días.

Fsh

Fsh significa "Ejecución rápida de comandos remotos", y el concepto es similar al de rsh/rcp. Evita el costo de estar creando continuamente sesiones cifradas, habilitando un túnel cifrado utilizando ssh o lsh, y ejecutando todos los comandos sobre él. Lo puedes conseguir en: http://www.lysator.liu.se/fsh/.

secsh

secsh (Shell Seguro) aporta otra capa más de seguridad de login, una vez que has hecho log vía ssh o telnet SSL te pide otra contraseña, si introduces una errónea, secsh mata el intento de login. Se puede conseguir en: http://www.leenux.com/scripts.

Locales

YaST

YaST (Yet Another Setup Tool, "otra herramienta más de seguridad") es un comando gráfico de líneas bastante interesante, (muy similar a scoadmin) que aporta una sencilla interfaz para la mayoría de las tareas administrativas. Sin embargo, no está pensado para limitar accesos a usuarios, así que sólo es útil para depurar errores y para permitir administrar su sistema a nuevos usuarios. Otro problema es que al contrario que Linuxconf, no está orientado a redes, lo cual quiere decir que hay que hacer un log en cada sistema que quieras manipular.

sudo

Sudo le da a un usuario acceso setuid a un programa(s), se le puede especificar desde qué host(s) se les permite (o no) hacer login y tener acceso sudo (de modo que si alguien vulnera una cuenta pero está bloqueado, se minimizan los daños). Se puede especificar bajo qué usuario se ejecutará un comando, lo cual te da un grado de control relativamente preciso. Si tienes que dar acceso a los usuarios, asegúrate de especificar los hosts desde los que les está permitido hacer un login cuando estén utilizando sudo, de igual forma, da la ruta completa a los binarios, lo cual te evitará problemas a la larga (p. ej. si le das acceso a "adduser" a un usuario, no hay nada que le impida editar su path y copiar bash a /tmp/adduser obteniendo el control de la máquina). Esta herramienta es muy similar a super pero con un control ligeramente inferior. Sudo está disponible para la mayoría de las distribuciones, como paquete interno, o paquete contribuido. Sudo está disponible en: http://www.courtesan.com/sudo/ , por si tu distribución no viene con él.

Sudo te permite definir grupos de hosts, grupos de comandos, y grupos de usuarios, haciendo la administración más sencilla, a largo plazo. Aquí van varios ejemplos de /etc/sudoers :

Dar acceso total al usuario ‘seifried’

seifried ALL=(ALL) ALL

Crear un grupo de usuarios, un grupo de hosts, y permitirles apagar el servidor como root

host_alias WORKSTATIONS=localhost, estacion1, estacion2

User_alias SHUTDOWNUSERS=rober, maria, juana

Cmnd_Alias REBOOT=halt, reboot, sync

Runas_Alias REBOOTUSER=admin

SHUTDOWNUSERS WORKSTATIONS=(REBOOTUSER) REBOOT

Super

Super es una de las pocas herramientas que se pueden utilizar hoy en día para dar a ciertos usuarios (y grupos) diferentes niveles de acceso a la administración del sistema. Además, se pueden especificar horas y permitir el acceso a scripts, puesto que dar acceso setuid, incluso a comandos comunes, puede tener resultados inesperados (cualquier editor, cualquier herramienta de manipulación de ficheros como chown, chmod, incluso herramientas como lp podrían comprometer partes del sistema). Debian viene con super, y existen rpm’s disponibles en el directorio contrib. Es una herramienta potente (a veces deja a sudo a la altura del betún), pero necesita una sustancial cantidad de esfuerzo para implementarse correctamente (como cualquier herramienta potente), y creo que merece la pena. Suele haber ejemplos de ficheros de configuración en el directorio /usr/doc/super-xxxx/. El sitio principal de distribución de super es: ftp://ftp.ucolick.org/pub/users/will/ .

runas

runas es muy parecido a sudo y Super, con algunas variaciones. Se crea un fichero de configuración listando el comando, como quien se ejecuta, y a qué usuarios/grupos/etc. se les permite ejecutarlo como tal. Además de esto, se pueden restringir el uso de opciones (argumentos), y se le puede solicitar al usuario el motivo (lo cual queda registrado con syslog). Esta es una característica de mis preferidas, ya que con un poco de entrenamiento, se puede conseguir que el staff de administración documente lo que está haciendo de forma liviana (p. ej. "quería reiniciar el sistema debido a fugas de memoria"). Runas se puede descargar de: http://www.mindspring.com/~carpinello/runas/index.html.

Remotas basadas en WWW

Webmin

Webmin es (actualmente), una herramienta de administración no comercial. Es un conjunto de scripts de perl con un servidor www autocontenido al cual se accede utilizando un visor de www. Tiene módulos para la mayoría de las funciones de administración del sistema, aunque algunas son un poco temperamentales. Una de sus características de mis preferidas es el hecho de que mantiene su propio usuario y contraseña para acceder a webmin, y se puede personalizar a qué tiene acceso cada usuario (p. ej. usuario1 sólo puede administrar usuarios, usuario2 sólo puede reiniciar la máquina y usuario3 puede modificar la configuración del Apache). Webmin está disponible en: http://www.webmin.com/.

Linuxconf

Linuxconf es una herramienta de administración Linux de propósito general, que se puede utilizar desde la línea de comandos, desde X, o vía su propio servidor www. Es una de mis herramientas favoritas para administración automatizada del sistema ( lo utilizo principalmente para hacer configuraciones de red complejas), ya que es relativamente ligera desde la línea de comandos (en realidad está dividida en varios módulos). Desde X proporciona un vistazo general de todo aquello que puede configurarse (PPP, usuarios, discos, etc.). Para utilizarlo vía visor www, primero hay que ejecutar Linuxconf en la máquina y añadir el o los hosts o red(es) a las que quieres permitir conectarse (Conf> Misc> Linuxconf network access), salvar los cambios y salir. Luego, cuando te conectes a la máquina (por defecto Linuxconf sólo acepta root como la cuenta, y Linuxconf no soporta ningún tipo de cifrado (se ejecuta independientemente en el puerto 901), de modo que desaconsejaría con vehemencia la utilización de esta característica entre redes, a menos que se tenga IPSec o algún otro tipo de nivel de seguridad IP. Linuxconf viene con Red Hat Linux y está disponible en: http://www.solucorp.qc.ca/linuxconf/. Linuxconf no parece que venga con páginas de manual/etc., la ayuda está contenida internamente, lo cual es ligeramente cabreante.

COAS

El proyecto COAS (Caldera Open Administration System) es un proyecto muy ambicioso para proporcionar un marco abierto de administración de sistemas, desde línea de comandos (con interfaz semi-gráfico), desde X (utilizando el componente qt) hasta el web. Hace una abstracción de los datos reales de configuración aportando una capa intermedia, permitiendo de esta forma su uso en variadas plataformas Linux. Acaba de salir la versión 1.0, parece que finalmente Caldera va adelante con ello. El sitio de COAS está en: http://www.coas.org.

Otras herramientas basadas en red

VNC

El Virtual Network Computer (VNC) es parecido a X o a PCAnywhere. Se puede mostrar un escritorio gráfico, y controlarlo remotamente, con NT o Linux como servidor y/o cliente. El VNC es bastante bueno a través de una Ethernet de 10 megabit, sin embargo tiende a utilizar un montón de potencia computacional relativamente comparado con otros métodos de administración remota. Se puede conseguir en: http://www.uk.research.att.com/vnc/. La seguridad del VNC no es tan buena, pero hay varios sitios con información acerca de asegurar VNC, utilizando SSL, SSH y otros métodos. MindVNC es un cliente java que utiliza SSH, disponible en: http://www.mindbright.com/english/technology/products/mindvnc.html. Existe un parche disponible para añadir cifrado al VNC en: http://web.mit.edu/thouis/vnc/.


Volver


Copyright © 1999, Kurt Seifried, José Antonio Revilla

Todos los derechos reservados.