El campo de las auditorías de seguridad es francamente extenso, por lo que, antes de recomendar herramientas, me voy a permitir hacer un pequeño enfoque de las soluciones, y de cómo emplear cada una de ellas según la situación. Actualmente, en el área de las auditorías de seguridad, existen dos metodologías de trabajo: - Auditoría de Seguridad. - Test de Penetración o "hacking ético". En el primero de los casos, se realiza un análisis de la seguridad de una red o sistema, pero siempre sin llegar a modificar nada del objetivo. La intención de dicho análisis es realizar un listado de los defectos encontrados, junto con las modificaciones pertinentes para solucionar dichos defectos. Existen dos tipos de auditorías de seguridad: - Caja Negra: Al analista se le proporciona una dirección IP, y tiene que obtener toda la información posible de dicha IP y del resto de equipos que se encuentren en el rango asociado. No se realiza ninguna intrusión, tan solo se detecta y se anota. Se emplea también una variante desde la cual el analista puede realizar el análisis desde la propia Intranet (para de esta forma poder medir la eficiencia del cortafuegos o resto de elementos de seguridad que aíslan la Intranet de Internet). - Caja Blanca: El analista de seguridad tiene una visión total de la red a analizar, así como acceso a todos los equipos como superusuario. Se realiza una análisis de la configuración del S.O, de los servicios instalados, de las comunicaciones entre equipos, etc... Las auditorías de seguridad como tales tienen la ventaja de ser realmente metódicas y concienzudas, dando como resultado una visión muy cercana del estado de seguridad de un sistema. En el Test de Penetración, sin embargo, se toma un enfoque muy diferente: se le proporciona al analista de seguridad un rango de IP, y se le especifica un objetivo ("obtener tal fichero de personal", "tomar control del servidor X"). A partir de ese momento, el analista se comporta como un intruso, realizando todas las operaciones que estime oportuno para lograr su objetivo (aquí es importante tener un buen respaldo legal y definir antes del inicio del test lo que se puede y lo que no se puede hacer). La ventaja principal de los Test de Penetración es que simulan un ataque real por parte de un intruso con elevados conocimientos de seguridad, por lo que pueden detectar fallos en la implementación, en la programación de las páginas web, etc... Como desventaja, el tener que un resultado negativo del test no implica que la red sea segura, sino que el analista no ha conseguido penetrarla, por lo que no tenemos la seguridad de que nuestra red sea realmente hermética. En mi opinión las Auditorías de Seguridad dan mejores resultados que los Test de Penetración, ya que permiten analizar más en profundidad los entresijos de la red, y puede contribuir de forma sensible a mejorar el estado de seguridad de la misma. Los Test de Penetración son interesantes una vez nuestro sistema está blindado y bastionado por completo, ya que simulan ataques reales y permiten poner a prueba la seguridad de la red. Si tuviera que analizar el estado de seguridad de la red, personalmente encargaría una auditoría inicial, y la iría alternando con test de penetración, de forma que se realizara uno cada seis meses (la mejor periodicidad para estas cosas). Herramientas: - Port Scanners: Detectan la existencia de equipos en una red, y los servicios que ofrecen. Gratuitos: nmap, Hping - Analizadores de vulnerabilidades: Herramientas que realizan comprobaciones automatizadas de vulnerabilidades, pudiendo algunas corregir de forma automática dichas vulnerabilidades. Comerciales: Cybercop Scanner