Next: Checklist
Up: Supervisión del sistema
Previous: Supervisión del sistema
El comando find es un comando de búsqueda de propósito general.
Usando varios argumentos y la comparación de patrones basándose en el nombre de
fichero, tipo, modo, propietario, modificación, fecha, y otras
características, se puede conseguir obtener información importante en
cuanto a la seguridad del sistema de ficheros.
Algunas de las características que podemos buscar son:
- Encontrar ficheros Setuid y Setgid. Estos programas
confieren derechos especiales a los usuarios que los ejecutan, es necesario
comprobar que no hay programas inseguros instalados. Se deben seguir
especialmente los programas que tengan como due no efectivo al root.
Un truco que usan los crackers es una vez que han entrado en el
sistema, dejar uno de estos programas pudiendo así volver a entrar en el
sistema cuando lo deseen. La forma de llevar a cabo la búsqueda es la
siguiente:
# find / -type f -a (-perm -4000 -o -perm -2000 ) -print
algunas de estas opciones son:
- /.
- Indica el directorio desde dónde va a dar comienzo la búsqueda.
- -type f.
- Sólo examina los ficheros normales, para directorios es la opción ``d'', para enlaces simbólicos ls ``l''
, la ``c'' para dispositivos de caracteres especiales, y la ``b'' para dispositivos de bloques especiales.
- -a.
- Quiere decir ``y''. Esto es que se busque los ficheros del tipo indicado y con la condición de permisos que se incluye a
continuación.
- ( -perm -4000 -o -perm -2000 ).
- Los paréntesis se utilizan para agrupar. El perm -4000 indica que se busquen
aquellos ficheros con el bit ``4000'' activo(en hexadecimal). Es el bit des ``se-user-id''. El bit ``2000'' es análogo al anterior
sólo que para los grupos. La -o indica ``o''.
- -print.
- Indica que se impriman todos los ficheros que coincidan con las características anteriores.
- Encontrar ficheros modificables por cualquiera. Estos ficheros pueden ser un agujero de seguridad si un ``cracker'' consigue
entrar en el sistema y los modifica. Para llevar a cabo la búsqueda a partir del comando find:
# find / -perm -2 -print
Dónde el -2 indica el bit de permisos de escritura de un fichero. Esta búsqueda es larga e incluye ciertos ficheros que deben poderse
escribir por todo el mundo, por ejemplo, los del directorio /dev, al igual que los permisos sobre los enlaces simbólicos que no tienen
significado.
- Encontrar ficheros sin due no. El encontrar ficheros con propietario desconocido, puede ser una indicación que un cracker
ha conseguido entrar en nuestro sistema. La forma de llevar a cabo la búsqueda a partir del comando find es la siguiente:
# find / -nouser -print
La opción -nouser comprueba que el propietario del fichero se encuentre en el fichero de passwords de nuestro sistema. También
se puede hacer lo mismo para el caso de los grupos con la opción -nogroup.
- Búsqueda del fichero .rhosts. Como hemos visto, puede ser conveniente no permitir que los usuarios tengan un fichero
.rhosts en sus directorios. Mediante el comando find:
# find /home -name .rhosts -print
Next: Checklist
Up: Supervisión del sistema
Previous: Supervisión del sistema
Celestino Gomez Cid (adm)
Fri Mar 22 16:20:52 MET 1996