Red Hat Enterprise Linux 3: Manual de seguridad | ||
---|---|---|
Anterior | Capítulo 4. Seguridad de las estaciones de trabajo | Siguiente |
Mientras que el acceso de usuarios a los controles administrativos es un aspecto importante para los administradores de sistemas dentro de una organización, también es de suma importancia para el que instala o maneja un sistema Linux, mantener un registro sobre cuáles servicios de red están activos.
Muchos servicios bajo Red Hat Enterprise Linux se comportan como servidores de red. Si un servicio de red está ejecutándose en una máquina, entonces hay una aplicación llamada demonio escuchando por conexiones en uno o más puertos de red. Cada uno de estos servidores debería ser tratado como una avenida potencial de ataque.
Los servicios de red pueden implicar muchos riesgos para los sistemas Linux. Abajo se muestra una lista de algunos de los principales problemas:
Ataques de desbordamiento del buffer — Los servicios que se conectan a puertos del 0 al 1023 deben ser ejecutados como un usuario administrativo. Si la aplicación tiene un posible desbordamiento del buffer, un atacante podría ganar acceso al sistema como el usuario ejecutando el demonio. Debido a que los desbordamientos del buffer explotables existen, los piratas informáticos usarán herramientas automatizadas para identificar vulnerabilidades en los sistemas y una vez que han obtenido acceso, utilizaran kits automatizados para mantener su acceso al sistema.
Ataques de rechazo de servicio (Denial of Service, DoS) — Inundando un servicio con peticiones se puede producir un ataque de rechazo de servicio que llevaría al sistema a un estado suspendido, mientras este intenta responder a cada petición.
Ataques de vulnerabilidad de scripts — Si un servidor esta usando scripts para ejecutar acciones del lado del servidor, como usualmente hacen los servidores Web, un pirata puede montar un ataque a los scripts que no hayan sido escritos de forma apropiada. Estos ataques de vulnerabilidad de scripts podrían llevar a una condición de desbordamiento del buffer o permitir al atacante alterar archivos en el sistema.
Para limitar la exposición de ataques sobre la red, todos los servicios que no se esten usando deberían ser deshabilitados.
Para mejorar la seguridad, la mayoría de los servicios instalados con Red Hat Enterprise Linux estan desactivados por defecto. Sin embargo, hay algunas excepciones importantes:
cupsd — El servidor de impresión por defecto para Red Hat Enterprise Linux.
lpd — Un servidor de impresión alternativo.
portmap — Un componente necesario para NFS, NIS, y otros protocolos RPC.
xinetd — Un super servidor que controla las conexiones de servidores subordinados a un host, tales como vsftpd, telnet y sgi-fam (el cual es necesario para el administrador de archivos Nautilus).
sendmail — El agente de transporte de correos Sendmail está activado por defecto, pero sólo escucha por conexiones desde localhost.
sshd — El servidor OpenSSH, el cual es un reemplazo seguro para Telnet.
Cuando se este determinando si se debe dejar estos servicios ejecutándose, es mejor usar el sentido común y pecar por el lado de la cautela. Por ejemplo, si usted no tiene impresora, no deje cupsd ejecutándose. Lo mismo para portmap. Si no tiene volumenes NFS o utiliza NIS (el servicio ypbind), entonces portmap también debería esta desactivado.
Red Hat Enterprise Linux se entrega con tres programas diseñados para activar o desactivar servicios. Ellos son la Herramienta de configuración de servicios (redhat-config-services), ntsysv y chkconfig. Para más información sobre el uso de estas herramientas, consulte el capítulo llamado Control del acceso a servicios en el Manual de administración del sistema de Red Hat Enterprise Linux.
Si no está seguro del propósito de un servicio particular, la Herramienta de configuración de servicios, tiene un campo de descripción, mostrado en la Figura 4-3, que puede ser de ayuda.
Pero el verificar cuáles servicios están disponibles al momento del arranque no es suficiente. Los buenos administradores de sistemas deberían chequear cuáles puertos están abiertos y escuchando. Consulte la Sección 5.8 para más detalles sobre este tema.
Potencialmente, cualquier servicio de red es inseguro. Por eso es que es tan importante desactivar los servicios no utilizados. Las explotaciones a servicios se descubren y emparchan de forma regular. Por tanto es importante mantener los paquetes asociados con cualquier servicio de red actualizados. Consulte el Capítulo 3 para más información sobre este tema.
Algunos protocolos de red son inherentemente más inseguros que otros. Esto incluye cualquier servicio que haga lo siguiente:
Pasar los nombres de usuarios y contraseñas sobre la red sin encriptar — Mucho protocolos viejos, tales como Telnet y FTP, no encriptan la sesión de autenticación y deberían ser evitados siempre que sea posible.
Pasar datos confidenciales sobre la red sin encriptar — Muchos protocolos pasan información sobre la red sin encriptar. Estos protocolos incluyen Telnet, FTP, HTTP y SMTP. Muchos sistemas de archivos de red, tales como NFS y SMB también pasan la información sobre la red sin encriptar. Es la responsabilidad del usuario cuando se estén usando estos protocolos limitar qué tipo de datos son transmitidos.
También, los servicios de volcado de memoria remota, como netdump, pasan los contenidos de la memoria sobre la red sin encriptar. Los volcados de memoria pueden contener contraseñas o, peor aún, entradas de la base de datos u otra información confidencial.
Otros servicios como finger y rwhod revelan información sobre los usuarios del sistema.
Ejemplos de servicios inherentemente inseguros incluyen los siguientes:
rlogin
rsh
telnet
vsftpd
Todos los programas de conexión y del shell remotos (rlogin, rsh, y telnet), deberían ser evitados en favor de SSH. (consulte la Sección 4.7 para más información sobre sshd).
FTP no es tan inherentemente peligroso para la seguridad de los sistemas como lo son los shells remotos, pero los servidores FTP deben ser configurados y monitoreados cuidadosamente para evitar problemas. Consulte la Sección 5.6 para más información sobre como asegurar servidores FTP.
Los servicios que deberían ser implementados con sumo cuidado y colocados detrás de un cortafuegos incluyen:
finger
identd
netdump
netdump-server
nfs
portmap
rwhod
sendmail
smb (Samba)
yppasswdd
ypserv
ypxfrd
Hay más información sobre el aseguramiento de los servicios de red en el Capítulo 5.
La próxima sección discute las herramientas disponibles para configurar un firewall o cortafuegos sencillo.