1- Agujeros de seguridad físicos
Cuando el problema potencial, esta causado debido al hecho de dar a personas sin autorización, acceso físico a la maquina, cuando esto les permite realizar cosas, que no deberían ser capaces de hacer.
Un buen ejemplo de esto podría ser una sala pública, con estaciones de trabajo, donde seria facilísimo para un usuario, el reinicializar una maquina en modo mono-usuario y trastear con los archivos de la estación de trabajo, si no se tomasen precauciones.
Otro ejemplo de esto es la necesidad de restringir el acceso a cintas backup confidenciales, que de otro modo podrían ser leídas por cualquier usuario con acceso a las cintas y con una unidad de cinta, independientemente de si tuvieran o no permiso.
2 - Agujeros de seguridad en el software
Cuando el problema esta causado por una mala escritura de partes "privilegiadas" de software (daemons, cronjobs) que pueden estar comprometidos a realizar tareas que no deberían.
El ejemplo mas famoso de esto es el bug del sendmail que podía permitir a un cracker el pillar una shell root. Esto podría ser usado para borrar archivos, crear nuevas cuentas, copiar el fichero de passwords, cualquier cosa.
Nota: Contrariamente a lo que la gente piensa, los ataques vía sendmail no estaban solo restringidos al infame "Gusano de Internet" (Internet Worm) - cualquier cracker podía hacer esto Telneteando al puerto 25 de la víctima. La historia detrás de un agujero similar (esta vez en el software "move-mail" de EMACS) se describe en [Stoll].
Nuevos agujeros como este aparecen todo el tiempo, y tus mejores esperanzas son:
3 - Agujeros de seguridad de uso incompatible
Cuando, a través de la falta de experiencia, o no por fallo suyo, el administrador del sistema reúne una combinación de hardware y software y esta es usada como un sistema, estar seriamente dañado desde el punto de vista de la seguridad. Es la incompatibilidad de intentar hacer dos inconexos pero útiles actos lo que crea agujeros de seguridad.
Problemas como este son muy difíciles de encontrar una vez que el sistema esta creado y funcionando, así que es mejor el crear el sistema con ellos en mente (fallos). Aunque nunca es tarde para volver a pensarlo.
4 - Elegir una filosofía de seguridad adecuada y mantenerla
El cuarto tipo de problema de seguridad es el de la percepción y el entendimiento. Software perfecto, hardware protegido, y componentes compatibles no funcionan a menos que hayas elegido una política de seguridad correcta y que hayas puesto en marcha las partes de tu sistema que la refuercen.
Tener el mejor mecanismo de password del mundo es inútil si tus usuarios creen que la ultima parte del nombre de su login es un buen password! La seguridad esta relacionada con una política (o conjunto de políticas/normas) y el funcionamiento de tu sistema conforme a dicha política.