Ultima modificaci�n: 14 Noviembre, 2002
Este documento reside en http://webdiis.unizar.es/~spd/sec/linux-sec.html
La antigua versi�n, referida principalmente a Red Hat 6, a�n puede encontrarse en http://webdiis.unizar.es/~spd/sec/linux-sec-6.html
Hoy en d�a, la proliferaci�n de distribuciones de Linux "f�ciles" hace que cualquiera pueda instalarse un Unix en su despacho; pero el mantener ese Unix con un m�nimo de garant�as ya no es tan trivial.
Existen multitud de recursos en Internet sobre como hacer un sistema Unix seguro, al final de este documento se incluyen algunos links de obligada lectura; aparte de eso veremos ahora unos m�nimos consejos al respecto. Se ha tomado como referencia un sistema Linux Red Hat 8.0. Los conceptos son similares para otros Unix o distribuciones de Linux, aunque los detalles pueden variar.
Crea una cuenta de usuario, preferiblemente usando los mismos nombre de usuario, UID y GID que tengas en alguna otra cuenta Unix del departamento. Cuando necesites ejecutar cosas como root, hazlo usando "su" desde dicha cuenta (o "ssh localhost -l root")
Desactiva todos los servicios. No los necesitas. De hecho casi podr�as
no ejecutar inetd. Solo cuando veas que necesitas realmente un servicio,
activalo (tras revisar sus opciones de log y de control de acceso).
Si necesitas alg�n tipo de acceso remoto a tu Unix, utiliza ssh para
sesiones interactivas y scp para transferencia de ficheros.
Jam�s uses telnet ni ftp, que, entre otras cosas, mandan tu password en texto claro por la red. Red Hat 7.2 y posteriores incluyen OpenSSH de serie. Util�zalo.
Ademas, puedes leer mas sobre el uso de ssh en http://webdiis.unizar.es/~spd/sec/ssh.txt
Red Hat, desde la versi�n 7, incluye de serie un firewall; adem�s, pregunta durante la instalaci�n si se desea activar. Lo recomendado es activarlo y permitir �nicamente (como mucho) trafico de entrada ssh.
Si no lo activaste durante la instalaci�n, puedes activarlo mediante:
rpm -qa | grep iptables
rpm -ivh iptables-1.2.6a-2 (p.e.)
chkconfig iptables on
lokkit
/etc/init.d/iptables start
Nota: si sabes que solo vas a acceder desde determinadas IP's puedes ajustar aun m�s la configuraci�n editando a mano el fichero /etc/sysconfig/iptables. Ejemplo:
# Permitir cualquier conexion desde 155.210.152.20 -A INPUT -s 155.210.152.20 -j ACCEPT # Permitir ssh desde la red unizar -A INPUT -s 155.210.0.0/255.255.0.0 -p tcp -m tcp --dport 22 --syn -j ACCEPT
Linux o un Unix con tcpwrappers instalados tiene dos ficheros
/etc/hosts.allow y /etc/hosts.deny. Utilizalos.
Por defecto, deniega todo y solo cuando veas que tienes que acceder
a algun servicio desde determinada IP, dale permiso.
Un ejemplo de estos ficheros ser�a:
--------------------------------------------------------------------------- /etc/hosts.allow # # Known trusted hosts # ALL: \ localhost \ : ALLOW sshd,sshdfwd-X11: \ localhost, \ unix-de-al-lado.unizar.es \ : severity auth.notice : ALLOW --------------------------------------------------------------------------- /etc/hosts.deny ALL: UNKNOWN : severity auth.warning : DENY ALL: PARANOID : severity auth.alert : DENY ALL:ALL:DENY ---------------------------------------------------------------------------
El tema de la seguridad en X11 es algo extenso y conviene entenderlo a fondo. Se recomienda la lectura de http://webdiis.unizar.es/~spd/sec/X11.txt
Cuando uses Netscape, procura dejar Java y JavaScript desactivado; igualmente desactiva todo lo que sea "smart" (smart updates, internet keywords, etc)
Lamentablemente, esto es así. No te basta con instalarlo y olvidarte,
periodicamente van apareciendo bugs que hay que parchear.
Si tu m�quina solo tiene un usuario (t�) y si has eliminado todos
los servicios, puede que te puedas tomar con mas calma el tema de
las actualizaciones; pero aun así conviene que estes al d�a.
Para nuestro caso, las direcciones de interes son:
Esto es algo que sabemos todos pero que muchos no cumplen. Utiliza passwords que no sean palabras de diccionario, que tengan may�sculas y min�sculas as� como n�meros y caracteres no alfanum�ricos, etc. etc.
Adem�s no uses el mismo password en todas las m�quinas. Especialmente no utilices el mismo que en maquinas inherentemente inseguras. Estas ultimas comprenden:
Si programas servicios y/o CGI's asegurate de documentarte al respecto para no introducir m�s puertas de entrada.
Algunos links:
En muchos casos, los intrusos son gente que aplica a ciegas programas que aprovechan los bugs existentes, sin tener mucha idea de lo que est�n haciendo; por lo que no borran rastros de ning�n tipo.
execve("/bin/ls", ["ls", "-d", "/"], [/* 48 vars */]) = 0 /es una mala se�al.