next up previous contents
Next: Checklist Up: Supervisión del sistema Previous: Supervisión del sistema

El comando find

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:

  1. 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.

  2. 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.
  3. 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.
  4. 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 up previous contents
Next: Checklist Up: Supervisión del sistema Previous: Supervisión del sistema



Celestino Gomez Cid (adm)
Fri Mar 22 16:20:52 MET 1996