Seguridad en Linux
Seguridad en Linux
Seguridad en Linux
1. Introducción 4. Autentificación
– Que asegurar y Como – PAM
asegurarlo – Seguridad de contraseñas
– Instalacion segura – Almacenamiento de
– Conceptos generales contraseñas
2. Seguridad física y de arranque 5. Acceso Remoto
– Seguridad física – Introducción
– La BIOS – Herramientas administrativas
– LILO – Telnet
3. Sistema de ficheros – SSH
– Ficheros del sistema – Cifrado de servicios
– Seguridad de ficheros 6. Links
1. Introducción
1.1.Que asegurar y como asegurarlo
Es necesario listar todos aquellos recursos que
contengan datos, den servicios, formen parte de la
infraestructura de tu compañía, etc... A continuación se
detalla una pequeña lista:
Servidores físicos
Servidores de correo y servicios.
Servidores de DNS y servicios.
Servidores de WWW y servicios.
Servidores de ficheros y servicios.
Datos internos de la compañía, como registros contables.
Infraestructura de la red (cables, hubs, switches, routers, etc.).
Sistema telefónico (PBX, buzones de voz, etc.).
Después necesitas averiguar contra qué lo queremos
proteger:
Pérdidas de datos
Perdida directa de beneficios (ventas vía web, el
servidor de ficheros inactivo, etc)
Costes en tiempo de personal
Pérdida de productividad del departamento de
informática, así como de los trabajadores
dependientes de su infraestructura
Implicaciones legales (registros médicos, registros
contables de clientes, etc.)
Pérdida de la confianza por parte del cliente
Publicidad por parte de los medios de comunicación
1.2.Instalación segura de Linux
Una adecuada instalación de Linux es el primer paso
para tener un sistema estable y seguro. La elección del medio
de instalación es el elemento nº 1, que afectará a la velocidad
de instalación y en buena medida a la seguridad.
delay=x
Prompt
Restricted
nombreusuario:contraseña_cifrada:UID:GID:campo_GECOS:direct_personal:login_shell
/etc/groups
nombregrupo:contraseña_cifrada:GID:miembro1,miembro2,miembro3
/etc/login.defs
/etc/shells
Este fichero contiene una lista de tty’s desde los que el root
puede hacer un login. Los tty’s de la consola suelen ir de /dev/tty1 a
/dev/tty6. Los puertos serie son /dev/ttyS0 y superiores por lo
general. Generalmente, sólo se debería permitir conectar al root
desde /dev/tty1, y es aconsejable desabilitar la cuenta de root, sin
embargo antes de hacer esto, por favor, instala sudo o un programa
que permita al root acceder a comandos.
3.2.Seguridad de Ficheros
wipe (durakb@crit2.univ-montp2.fr)
wipe (thomassr@erols.com)
Salida de PS
USER PID %CPU %MEM SIZE RSS TTY STAT START TIME COMMAND
...
Salida de lsof
...
Ficheros básicos de configuración de red
/etc/inetd.conf
/etc/rc.d/*
/etc/*
/etc/hosts.allow
/etc/hosts.deny
ALL: 0.0.0.0/0.0.0.0
lo que significa que todos los servicios, todos los lugares, de modo
que cualquier servicio al que no se le permita específicamente acceder, queda
bloqueado (recuerda que por defecto es permitir). Quizás también
preferirías simplemente denegar el acceso por defecto a, digamos, telnet, y
dejar el ftp abierto al mundo. Habría que hacer lo siguiente:
en hosts.allow:
en hosts.deny:
# comentario opcional
domain 53/tcp
domain 53/udp
5.2.Herramientas
Telnet
SSL Telnet
SSL Telnet es telnet con el añadido de cifrado SSL, lo cual lo hace bastante
más seguro.
SSH
REXEC
Slush
NSH es un producto comercial con todos sus detalles. Tiene soporte para
cifrado, de modo que es relativamente seguro de usar.
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.
5.3.Telnet
En /etc/hosts.allow
Y en /etc/hosts.deny
in.telnetd: ALL
Existen varias alternativas cifradas al telnet, como ya se
mencionó más arriba, ssh, SSLeay Telnet y otras utilidades de
terceros, a mi personalmente me parece que la "mejor" alternativa si
te vas a tomar la molestia de cambiar el telnet por algo mejor es
utilizar ssh.
•La primera sería no permitir al root hacer login vía telnet, lo cual se
controla mediante el /etc/securetty y por defecto en la mayoría de las
distribuciones el root tiene restringido el acceso a la consola.
• Para que un usuario haga login con éxito, su shell tiene que ser
válido (lo cual viene determinado por la lista de shells de /etc/shells),
de modo que configurar cuentas de usuario a las que se les permita
hacer login es simplemente cuestión de configurar su shell a alguno
de los listados en /etc/shells.
5.4. SSH
Las reglas del cortafuegos para ssh son bastante parecidas a telnet.
Por supuesto que está TCP_WRAPPERS, el problema con
TCP_WRAPPERS es que un atacante se conecta al puerto, pero no consigue
un demonio, SIN EMBARGO sabe que hay algo en ese puerto, mientras que
mediante el cortafuegos, ni siquiera se consigue conexión con el puerto.
5.5. Cifrado de servicios
Linux.org http://www.linux.org/
Linux.com
http://www.linux.com/