Wake On Lan on Firepower Thread Device (FTD)

In ASA you configure a NAT like this (for more detail on that go here):

nat (outside,inside) source static any interface destination static interface Broadcast service WakeOnLan WakeOnLan unidirectional no-proxy-arp

Unfortunately this kind of NAT doesn’t work on FTD (version 6.2.1), if you do a packet tracer it seems to work, but it doesn’t.

Sigue leyendo

Cosas que deben mejorar en: / Thinks that must be improved in: Cisco Firepower Management Center

En este post voy a ir incluyendo cosas que deben mejorar en Cisco Firepower, que hay…

1-Incluir un checkbox para marcar/desmarcar todas las opciones en system>Tools>import/export / Add a checkbox to check/uncheck all options in system>Tools>Import/export page

2-Ampliar el espacio para ver las ACEs en Access Conprol Policy / Improve space to see ACEs in Access Control Policy.

El espacio utilizado por: 1 es contenido estático, 3 es contenido estático vacío y 2 es el utilizado por el contenido que nos interesa. La suma de 1 y 3 equivale al 40,5% del total, que se utiliza con contenido inútil para la tarea de editar políticas. Sin embargo el contenido útil es de 30,2 % que según los objetos que tengas en la regla tan solo permite ver una o dos reglas, esto es bastante engorroso a la hora de moverte por la ACL. La propuesta sería añadir un botón para maximizar/minimizar la capa que muestra las ACE, permitiendo de esta manera utilizar todo el espacio del contenido estático pasando del 30% al 70% del espacio útil.

The space used by: 1 is static content, 3 is empty static content and 2 is the useful space. The sum of 1 and 3 is the 40,3 percent of the total space, and it’s used to show static useless content. Instead the useful content is only the 30,2 %, depending on the number of object of the rule it allows you to see only 1 or 2 rules, this is very annoing when you need to navigate through the ACL. A possible solution is to add a button to allow you to maximize/minimize the ACE layer, that will increase the useful space from 30% to 70%.

3-Mejorar la búsqueda de reglas (ACE) en la pantalla de edición de una ACL / Improve the search of rules (ACE) in the ACL edition screen

Parece mentira que en pleno siglo 21 se desarrolle una función de búsqueda tan limitada y engorrosa, las funciones de búsqueda en general son bastante pobres, siguiendo filosofías de los 90 principios de los 2000. En este caso en concreto observo las siguientes limitaciones:

 

4 -Ordenar el menú de secciones de System>Configuration de forma alfabética / Sort alphabetically the sections’ menu in System>Configurations:

Script para la recolección de eventos de Microsoft windows remotamente

Este script lo desarrollé para un cliente y permite recoger eventos de una o varias máquinas corriendo Microsoft Windows. Se ha probado con Microsoft Windows Server 2003 pero posiblemente funcione bien en otras versiones. A continuación inserto la documentación creada para el cliente, que explica en detalle el funcionamiento.

Descarga el script Remote-Events_log-retriever

Sigue leyendo

Convertir una máquina GNU/Linux en un “appliance”

Un cliente me pidió que le crease unas máquinas GNU/Linux con varios programas para la monitorización y el análisis del tráfico de red. La idea era repartir varias máquinas por distintos puntos de su extensa red y vigilar durante un tiempo ese segmento.

El cliente tan solo quería varias máquinas con GNU/Linux y algunos programas instalados, que se administrasen remotamente por SSH y enviaran a un servidor splunk central las alertas de Snort. Pero a mí me pareció una ocasión ideal para explotar la flexibilidad de GNU/Linux y las cosas chulas que se pueden hacer de una forma sencilla, así que me planteé los siguientes puntos que debería cubrir la solución:

  • Los usuarios no deben conocer la contraseña de administrador
  • Debe ser factible la gestión de los programas que se instalen (esto requiere privilegios de administrador)
  • Permitir su uso por usuarios con conocimiento cero de GNU/Linux (esto quiere decir que hay que evitar la SHELL)
  • Si llega a manos de un usuario con conocimientos, no quiero que desmonte el chiringuito. Hay que limitar el acceso
  • Los datos deben estar cifrados en el disco, ya que pueden contener datos sensibles y se van a mover por la geografía estatal
  • Se deben poder configurar las tarjetas de red

Para cubrir estos requisitos hay que:

  • Proteger la BIOS y el gestor de aranque (Grub) por contraseña
  • Cifrar la mayor parte del disco duro
  • Modificar el inicio para que init no lance el proceso login
  • Crear una interfaz de uso sencillo y que no permita el acceso a la SHELL

Esto en la práctica implica transformar un GNU/Linux en una caja “tonta” que muestre un menú con las distintas acciones que se le permite realizar al usuario al arrancar la máquina, es decir en el TTy1. Además decidí mostrar el log de Snort en el TTy2.

A continuación muestro la documentación entregada al cliente en la que se explica con detalle la arquitectura. La documentación incluye, en el Anexo, un script que automatiza el proceso de configuración una vez instalado GNU/Linux.

Sigue leyendo

Integrar un servidor GNU/Linux a un directorio activo de Microsoft

Estos son los pasos a seguir para integrar un servidor RedHat a un AD de Microsoft y poder iniciar sesión con usuarios de AD en RedHat.

Excepto los pasos de instalación de paquetes, el resto de pasos deben servir para el resto de distribuciones de GNU/Linux y para los Unix en general.

  • Instalar y configurar NTP para que sincronice con el ad
    • yum install ntp
    • editar /etc/ntp.conf y agegar la línea “server ip_del_DC
  • Instalar samba
    • yum install samba
    • Samba debe estar compilado con las opciones: “–with-shared-modules=idmap_ad,idmap_rid”, para comprobarlo ejecutar los comandos
      • grep idmap_ad $(which smbd)
      • grep idmap_rid $(which smbd)
  • Configurar PAM (Plugable Authentication Modules) Sigue leyendo

Guía de bastionado de Microsoft Windows Server

Esta es una guía que he desarrollado para un cliente, por lo tanto hay aspectos que se adaptan a sus necesidades (como el cortafuegos). Pero ha grandes rasgos puede ser utilizada en cualquier ámbito.

1.     Principios genéricos

A la hora de instalar, configurar y administrar un servidor, se debe:

  • Cifrar todos los datos que se transmiten a través de la red, son particularmente importante los datos relativos a nombres de usuario y contraseñas
  • Minimizar la cantidad de programas y servicios instalados y en ejecución para minimizar el riesgo potencial ante vulnerabilidades
  • Utilizar medidas de seguridad adicionales, como: antivirus, cortafuegos a nivel de host o antimalware
  • Auditar los elementos críticos y/o de mayor riesgo de cada servidor
  • Minimizar la instalación de varios servicios en un mismo servidor, para reducir el riesgo de que un servicio comprometido afecte a otros servicios
  • Realizar un buen seguimiento de las cuentas de usuario, seguir una política de contraseñas sólida y forzar su uso así como eliminar las cuentas de usuarios innecesarias o que ya no se utilicen
  • Revisar los logs de sistema y de aplicación de manera rutinaria. Enviar los logs a un servidor de logs
  • Minimizar el uso de usuarios locales
  • Utilizar la metodología del menor privilegio en todos los ámbitos

Sigue leyendo

Script modular para el bastionado de GNU/Linux

Objetivo

El script bastiona-linux pretende facilitar el proceso de aplicación de los requisitos corporativos de bastionado, a la vez que crea una plataforma flexible para la incorporación de nuevas medidas que puedan surgir en el futuro así como para eliminar o modificar las ya existentes.

Ejecución

El script se puede ejecutar de dos maneras:

1-      Mediante la asignación de permisos de ejecución

chmod +x bastiona-REL.sh

./ bastiona-REL.sh

2-      Invocando una nueva instancia de bash con el script como argumento

bash bastiona-REL.sh

Argumentos de ejecución

Es posible indicar como argumento de ejecución las opciones:

  • -h o –help: Muestra un mensaje de ayuda por pantalla
  • -r o –restore: Restaura el sistema al estado pre-bastionado, deshace todos los cambios realizados por el script de bastionado

Sigue leyendo

Guía de bastionado Linux, basado en RedHat Enterprise Linux

Esta es una guía que he desarrollado para un cliente, por lo tanto hay aspectos que se adaptan a sus necesidades (como iptables). Pero ha grandes rasgos puede ser utilizada en cualquier ámbito. También he desarrollado un script modular que automatiza todo el proceso, para más información ir a este post: Script modular para el bastionado de GNU/Linux

1.     Principios genéricos

A la hora de instalar, configurar y administrar un servidor, se debe:

  • Cifrar todos los datos que se transmiten a través de la red, son particularmente importante los datos relativos a nombres de usuario y contraseñas
  • Minimizar la cantidad de programas y servicios instalados y en ejecución para minimizar el riesgo potencial ante vulnerabilidades
  • Utilizar medidas de seguridad adicionales como: SELinux, IPtables, Apparmor
  • Auditar los elementos críticos y/o de mayor riesgo de cada servidor
  • Minimizar la instalación de varios servicios en un mismo servidor, para reducir el riesgo de que un servicio comprometido afecte a otros servicios
  • Realizar un buen seguimiento de las cuentas de usuario, crear una política de contraseñas sólida y forzar su uso así como eliminar las cuentas de usuarios innecesarias o que ya no se utilicen
  • Revisar los logs de sistema y de aplicación de manera rutinaria. Enviar los logs a un servidor de logs
  • Evitar el inicio de sesión con el usuario root. Los administradores deben usar el comando sudo para ejecutar comandos como root. Utilizar el comando visudo para editar el archivo /etc/sudoers, este comando comprueba la sintaxis del archivo antes de guardarlo
  • Utilizar la metodología del menor privilegio en todos los ámbitos

Sigue leyendo

Recovering openvas: sql_x: sqlite3_step failed: database disk image is malformed on Ubuntu 11.10 oneiric

Last weeks I was using openvas at work, and at reporting time, it stops to work dumping the error

sql_x: sqlite3_step failed: database disk image is malformed

To the log file “/var/log/openvas/openvasmd.log” I was very concerned because there was all the data needed to write the report of 2 weeks of work and it was not possible to go to the customer’s and launch the tests again. Fortunately openvas is working with a sqlite db so these are the steps I’d follow to recover this annoying situation, as sudo run:

cd /var/lib/openvas/mgr

cp tasks.db tasks.db.back

sqlite3 tasks.db

sqlite> pragma integrity_check;

*** in database main ***
Page 46364 is never used
rowid 433 missing from index results_by_type
rowid 446 missing from index results_by_type
rowid 626 missing from index results_by_type
rowid 640 missing from index results_by_type
….

….

wrong # of entries in index report_results_by_result
wrong # of entries in index report_results_by_report

So there is a problem in the database, lets follow the sqlite db recovering procedure, that is dumping to sql file an create a new db

sqlite> .output tasks.sql

sqlite> .dump

sqlite> .exit

rm tasks.db

sqlite3 -init tasks.sql tasks2.db
— Loading resources from tasks.sql
SQLite version 3.7.7 2011-06-23 19:49:22
Enter “.help” for instructions
Enter SQL statements terminated with a “;”
sqlite> .exit

And now start openvas as usual 😉