13.07.2015 Views

SEGURIDAD EN UNIX Y REDES

SEGURIDAD EN UNIX Y REDES

SEGURIDAD EN UNIX Y REDES

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

268APÉNDICE A. <strong>SEGURIDAD</strong> BÁSICA PARA ADMINISTRADORESfrecuente es la generación de nuevas entradas en el fichero de claves con uid 0 (lo que implicaun total privilegio); para detectar este tipo de entradas, se puede utilizar la siguiente orden:anita:~# awk -F: ’$3=="0" {print $1}’ /etc/passwdrootanita:~#Obviamente, si como salida de la orden anterior obtenemos algún otro nombre de usuario,aparte del root, sería conveniente cancelar la cuenta de ese usuario e investigar por qué aparececon uid 0.Detectar este tipo de problemas con el sistema de ficheros de nuestro equipo puede ser unatarea complicada; la solución más rápida pasa por instalar Tripwire, comentado en este mismopunto.• Directorios de usuariosDentro del sistema de ficheros existen unos directorios especialmente conflictivos: se trata delos $HOME de los usuarios. La conflictividad de estos directorios radica principalmente en quees la zona más importante del sistema de archivos donde los usuarios van a tener permiso deescritura, por lo que su control (por ejemplo, utilizando Tripwire) es a priori más difícil queel de directorios cuyo contenido no cambie tan frecuentemente. Algunos elementos dentro deestos directorios que pueden denotar una intrusión son los siguientes:– Hemos de chequear el grupo y propietario de cada archivo para comprobar que no pertenecena usuarios privilegiados en lugar de a usuarios normales, o a grupos especiales enlugar de a grupos genéricos (users, staff. . . ). Por ejemplo, si el padre de los directoriosde usuario es /export/home/, podemos buscar dentro de él ficheros que pertenezcan aladministrador con la ordenanita:~# find /export/home/ -user root -type f -print– ¿Hay archivos setuidados o setgidados en los directorios de usuario? No debería, por loque su existencia es algo bastante sospechoso. . .– La existencia de código fuente, generalmente C, de exploits (programas que aprovechanun fallo de seguridad en el software para utilizarlo en beneficio del atacante) puede serindicativo de una contraseña robada, o de un usuario intentando conseguir un privilegiomayor en el sistema. ¿Cómo saber si un código es un exploit o una práctica de unalumno? La respuesta es obvia: leyéndolo. ¿Y si se trata de ficheros ejecutables en lugarde código fuente? man strings.• El sistema de redEstar atentos al sistema de red de nuestro equipo también nos puede proporcionar indicios deaccesos no autorizados o de otro tipo de ataques contra el sistema. Por ejemplo, si utilizamosnetstat para comprobar las conexiones activas, y detectamos una entrada similar aanita.telnet luisa.2039 16060 0 10136 0 ESTABLISHEDesto indica que desde el host luisa alguien está conectado a nuestro sistema mediante telnet;puede haber accedido o no (si ha tecleado un nombre de usuario y la contraseña correcta),pero el hecho es que la conexión está establecida.Otro método muy seguido por los piratas es asegurar la reentrada al sistema en caso de serdescubiertos, por ejemplo instalando un programa que espere conexiones en un cierto puerto yque proporcione un shell sin necesidad de login y password (o con los mismos predeterminados);por ejemplo, si el programa espera peticiones en el puerto 99, el atacante puede acceder alsistema con un simple telnet:luisa:~# telnet anita 99Trying 195.195.5.3...Connected to anita.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!