Técnicas de prevención de intrusiones

No sólo continúan los ciberataques, sino que también se intensifican. Guillaume Poupard, director general de la Agencia Nacional para la Seguridad de los Sistemas de Información (ANSSI), lo dijo y habló de «la intensificación de los ciberataques contra las empresas francesas». Según él, se han denunciado casos concretos de ciberataques, aunque la información no siempre se transmite a los medios de comunicación.

El Sr. Poupard señala que, a partir de ahora, «casi todo el mundo puede ser el objetivo».

Y este punto es muy importante, porque yo mismo hablé en una reunión de concienciación con líderes empresariales, y a menudo enfatizaron que sólo tenían poco riesgo de ser hackeados . Algunos pensaron que si su negocio es poco conocido o muy pequeño, nadie se dirigirá a ellos. Otros pensaron que sería mejor dejar toda la seguridad de la empresa en manos de los responsables de seguridad de TI.

Eso no es cierto.

El sistema de información de la empresa debe estar protegido en todos los niveles , y esto va mucho más allá del uso de software antivirus en las estaciones de trabajo.

Ya hemos hablado de la seguridad humana y de la importancia de la concienciación . El artículo de hoy proporcionará una introducción a las técnicas de prevención de intrusiones a nivel de sistema y de red.

Técnicas de prevención de intrusiones 1

¿IDS o IPS?

¿Qué es un IDS?

Sistemas de detección de intrusos» ( I ntrusion D etection S ystem en inglés) se conoce a menudo como los mecanismos para detectar un ataque o actividad sospechosa .

Existen dos tipos principales de IDS:

  • NIDS ( Network Based Intrusion Detection System ), que monitorea la actividad de la red .

Trabajan en 3 pasos:

En primer lugar, se captura el tráfico de red, incluyendo el uso de la famosa biblioteca de captura de paquetes PCAP. Los paquetes capturados son filtrados para refinar las búsquedas.

A continuación, se realiza un análisis de firmas, con las mismas desventajas que los análisis antivirus tradicionales. Los ataques o vulnerabilidades de 0day son difíciles de detectar al tener sólo una base de datos de firmas predefinida.

Por último, las alertas se generan y almacenan en archivos de registro de forma estandarizada.

  • HIDS ( Host-Based Intrusion Detection System ), que supervisa la actividad en el sistema (host).

HIDS funciona como un servicio estándar en el sistema operativo que monitorea la actividad del usuario y del proceso. El número y tipo de procesos, los comandos utilizados, las fechas de las conexiones de los usuarios son algunos de los muchos elementos que un HIDS monitoreará.

Por supuesto, existen los llamados IDS «híbridos»: actúan a nivel de host y de red al mismo tiempo . En particular, un IDS híbrido es útil para analizar lo que se conoce como «correlación», es decir, el vínculo entre varios eventos. Esto permite un análisis mucho más preciso. Por ejemplo, si se genera un error HTTP 404, no es sospechoso como tal, pero si al mismo tiempo varias otras peticiones generan errores, hay una probabilidad de que el sitio sea atacado.

Estos sistemas también permiten sacar conclusiones sobre las conductas sospechosas identificadas o no. Algún tipo de estudio sobre las ciberamenazas.

Implementación clásica con IDS Snort

Usaré en este pequeño tutorial la versión 2.9.7.6 de Snort y la instalaré en una máquina Ubuntu 14.04 .

También puedes visitar Snort.org para descargar la última versión de Snort.

Nota: Autosnort es una serie de scripts para configurar Snort pero también los prerrequisitos y plugins. Si desea automatizar lo siguiente, y más, puede ir directamente a través de Autosnort. En casa, parece ser un problema, así que no voy a usarlo.

Por lo tanto, primero instalaremos manualmente los requisitos previos:

sudo apt-get install -y build-essential libpcap-dev libpcre3-dev libdumbnet-dev bison flex zlib1g-dev

A continuación, crearemos una carpeta en la que se descargará Snort:

mkdir ~/snort_src
cd ~/snort_src

Ahora instalemos DAQ ( Data AcQuisition library ) que reemplaza las llamadas de función directas LibPcap para hacer Snort más flexible (asegúrate de usar la última versión de DAQ, posiblemente reemplazando «2.0.6»):

wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz
tar -xvzf daq-2.0.0.0.6.tar.gz
cd daq-2.0.6.6
./configurar
hacer
sudo make install

Todavía tenemos que instalar Snort (asegúrate de usar la última versión de Snort, posiblemente reemplazando «2.9.7.6»):

cd ~/snort_src
wget https://www.snort.org/downloads/snort/snort-2.9.7.6.tar.gz
tar -xvzf snort-2.9.7.7.7.6.tar.gz
cd snort-2.9.9.7.6
./configure --enable-sourcefire
hacer
sudo make install

Dos últimas cosas que arreglar (actualización de librerías compartidas y enlace simbólico):

sudo ldconfig
sudo ln -s /usr/local/bin/snort /usr/sbin/snort

A continuación, debe estar listo para usar Snort. Debe tenerse en cuenta que hay tres maneras de usar Snort:

  • Modo olfateo de paquetes : para observar la información del encabezado.
  • Modo de registro de paquetes : para observar los paquetes en una fecha posterior.
  • Modo IDS : compara los paquetes con las reglas establecidas.

Para usarlo en modo IDS, crearemos una cuenta especial para Snort (no queremos usar la cuenta root) y copiaremos los ficheros de configuración necesarios en «/etc/snort» con los derechos necesarios:

Sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort
sudo mkdir /etc/snort
sudo mkdir /etc/snort/rules
sudo mkdir /etc/snort/preproc_rules
sudo touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.rules
sudo mkdir /var/log/snort
sudo mkdir /usr/local/lib/snort_dynamicrules
sudo chmod -R 5775 /etc/snort
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules
sudo cp ~/snort_src/snort-2.9.7.7.7.0/etc/*.conf* /etc/snort
sudo cp ~/snort_src/snort-2.9.7.7.7.0/etc/*.map /etc/snort

Justo antes de lanzarlo, editaremos el archivo de configuración:

sudo vi /etc/snort/snort.conf

Y añade nuestra dirección IP y las rutas correctas para las reglas (modifica las siguientes variables):

ipvar HOME_NET 10.0.2.2.2.15/24 #Coloque SU dirección IP local aquí
ipvar EXTERNAL_NET!$HOME_NET
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules

Las reglas (designadas por include seguidas de un nombre de archivo) se descargarán automáticamente a través de PulledPork , para que pueda comentarlas:

sudo sed -i’s/include $RULE_PATH/#include $RULE_PATH/’ /etc/snort/snort.conf.

Excepto que el siguiente archivo de reglas puede ser descomentado para añadir una regla y probarla (eliminar el hash antes de «incluir»):

incluir $RULE_PATH/local.rules

Hagamos una prueba de configuración:

sudo snort -T -c /etc/snort/snort.conf

Si Snort indica el siguiente texto, todo está bien:

Snort validó con éxito la configuración!
Esnifar saliendo

Así que añadamos una regla simple al archivo «/etc/snort/rules/local.rules»:

alert icmp any any -> $HOME_NET any (msg: «ICMP test»; sid:1000000001; rev:001;)

Snort Snoops:

sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0

y hacer un ping a una máquina externa para observar la alerta:

Técnicas de prevención de intrusiones 2

La parte superior de la imagen muestra Snort en acción, nuestra alerta se dispara a cada petición de ping que se muestra en la parte inferior.

A partir de ahí, queda crear sus propias reglas o descargarlas directamente de la página web oficial.

¿Qué es un IPS?

Los IPSs funcionan de forma similar a los IDSs pero toman acción , se denominan «activos».

Ya no estamos hablando de NIDS y HIDS, sino de NIPS y HIPS. Normalmente, un NIPS puede abandonar o cancelar una conexión TCP considerada sospechosa y un HIPS puede matar un proceso y eliminar un programa sospechoso.

Snort también juega el papel de IPS a través de plugins como SnortSam.

El IPS más conocido es probablemente fail2ban, que observa los registros del sistema buscando patrones específicos prohibiendo a los usuarios en consecuencia.

La protección de la empresa con un IPS

No todo es tan prometedor para los sistemas de detección y prevención de intrusiones. Los ataques se diversifican y se especializan cada vez más, las técnicas de día también son difíciles de combatir.

Para ser lo más eficaz posible, un buen sistema de prevención de intrusiones debe integrar ciertos puntos fundamentales.

Contenido relacionado

Deja un comentario