Los servicios R como rsh, rcp, rexec, etc., son muy inseguros. Sencillamente no hay otra forma de decirlo. Sus fundamentos de seguridad se basan en la dirección hostname/IP de la máquina desde la que se conecta, la cual se puede falsificar con facilidad, utilizando técnicas como envenenamiento de DNS, comprometido de cualquier forma. Por defecto, no están todos deshabilitados, por favor, hazlo inmediatamente. Edita el fichero /etc/inetd.conf y busca rexec, rsh, etc., y coméntalos, seguido de un "killall -1 inetd" para reiniciar inetd.
Si es absolutamente necesario ejecutar estos servicios, utiliza los TCP_WRAPPERS para restringir el acceso, no es mucho pero ayudará. También asegúrate de que se filtran con el cortafuegos, puesto que los TCP_WRAPPERS le permiten a un atacante ver que se están ejecutando, lo cual puede dar como resultado un ataque falsificado, algo contra lo que los TCP_WRAPPERS no se pueden defender si se hace correctamente. El acceso a varios servicios R se controla vía ficheros rhosts, por lo general cada usuario tiene su propio fichero rhosts, por desgracia esto es susceptible a spoofing de paquetes. El problema con los servicios r también estriba en que existe una pequeña brecha que se puede utilizar para modificar ficheros, editar el fichero rhosts de un usuario (como el del root) es una sencilla forma de reventar ampliamente un sistema.
Si se necesitan herramientas de administración remotas que sean fáciles de usar y similares a rsh/etc, recomendaría utilizar nsh (Network SHell) o SSH, ambos soportan cifrado, y un grado de seguridad mucho más alto. Alternativamente, la utilización de software de VPN reducirá algunos de los riesgos, puesto que se puede denegar a los falsificadores de paquetes la oportunidad de comprometer tu(s) sistema(s) (parte del IPSec es la autentificación del emisario y la fuente, lo cual a veces es algo más importante que cifrar los datos).
Webmin
Webmin es una de las mejores herramientas de administración remota para Linux, escrita primariamente en Perl, fácil de usar y de instalar. Se puede asignar diferentes ‘usuarios’ (webmin guarda internamente nombres de usuarios y contraseñas) variando los niveles de acceso, por ejemplo, se podría asignar a paco acceso solamente para hacer un shutdown del servidor, y darle a juan acceso sólo para crear/borrar y manipular usuarios. Además de esto, funciona en la mayoría de plataformas de Linux y en una variedad de otras plataformas UNIX. El principal ‘problema’ que hay con webmin es su pobre documentación de uso en algunas partes, y el hecho de que el par nombre de usuario/contraseña se envía en texto claro sobre la red (lo cual se minimiza ligeramente por la posibilidad de permitir el acceso sólo a ciertos hosts y redes). Lo más importante es que hace el sistema accesible a personas no técnicas, que tienen que administrar sistemas de tal forma que no tengas que proporcionarles cuentas reales en el servidor. Webmin está disponible en: http://www.webmin.com/webmin/ y actualmente es gratuito. Por defecto, Webmin corre en el puerto 10000 y se debería filtrar con el cortafuegos:
ipfwadm –I –a accept –P tcp –S 10.0.0.0/8 –D 0.0.0.0/0 10000
ipfwadm –I –a accept –P tcp –S un.host.fiable –D 0.0.0.0/0 10000
ipfwadm –I –a deny –P tcp –S 0.0.0.0/0 –D 0.0.0.0/0 10000
o en ipchains:
ipchains –A input –p all –j ACCEPT –s 10.0.0.0/8 –d 0.0.0.0/0 10000
ipchains –A input –p all –j ACCEPT –s un.host.fiable –d 0.0.0.0/0 10000
ipchains –A input –p all –j DENY –s 0.0.0.0/0 –d 0.0.0.0/0 10000
Copyright © 1999, Kurt Seifried, José Antonio Revilla
Todos los derechos reservados.