Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TRABAJO DE DIPLOMA
Santa Clara
2011
TRABAJO DE DIPLOMA
angel@uclv.edu.cu
henrym@uclv.edu.cu
Santa Clara
2011
Los abajo firmantes certificamos que el presente trabajo ha sido realizado segn acuerdo de
la direccin de nuestro centro y el mismo cumple con los requisitos que debe tener un
trabajo de esta envergadura referido a la temtica sealada.
PENSAMIENTO
Las grandes conquistas siempre van acompaadas de grandes sacrificios, pero no siempre
el sacrificio asegura la victoria. Mas no importa, esfurzate, se valiente y habrs hecho tu
parte.
Samuel
ii
DEDICATORIA
AGRADECIMIENTOS
A mi tutor: Ing. Henry Moreno por su ayuda para hacer posible este proyecto.
A mis compaeros de estudio que han transitado este camino junto a m.
A todos los que de una forma u otra me ayudaron.
.
iv
TAREA TCNICA
Para el logro del objetivo propuesto en el presente trabajo, la investigacin sigue una lnea
definida por un grupo de tareas, las cuales son:
RESUMEN
TABLA DE CONTENIDOS
PENSAMIENTO ..................................................................................................................... i
DEDICATORIA ..................................................................................................................... ii
RESUMEN.............................................................................................................................. v
INTRODUCCIN ..................................................................................................................1
1.4.2 Definicin......................................................................................................14
Conclusiones .....................................................................................................................54
Recomendaciones..............................................................................................................55
ANEXOS ..............................................................................................................................60
INTRODUCCIN
1
INTRODUCCIN
Para evitar los ataques se usan los denominados controles o mecanismos de defensa como
medida de proteccin. Un control es una accin, dispositivo o procedimiento que elimina o
reduce una vulnerabilidad.
Los sistemas de proteccin convencionales como los firewalls y antivirus, entre otros,
empiezan a ser insuficientes ante la gran variedad de ataques que da a da son cada vez
ms devastadores (Cheswick, Bellovin et al. 2003), esto muestra que es necesario crear una
nueva lnea de defensa que les evite a los administradores la tarea de estar pendientes en
todo momento de su red.
Los atacantes estn evolucionando y aparecen nuevas tcnicas como los Troyanos, gusanos
y escaneos silenciosos que atraviesan los cortafuegos mediante protocolos permitidos como
HTTP, ICMP o DNS. Los atacantes buscan vulnerabilidades en los pocos servicios que el
cortafuego permite y enmascaran sus ataques dentro de estos protocolos, quedando la red
expuesta de nuevo.
INTRODUCCIN
3
En esta lnea, surgen los sistemas de deteccin de intrusos, como uno de los campos ms
investigados en los ltimos aos.
Es por ello que el presente trabajo tratar sobre el estudio e implementacin de uno de los
sistemas de deteccin de intruso ms utilizados basado en red, el Snort. Este es un software
muy flexible que ofrece la posibilidad de almacenar sus bitcoras tanto en archivo de texto
como en una base de datos. Igualmente implementa un motor de deteccin de ataques y un
barrido de puertos, registrando, alertando y respondiendo ante cualquier anomala.(Riley
2010).
Introduccin
Se define la importancia, actualidad y necesidad del tema que se aborda y se plantean los
elementos del diseo terico.
Captulo I
Captulo II
Captulo III
Conclusiones
Se realiza un anlisis de los resultados obtenidos a partir de los objetivos que se trazaron
inicialmente.
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
6
Esto permite a los atacantes tomar control de sistemas completos y provocar graves
desastres en organizaciones o empresas con alto grado de dependencia tecnolgica. Los
objetivos atacados son, en la mayora de casos, elementos visibles de la red, como
servidores Web y de DNS o bsicos como routers y enlaces de red.
Una de las primeras actividades que un potencial atacante realiza contra su objetivo es un
escaneo de puertos (en ingls portscan); esto le permite obtener una informacin bsica
acerca de qu servicios estn ofreciendo las mquinas atacadas y adicionalmente, otros
detalles del entorno como qu sistema operativo est instalado en cada host o ciertas
caractersticas de la arquitectura de la red. Mediante el anlisis de los puertos que estn
abiertos en un sistema, el atacante puede buscar agujeros en cada uno de los servicios
ofrecidos, cada puerto abierto en una mquina es una potencial puerta de entrada a la
misma.
Comprobar el estado de un determinado puerto es a priori una tarea muy sencilla; existen
herramientas como Strobe o Nmap que pueden realizar esta tarea de una forma cmoda.
Existen diferentes aproximaciones para clasificar los escaneos de puertos, tanto en funcin
de las tcnicas seguidas en el ataque como en funcin de a qu sistemas o puertos concretos
va dirigido.
open
half-open
stealth
Existe otro modelo de escaneo denominado stealth scanning. Por stealth scanning se
conoce como la familia de tcnicas de escaneo que cumplen alguna de las siguientes
condiciones:
Simular trfico normal y real para no levantar sospechas ante un analizador de red.
1.2.2.1 IP Spoofing
Es una tcnica conocida tambin como identity spoofing o IP address spoofing (Tulloch
2003), y est basada en la generacin de paquetes IP dentro de cualquier protocolo TCP/IP
como ICMP, TCP o UDP, con una direccin origen falsa, para identificar a un ordenador
como vlido en una red. Luego de ganar acceso a la red el atacante puede modificar,
redireccionar o eliminar datos, que a su vez puede generar otros tipos de ataques.
Se ha de tener en cuenta que las respuestas del host que reciba los paquetes irn dirigidas al
dispositivo cuya IP ha sido falsificada. Esta tcnica es usada a veces junto con un ataque de
DoS que inhabilitara por ejemplo las respuestas RST. Una herramienta expandida para
realizar ataques de esta clase es, el Smurf.
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
9
Se falsea las entradas dominio-IP de un servidor DNS (del ingls Domain Name Server),
suplantando su identidad ante la resolucin de nombres (Kaufman, Perlman et al. 2002).
Esto se puede conseguir de diferentes formas, desde modificando las entradas del servidor
encargado de resolver una cierta peticin para falsear las relaciones direccin-nombre,
hasta comprometiendo un servidor que infecte la cach de otro (DNS Poisoning); incluso
sin acceso a un servidor DNS real. Un atacante puede enviar datos falseados como
respuesta a una peticin de su vctima sin ms que averiguar los nmeros de secuencia
correctos.
Existen programas que permiten copiar una base de datos secundarios entera de nombres de
dominio desde un servidor DNS, para su posterior anlisis, como por ejemplo el DIG.
El protocolo ARP (del ingls Address Resolution Protocol) es usado para encontrar una
direccin de Ethernet MAC a partir de una IP, a travs de una tabla de correlacin. El
ataque denominado ARP Spoofing hace referencia a la construccin de tramas de solicitud y
respuesta ARP falseadas a travs de la suplantacin de su MAC, de forma que en una red
local se puede forzar a una determinada mquina a que enve los paquetes a un host
atacante en lugar de hacerlo a su destino legtimo.
Los efectos del ataque pueden ser muy negativos, desde negaciones de servicio hasta
interceptacin de datos, incluyendo algunos man in the middle (Merino 2011) contra ciertos
protocolos cifrados.
Este ataque permite a un atacante visualizar y modificar cualquier pgina Web que su
vctima solicite a travs de un navegador, incluyendo las conexiones seguras va SSL (del
ingls Secure Socket Layer). Para ello, mediante el cdigo malicioso un atacante crea una
ventana del navegador correspondiente, de apariencia inofensiva, en la mquina de su
vctima; a partir de ah, enruta todas las pginas dirigidas al equipo atacado, incluyendo las
cargadas en nuevas ventanas del navegador, a travs de su propia mquina, donde son
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
10
modificadas para que cualquier evento generado por el cliente sea registrado (esto implica
registrar cualquier dato introducido en un formulario, cualquier enlace seleccionado, etc.).
Tpicamente una vez finalizado el ataque se vuelve al estado de normalidad, aunque puede
darse el caso en que simultneamente se lancen otros ataques diferentes y/o
complementarios cuyo objetivo s sea comprometer el sistema. Los tres protocolos en los
que se basan las tcnicas de saturacin de paquetes, o flooding, son TCP, UDP e ICMP.
Este ataque es una variante ms potente de los de DoS, y tal como lo indica el nombre, es
ejecutado de forma distribuida. Se basa en realizar ataques DoS de forma masiva an
mismo objetivo desde diferentes localizaciones en la red, de forma que la potencia de
ataque sea superior. El ataque comienza por una fase de escaneo mltiple con una
vulnerabilidad conocida a un conjunto de objetivos, luego al obtener acceso a parte de ellos,
se instala la herramienta DDoS. Estos sistemas comprometidos servirn para escanear y
comprometer nuevos sistemas, atacando remotamente rdenes del intruso a travs de un
handler, el cual se encargara de gestionar el registro de estos.
Los ataques pueden ser de tipo TCP half-open o TCP SYN flood, a su vez existen algunas
herramientas especficas para ejecutarlos, por ejemplo Smurf, que inunda el objetivo
enviando mensajes falsificados de ping broadcast , Fraggle, Trinoo, TFN, Stacheldraht,
TFN2K, Mstream, Tornkit, Trinity DDoS, Erkms, Lion, Carko, Wormkit,etc
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
11
1.2.5 Sniffing
Esta es una tcnica muy extendida y efectiva, tiene como objetivo la obtencin de
informacin sensible y el acceso progresivo a determinados sistemas. Su funcionamiento
radica en la captura de datos mientras estos atraviesan la red, esto se hace mediante la
activacin de una o varias interfaces de red en modo promiscuo, por tanto todos los datos
de las tramas pueden ser capturados, analizados y evaluados por los sniffer, que almacenan
los registros con todo el trfico obtenido, sea destinatario o generado por el propio sistema
o desde /hacia cualquier otro elemento compartido del entorno de red.
Los Sniffers ms utilizados son Netcat, Wireshark, Tcpdump, Hunt, Snort (en su modo de
sniffer).
Los firewalls son elementos, implementados tanto en hardware como en software, usados
para controlar las comunicaciones, permitindolas o restringindolas (mantienen una TCP
connection state por cada conexin que se establece a travs de l) de acuerdo con las
polticas de red predefinidas por la organizacin responsable de la red, con el objetivo de
proteger sitios remotos o redes de frontera (Chapman, Zwicky et al. 1995). Tambin son
usados para proteger partes de la red de otras partes de la misma en el caso de ataques.
Los proxy son componentes constituidos como programas o dispositivos, que ejecutan y
desarrollan actividad en representacin de otro, como intermediario, con los objetivos de
mantener los dispositivos annimos al hacer conexiones con ciertas aplicaciones e
incrementar su acceso a determinados recursos va caching (Tulloch 2003).
Las redes privadas virtuales o VPN (del ingls virtual private network) representan una
capa de seguridad dirigida a redes pblicas o privadas para hacer conexiones de forma
segura, y as permite extender de forma segura una red local sobre una red pblica o no
controlada (generalmente sobre Internet).
Para conseguir proteccin de datos en las conexiones las VPN utilizan mecanismos
de autenticacin y encriptacin (por ejemplo, 3DES o AES) para proveer una capa de
defensa sobre la conexin de red.
Una lista de acceso o ACL (del ingls Access Control List) es un concepto telemtico por
el cual se permite y/o deniega trfico de red otorgando o restringiendo privilegios. Esto se
hace a travs de parmetros determinados tales como direccin IP fuente y/o destino,
servicios de red o nmero de puerto. (Krutz 2005).
Generalmente los routers con ACL no mantienen una TCP conection state para cada
conexin.
Los routers con listas de acceso ofrecen proteccin perimetral y una base de defensa porque
estos son a la vez dispositivos de frontera para redes perimetrales y elementos ncleo para
grandes redes. Los ACL y los Firewalls se combinan para componer la base de las defensas
tradicionales de redes seguras. (Kaufman, Perlman et al. 2002).
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
13
1.4.1 Antecedentes
Dichas auditoras fueron incluidas por el Departamento de Defensa de los Estados Unidos
como requisito en cualquier sistema de conanza. Esto est incluido en el llamado Libro
Marrn (Center 1988) de la serie de documentos publicados por dicho departamento
relativos a los Sistemas de Conanza (denominados Serie Arco Iris debido al color de sus
tapas).
El primer modelo de deteccin de anomalas fue propuesto por Dorothy Denning (Denning
1986), se basaba en la idea de monitorizar las operaciones estndares de un sistema
objetivo, observando desviaciones en su uso. Su artculo provee un marco para establecer
las metodologas que posteriormente inspiraran a muchos investigadores.
En 1990, surgen los primeros proyectos de IDS basados en red por Todd Heberlein, el cual
desarrolla NSM (Network Security Monitor) (Heberlein 1995) en la Universidad de
California. En esa misma fecha, en Los lamos National Laboratory de EEUU se realiza un
prototipo de un sistema experto que monitoriza la actividad de red. Su nombre es NADIR
(del ingls Network Anomaly Detector and Intrusion Reporter) (Mukherjee, Heberlein et al.
1994).
1.4.2 Definicin
Los IDS ayudan a entender el ataque, estimar los daos causados y tratan de prevenir otros
ataques similares.
En el momento que un IDS toma una decisin, ste puede tomarla de forma correcta o
incorrecta. En la figura 1.1 se muestran los cuatro posibles estados: (Sobiery 2007).
El objetivo del IDS es maximizar los aciertos (verdaderos negativos y verdaderos positivos)
y minimizar el nmero de fallos del IDS (falsos positivos y falsos negativos).
Las altas tasas de falsos positivos y de falsos negativos pueden minar los motivos para usar
un IDS. Los falsos positivos ocupan tiempo y recursos cuando el IDS genera falsas
alarmas. Peor an son los falsos negativos, que son todos los ataques que el IDS falla en
detectar. Estas tasas complican la justificacin del empleo de un IDS, pudiendo ser
consecuencia de su arquitectura y configuracin. (Molina and Joaqun 2008).
Un IDS puede compartir u obtener informacin de otros sistemas como firewalls, routers y
switches, lo que permite reconfigurar las caractersticas de la red de acuerdo a los eventos
que se generan. Tambin permite que se utilicen protocolos como SNMP (del ingls Simple
Network Management Protocol) para enviar notificaciones y alertas a otras mquinas de la
red. Esta caracterstica de los IDS recibe el nombre de interoperabilidad.
Este tipo de sistemas son anteriores a los NIDS. En la dcada de los 80 era habitual revisar
los ficheros de log de los sistemas para intentar encontrar actividades sospechosas o
relevantes en lo que respecta a la seguridad del sistema.
los eventos de manera ms precisa, reconociendo a los usuarios y procesos que han
generado dichos procesos.
Actualmente, estos sistemas tan rpidos detectan un cambio en estos ficheros de log o en
los ficheros de configuracin del sistema, los comparan con sus ficheros de configuracin
en los cuales tienen establecidas las polticas de seguridad del sistema, y la respuesta que
deben dar ante determinados cambios. Algunos de estos sistemas tienen adems la
capacidad de escuchar en determinados puertos del sistema, y lanzar una alarma cuando
estos puertos son accedidos.
Ventajas:
Desventajas:
Estos sistemas toman el trfico de la red como entrada de datos. Habitualmente utilizan una
interfaz de red que est configurado para su funcionamiento en modo promiscuo, de modo
que escuchan y analizan todo el trfico que circula por la red en tiempo real. Normalmente,
aplican un filtro a este trfico, para determinar cules de los paquetes son descartados, y
cules son dejados para ser analizados. Esto ayuda a que el rendimiento de estas
aplicaciones sea mejorado, puesto que aquel trfico que se sabe que no es malicioso, es
pasado por alto. (Sobiery 2007).
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
18
Ventajas:
Anlisis de paquetes: Examinan todas las cabeceras de los paquetes para la deteccin
de actividades sospechosas en la red. Muchos de los ataques por denegacin de
servicio que se producen actualmente, pueden ser detectados nicamente
examinando las cabeceras de los paquetes que circulan a travs de la red. Un NIDS
colocado estratgicamente dentro de la red puede llegar a monitorizar una red
grande sin afectar el funcionamiento de la red.
Eliminacin de las evidencias: Utilizan el trfico de red para detectar los ataques, por
tanto, los atacantes no pueden eliminar los rastros que sus acciones dejan. Este es
uno de los problemas que se encuentran en los HIDS, puesto que el atacante puede
ser capaz de eliminar cualquier rastro, borrando determinadas lneas de los ficheros
de log.
Independencia del sistema operativo. Los NIDS no son dependientes del sistema
operativo que se est ejecutando en las mquinas, mientras que los HIDS requieren
distintas instalaciones dependiendo del sistema operativo que est instalado en cada
uno de estos equipos.
Desventajas:
En una red grande en la que se genera una gran cantidad de trfico, el NIDS puede
tener dificultades para procesar todos los paquetes de red recibidos si no est
correctamente configurado.
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
19
Tpicamente se colocan en reas con control en el flujo de red, por ello resulta razonable
colocar un NIDS en el segmento por el cual fluya la mayor cantidad de trfico (Kabiri and
Ghorbani 2005). Colocarlo antes o detrs del firewall puede tambin resultar til, ya que
para el primer caso se puede tener una representacin de la cantidad de ataques que son
filtrados en el firewall y en el segundo las alarmas representan ataques que han podido
sobrepasar a este. Tambin se puede colocar paralelamente al firewall o a la DMZ como en
la figura 1.2.
Cisco
Symantec
Enterasys
Por otro lado adems de las soluciones comerciales se tienen soluciones de libre
distribucin de gran utilidad como:
Snort (http://www.snort.org/)
Aide (http://sourceforge.net/projects/aide)
Snare (http://www.intersectalliance.com).
1.5 Snort
1.5.1 Descripcin
Snort es un IDS en tiempo real desarrollado por Martn Roesch (Roesch 2009) y est
disponible bajo licencia GNU General Public License (GLP); es gratuito y funciona bajo
plataformas Windows y GNU/Linux (Rehman 2003).Actualmente el proyecto est
respaldado por la empresa Source Fire fundada por el mismo Roesch, la cual fue comprada
en el 2005 por la multinacional Checkpoint.
Este IDS implementa un lenguaje de creacin de reglas flexibles, potente y sencillo, lo que
se convierte en uno de los ms usados y dispone de una gran cantidad de filtros o reglas
para backdoor, ddos, finger, ftp, ataques Web, CGI, escaneos Nmap.
Plug-ins de Salida
Plug-ins de Deteccin
Motor de Deteccin
Lee y aplica
Referencia
Preprocesadores
Archivos de Reglas
Decodificador
Mdulo de Captura
(Basado en LibPcap o WinPcap)
Trfico de la Red
listadas en los ficheros de reglas de Snort para encontrar posibles ataques o actividades
anmalas dentro de esos paquetes. (Rehman 2003).
Snort mantiene sus reglas de deteccin en una lista enlazada de dos dimensiones que son
llamadas Chain Headers y Chain Options (vase figura 1.6). Estas son listas de reglas
que han sido condensadas en una lista de atributos comunes en Chain Headers con los
modificadores que permiten insertar opciones en la deteccin en la parte de Chain
Options. Por ejemplo, en las 45 reglas de deteccin de pruebas de ataques por CGI-BIN,
que estn especificadas en la librera comn de reglas de Snort, generalmente la direccin
IP origen y destino as como el puerto origen y el puerto destino es el mismo, por tanto,
todas estas reglas deteccin estn condensadas en una nica Chain Header y las
caractersticas particulares de cada regla estn insertadas en las estructuras de Chain
Options. Esto se hace as, para lograr que el motor de deteccin funcione de una forma
ms rpida.
Cuando llega un paquete al motor de deteccin, este busca en la lista Chain Header de
izquierda a derecha la primera coincidencia. Despus, buscar por la lista Chain Option
si el paquete cumple las opciones especicadas. Si aparece alguna coincidencia no sigue
buscando y se toman las acciones correspondientes. En caso contrario, busca en el
siguiente nodo de Chain Header.
Estas cadenas de reglas son buscadas recursivamente para cada paquete en ambas
direcciones. El motor de deteccin solamente chequea aquellas cadenas que hayan sido
inicializadas al lanzarse el programa, por tanto para que cualquier modificacin de los
ficheros en los que estn definidas las reglas se incluyan, ha de pararse el programa y
volverse a lanzar. La primera regla que coincida con el paquete decodificado lanza la
accin que lleva asociada en la definicin de la regla, y retorna.
1.5.3.3 Preprocesadores
Las alertas, pueden ser enviadas al sistema de log de la maquina (syslog, slo en mquinas
UNIX) almacenadas en ficheros de log en dos formatos diferentes, enviadas mediante
WinPopup (utilizando el cliente SMB proporcionado por Samba). (Cox and Gerg 2004)
Hay dos opciones para enviar las alertas a un fichero de texto plano, mandar las alertas por
completo, o una manera rpida de almacenar esta alertas en el fichero de texto.
CAPTULO 1Introduccin a los Sistemas de Detencin de Intrusos.
25
Cada una de las reglas est dividida en dos secciones lgicas, la cabecera de la regla y sus
opciones (vase figura 1.7). La cabecera de la regla contiene la accin asociada a la regla,
el protocolo la direccin IP fuente y destino as como las mscaras de red y los puertos
fuente y destino del paquete (vase figura 1.8). La parte de las opciones de la regla contiene
los mensajes de alerta e informacin adicional en las que se le dice en que partes del
paquete se ha de fijar, para determinar si la accin definida en la cabecera de la regla ha de
ser tomada o no. (Gregg 2006)
Alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"ICMP PING NMAP";
dsize: 0; itype: 8; reference: arachnids, 162; classtype: attempted-
recon; Sid: 469; rev: 3 ;)
En el anexo I se realiza una descripcin completa sobre las reglas, su formato y sus
campos.
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
26
En esta investigacin, Snort registra la informacin de las alertas en una base de datos
mysql, denominada Snort. La eleccin de Mysql radica en que es el gestor de base de datos
Open Source ms popular, que permite dar la posibilidad de crear y configurar usuarios,
asignando a cada uno de ellos permisos diferentes (Harper 2004.). Adems da la opcin de
exportar e importar datos fcilmente, incluso una base de datos completa. Esta informacin
que brinda Snort y que es almacenada en Mysql, es posible acceder a ella de forma
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
27
ordenada y sencilla a travs de la aplicacin Web escrita en Php denominada BASE (del
ingls Basic Analysis and Security Engine). BASE es el sucesor de otro sistema
denominado ACID (del ingls Analysis Console for Instruction Databases), surge debido a
la dificultad de analizar los cientos de alertas que se generan en redes con alto trfico. Entre
las facilidades que ofrece BASE, y que se convirtieron en los aspectos considerados para su
uso en el proyecto, se tiene la opcin de hacer bsquedas de alertas especficas ya sean por
IP fuente/destino, por fecha, por ataque, por protocolo, realizar informes, grficas, y
permite adems observar de una forma grfica los paquetes capturados y la generacin de
grficas estadsticas.
Para la instalacin del Snort compilado con Mysql es necesaria la instalacin de otros
elementos importantes para su funcionamiento adecuado los cuales se describen a
continuacin.
2.1.1 Apache2
Es un servidor Web HTTP de cdigo abierto para plataformas Unix (BSD, GNU/Linux) y
para los sistemas operativos de Microsoft Windows y Macintosh. Apache presenta la
capacidad de tener cdigo abierto y ser configurable para la aplicacin de bases de datos
que se utiliza en el proyecto con la ayuda de mysql. Apache tiene amplia aceptacin en la
red: desde 1996, es el servidor HTTP ms usado, alcanz su mxima cuota de mercado en
2005 siendo el servidor empleado en el 70% de los sitios Web en el mundo.
2.1.2 Php5
La mayor parte de su sintaxis ha sido tomada de C, Java y Perl con algunas caractersticas
especficas de s mismo. La meta del lenguaje es permitir rpidamente a los desarrolladores
la generacin dinmica de pginas.
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
28
Para la instalacin del Snort a travs del gestor de paquetes, de mysql-server, apache 2 y de
los dems paquetes complementarios; se ejecutan los siguientes comandos en el
terminal.(Rehman 2003).
Al instalar este ltimo, se pide definir una red la HOME NET o red local, esto se puede
realizar de forma opcional en ese momento o ms adelante dentro de la configuracin del
Snort.
La ejecucin del servidor de mysql se puede comprobar con el comando ps aux | grep
mysql.
Se realiza la conexin como root al servicio de mysql y se crea la base de datos y los
permisos para Snortusr (Harper 2004.). Para abrir intrprete de mysql (vase figura 2.2), se
ejecuta desde el terminal, el comando mysql uroot -p y se pone la contrasea de root.
(vase figura 2.1).
A continuacin se crea la nueva base de datos llamada Snort. Para realizar esto se ejecuta el
comando que se muestra en la figura 2.3.
Se debe crear un usuario especfico para la base de datos Snort, para no usar el usuario root,
esto se realiza mediante el comando grant all on Snort.* to User@localhost identified by
'clave'; (vase figura 2.4).
Es importante sealar que el login y el password para la base de datos snort debe ser el
mismo que el especificado en el archivo /etc/snort/snort.conf, durante la configuracin del
Snort.
Completado ambos pasos, se verifica para confirmar que todo est bien; para eso se entra
en el intrprete de mysql como el usuario de snort creado anteriormente. La comprobacin
de la base de datos y la estructura de tabla se realiza con los siguientes comandos.
Mediante este comando se presenta en pantalla todas las tablas creadas dentro de Snort.
Despus de preparar la base de datos, se comienza a configurar el Snort. Para que Snort
funcione como un IDS de redes es necesario definir y estructurar su comportamiento en su
archivo de configuracin, snort.conf (vase figura 2.8), el cual se encuentra ubicado por
defecto en el directorio /etc/ snort. (Belmonte 2002).
Se necesita aadir informacin sobre la red y los servidores, de forma que Snort pueda
relacionar las reglas correctamente. Para garantizar que el sistema monitoriza el trfico
adecuado, las variables HOME_NET y EXTERNAL_NET deben reflejar la infraestructura
de la red. En una red simple, HOME_NET se define un rango de IP privado, como
192.168.0.0/24. Esto implica que todo el trfico originado en el rango de IP 192.168.0.1-
255 es considerado trfico interno (Belmonte 2002. ). Estos detalles varan dependiendo de
cada configuracin. Si en nuestra red interna hay varias subredes, se puede aadir todas
separndolas con comas. La entrada EXTERNAL_NET es un listado de direcciones
especficas que se consideran externas. La forma ms sencilla de configurarla es usando el
valor !$HOME_NET, que Snort entender como cualquier direccin distinta de
HOME_NET.
Se recomienda establecer al menos los servidores de DNS (del ingls Domain Name
Server) que utilizan nuestros equipos, para evitar falsos positivos.(Gramajo 2005).
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
33
Para la realizacin de esta investigacin se configura como red interna a proteger varias
subredes lo cual se muestra en la figura 2.9, en caso de haber sido ms de una red se
separan por comas y se ponen entre corchetes; tambin se definen como servidores de DNS
el 10.12.20.1 y el 10.12.20.2 y como servidor Web el 10.12.20.5. Los dems servidores
estn configurados con la con la palabra clave any para especificar cualquier servidor
dentro de la red como se observa en la figura. (vase figura 2.10).
A partir de la versin 1.5 aparecieron los preprocesadores que permiten que las
funcionalidades de Snort sean extendidas por los usuarios proporcionando un sistema de
acceso a los paquetes antes de que sean procesados por el motor de deteccin de Snort y las
reglas. Las configuraciones predeterminadas para estos subsistemas son muy generales, a
medida que se experimente con Snort, se puede ajustar para obtener un mejor rendimiento
y resultados.
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
34
preprocessor <nombre>:<opciones>
Preprocesadores configurados:
Sfportscan
Un escaneo de puertos se define como una conexin TCP que intenta acceder a ms de P
puertos en S segundos, o paquetes UDP que son enviados a ms de P puertos en S
segundos. Estos escaneos pueden ser realizados a numerosas direcciones IP destino as
como a numerosos puertos a travs de distintas direcciones IP.
Proto: Indica que protocolo se desea que inspeccione para detectar un scan. Se
puede usar tcp, udp, ip, all.
Memcap: Mxima cantidad de memoria a usar por sfportscan expresada en bytes.
A mayor cantidad, mayor capacidad de deteccin.
Sense_level: Ajusta el nivel de sensibilidad de la deteccin. Puede ser low, medium
o high: Es importante este ajuste para no generar falsos positivos / negativos.
Dependiendo del nivel indicado, se podr en el preprocesador detectar un mayor
nmero de escaneos pero a cambio de la generacin de falsas alertas.
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
35
En el caso de que haya servidores que no se quiera que sean controlados por el
preprocesador de escaneo de puertos (como pueden ser servidores NTP, NFS, y
servidores DNS). Los argumentos que se le pasan a este preprocesador consisten en una
lista de los pares direccin IP que han de ignorarse. En la figura 2.11 se muestra el
Prepocesador sfportscan configurado para este trabajo.
Http_Inspect
Http_Inspect: decodifica el protocolo HTTP para aplicaciones del usuario. Dado un buffer
de datos, http-inspect decodifica el buffer, encuentra los campos HTTP y los normaliza.
Este preprocesador permite alertar ante ciertos campos sospechosos en el protocolo HTTP.
El principal problema que con http_inspect es que alerta sobre codificaciones sospechosas
donde los "afectados" son servers de la extranet. Los alertas ms recurrentes son "Double
decoding attack", "IIS Unicode Codepoint Encoding", "Bare Byte Unicode Encoding", y
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
36
"Oversize Request URI Directory". La mayora de los alertas son falsos positivos y se
deben al funcionamiento de cada pgina.
Debido a que solo interesan los ataques sobre los servers Web de la red local, y dada la
cantidad de falsos positivos, es necesario modificar la configuracin.(Gramajo 2005).
Como se puede observar, en la parte aparece la configuracin global (Unicode a 1252), esto
viene as por defecto y se deja as. La segunda parte es la fundamental, en donde se define
el comportamiento del preprocesador para cualquier servidor (server default). All se agrega
la opcin "no_alerts" para que no enve alertas.
A continuacin se especifican las opciones para los servers de nuestra intranet en la figura
2.12:
Los plugin de salida permiten elegir de entre una gran de variedad de formatos de salida.
Estos deciden si van a ser ficheros de texto (logs) o a una base de datos, y decide tambin
en que formato irn escritos (binario, texto plano, xml).
outputalert_unified:Snort.alert, limit128
Para el caso de que se desee acceder a los datos desde Base, se activa la lnea output
database: log, mysql que guarda la salida en la base de datos mysql definiendo previamente
una contrasea y el usuario. (vase figura 2.14)
Una limitacin que presenta el Snort es que no proporciona ninguna solucin integrada para
enviar alertas un escritorio remoto. Como ocurre con muchos otros proyectos *nix, sin
embargo, es fcil hacer que Snort interacte con otras utilidades. Dos de los posibles
candidatos son Swatch y Logsurfer.(Riley 2010).
Snort proporciona una seleccin de reglas de filtrado para el trfico no deseado. Como se
aborda en el captulo 1, cada regla consta de dos secciones: la cabecera y las opciones. La
cabecera describe el mensaje que se muestra al dispararse la accin. La opcin contiene
palabras clave para indicar a Snort cmo debe inspeccionar el paquete, as como referencias
tiles para la investigacin, que se muestran cada vez que se dispare una alerta.
Snort trae por defecto una serie de reglas predefinidas de las cuales algunas se ilustran en la
figura 2.15; para ajustar las alertas hasta un nivel manejable y garantizar que se monitorean
los servicios correctos, se puede modificar este conjunto de reglas; creando un listado ms
centralizado se reduce la cantidad de paquetes perdidos y mejoramos el rendimiento. Para
ello se comentan o des comentan las reglas deseadas. Se recomienda mirar los ficheros de
reglas antes de incluirlos, puesto que las reglas por defecto son muy restrictivas y generan
demasiadas alertas. Las reglas que se dejan activas son las que dependen de la
infraestructura de la red y de los requerimientos en general debido a que muchas de ellas
pueden, ocasionalmente, causar falsos positivos. (Roesch 2009).
Snort tambin permite crear reglas personalizadas, para ello se crea un fichero que se ubica
en el directorio rules (\etc\snort\) y se adiciona en el fichero snort.configurando la siguiente
lnea de cdigo con el nombre del fichero que contiene las reglas personalizadas.
Include $RULE_PATH/mis_reglas.rules
Al aadir estas reglas, se dota a los IDS de una capa adicional de proteccin o, al menos, de
un sistema de deteccin por si el problema aparece.
Por ltimo se puede configurar el correo del administrador para que reciba los informes de
alertas diarias que se encuentran en la variable DEBIAN_SNORT_STATS_RCPT del
archivo /etc/Snort/Snort.debian.conf.
DEBIAN_SNORT_STATS_RCPT=correo@tuyo.com
Este archivo contiene informacin sensible, como la contrasea para conectarse a la base de
datos de Snort, adems permite elegir en qu idioma se desea que aparezca la informacin
visualizada.
En este fichero se configuran dos usuarios, el primero (Snort) tendr acceso como usuario,
la segunda base de datos (Snort_archive) (vase figura 2.16), es creada por BASE para que
los usuarios puedan archivar alertas importantes.
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
40
En (Riley 2010) se plantea que por razones de seguridad y rendimiento, siempre es mejor
instalarlo todo en un sistema distinto del sensor de Snort.
Otra herramienta fundamental para un IDS es el Pmgraph. Este es un script escrito en Perl,
que genera dos pginas html con tablas que muestran el rendimiento de Snort. (Cox and
Gerg 2004).
Donde time 60 indica que genere el fichero cada 60 segundos; file /var/log/snort/snort.stats
es el fichero que genera; y pktcnt 100 indica que se ajuste el nmero de paquetes a procesar
a 100 antes de que finalice el tiempo especificado.
El siguiente paso que hay que realizar es descargar los paquete rrdtool, rrdtool-devel, perl-
RRD-Simple y librdds-perl desde el gestor de paquetes mediante el comando apt en el
terminar.
Como se desea que la pgina Web se actualice automticamente entonces hay que
programar cron para ejecute el comando para genera la pgina Web. Como en el fichero
/etc/snort.conf se ha indicado que el fichero /var/log/snort/snort.stats se genere cada 60
segundos entonces hay que ejecutar crontab e y aadir el siguiente comando:
Con el objetivo de evaluar el desempeo del IDS implementado con el Snort se utilizan una
serie de herramientas para realizar las pruebas de seguridad, estas consisten en la
realizacin de ataques (principalmente escaneos de puertos) desde diferentes localizaciones.
Las caractersticas de cada una de dichas herramientas se muestran a continuacin.
Adems ofrece otras varias prestaciones como deteccin de sistemas operativos (y sus
versiones) va TCP/IP fingerprinting, escaneo paralelo, deteccin de dispositivos no activos
va pings paralelos, deco y scanning, port filtering detection, direct (non-portmapper) RPC
scanning, fragmentation Scanning y flexible target y port specification.(Orebaugh and
Pinkard 2008).
Hace uso de paquetes IP para determinar los tipos de firewalls o filtradores de paquetes en
empleo.
El resultado del escaneo es usualmente una lista de puertos de inters en las mquinas
escaneadas, mostrando el nmero, estado, protocolo y el ms probable nombre del servicio.
Los estados son abiertos, filtrado, sin filtrar y cerrado.
Sin filtrar: Puertos sin filtrar detectados por escneres ACK o de ventanas.
GFI LANguard Network Security Scanner (GFI LANguard N.S.S.) es una herramienta de
auditora de seguridad, la cual proactivamente informa, y soporta la reparacin de las
vulnerabilidades de red puntualmente.
Es una solucin empresarial esencial y rentable para salvaguardar sus sistemas y redes de
ataques hacker y brechas de seguridad. El producto analiza toda la red, realiza ms de
15.000 evaluaciones de vulnerabilidad e identifica todas las posibles amenazas de
seguridad. Cuando se finaliza el anlisis, GFI LANguard proporciona a los administradores
las lneas maestras sobre cmo pueden ser dirigidas y proporciona toda la funcionalidad
necesaria para instalar y administrar eficazmente parches en los 38 idiomas soportados por
los productos Microsoft.
CAPTULO 2 .Implementacin de un IDS mediante el Snort.
45
Ganador de los premios Best of TechEd en 2007 y altamente recomendado por los jueces
de los premios SC Magazine Europe en 2008, GFI LANguard permite a los
administradores analizar, detectar, evaluar y rectificar vulnerabilidades en sus redes y
asegurarlas con el mnimo esfuerzo administrativo. La ltima versin se fundamenta en un
extenso conjunto de caractersticas para hacer ms fcil a los usuarios la gestin de anlisis
de red, la instalacin de parches y conseguir una instantnea completa de la seguridad de
sus redes.
GFI LANguard N.S.S. tambin est equipado con algoritmos que comprueban la presencia
de software de seguridad particular (es decir, aplicaciones antivirus y antispyware).
CAPTULO 3. Ejecucin de Pruebas y Anlisis de Resultados .
46
En esta seccin se muestran los resultados obtenidos luego de algunos ataques realizados;
se van a visualizar diversas capturas de pantalla con las alertas generadas por Snort. Para
ello se utilizan dos programas, el GFI Languard en Windows y el Nmap en Linux.
Prueba 1
Prueba 2
En esta prueba se utiliz el decoys D para tratar de engaar al host, hacindole creer que el
escaneo se est generando desde otros hosts.
Prueba 3
Prueba 4
En esta prueba se utiliz la opcin -A, que habilita la deteccin del sistema operativo y
versin, y la opcin -T4 que acelera el proceso.
Nmap A T4 10.12.20.18
CAPTULO 3. Ejecucin de Pruebas y Anlisis de Resultados .
49
Prueba 5
En esta prueba se realiz un escaneo completo con GFI Languard (vase figura 3.9) y parte
de los resultados se pueden ver en la figura 3.10.
CAPTULO 3. Ejecucin de Pruebas y Anlisis de Resultados .
50
Luego de realizadas las distintas pruebas se pudo observar que la mayora de los diferentes
escaneos fueron detectados por el IDS, destacando las pruebas 1, 2 y 3 las cuales se utilizan
para evasin de cortafuegos/IDS y falsificacin.
En la prueba 3 se dividi la cabecera del paquete TCP para hacer ms difcil su deteccin.
En la figura 3.6 se puede observar que la trama que se obtuvo tiene un tamao de 8 byte
que es la divisin por defecto que realiza el Nmap, no obstante el IDS fue capaz de
detectarlo.
En las pruebas 1 y 2 se utilizaron IP seuelos para poder realizar el escner, a lo que el IDS
es incapaz de detectar la verdadera direccin de origen.
A continuacin se presentan algunos datos que brinda el IDS implementado con el Snort.
Bsqueda de Alertas.
La bsqueda de las alertas se puede realizar por detalles, es decir por el sensor que las
gener, fecha en la que se gener la alerta, grupo al que pertenece, adems presenta otras
CAPTULO 3. Ejecucin de Pruebas y Anlisis de Resultados .
52
En este captulo se mostraron los resultados de los escaneos realizados los cuales fueron
detectados exitosamente por el Snort. Adems se presentaron algunos resultados obtenidos
durante un perodo de tiempo en el cual estuvo activado el IDS en donde se observaron los
IP que con ms frecuencias fueron detectados. Tambin se mostraron los resultados
arrojados por el Pmgraph en donde se pudo ver de forma grfica las alerta por segundo y el
promedio de los paquetes medidos en bytes.
CONCLUSIONES Y RECOMENDACIONES
54
CONCLUSIONES Y RECOMENDACIONES
Conclusiones
Permite integrase con otras herramientas, como por ejemplo Pmgraph, para mejorar
su rendimiento, y BASE, para facilitar el anlisis de los resultados.
A travs de las pruebas realizadas se pudo ver la capacidad de deteccin del sistema,
mediante el anlisis de las alertas producidas y las direcciones de los equipos que
intervinieron en dichas alertas. Adems se pudo evaluar el rendimiento del sistema
durante un perodo de tiempo.
Recomendaciones
REFERENCIAS BIBLIOGRFICAS
Caswell, B., J. Beale, et al. (2003). Snort 2.0 Intrusion Detection, Syngress Media Inc. [En
lnea]. Disponible en: http://www.hotfile.com/dl/27844250/b24d57d/snort-2-0-intrusion-
detection.9781931836746.23862.pdf.html. [Consultado el 20 de abril del 2011]
Chapman, D. B., E. D. Zwicky, et al. (1995). Building internet firewalls, O'Reilly &
Associates, Inc.
Cheswick, W. R., S. M. Bellovin, et al. (2003). Firewalls and Internet security: repelling the
wily hacker, Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA. [En lnea].
Disponible en: http://www.dannyreviews.com/h/Firewalls_and_Internet_Security.html.
[Consultado el 15 de marzo del 2011]
REFERENCIAS BIBLIOGRFICAS
57
Cox, K. and C. Gerg (2004). Managing security with Snort and IDS tools, O'Reilly Media,
Inc. [En lnea]. Disponible en: http://www.pdfwindows.com/pdf/oreilly-managing-security-
with-snort-and- ids-tools-1st. [Consultado el 17 de abril del 2011]
Freed, N. (2000). RFC 2979: Behavior of and Requirements for Internet Firewalls,
Network Working Group. [En lnea]. Disponible en: http://www.ietf.org/rfc/rfc2979.txt
[Consultado el 5 de marzo del 2011]
Gregg, M. (2006). Hack the stack: using snort and ethereal to master the 8 layers of an
insecure network, Syngress. [En lnea]. Disponible en: http://www.ebookee.org/Hack-the-
Stack-Using-Snort-and-Ethereal-to-Master-the-8-Layers-of-an-Insecure-
N_873.html.[Consultado el 18 de mayo del 2011]
Harper, P. (2004.). Snort Install Manual Snort, Apache, SSL, PHP, Mysql, Acid Install on
Fedora Core 2. N. Oliver. [En lnea]. Disponible en: http://www.
www.internetsecurityguru.com/documents/Snort_SSL_FC2.pdf.[Consultado el 13 de abril
del 2011]
Heberlein, T. (1995). Network Security Monitor (NSM) - Final Report. Davis, CA,
Lawrence Livermore National Laboratory.
Kaufman, C., R. Perlman, et al. (2002). Network security, Prentice Hall PTR.
Kelley, C., J. Barnes, et al. (2002). OpenSource GPS Open Source Software for Learning
about GPS, Citeseer: 25242533.
Krutz, E. C. y. R (2005). Network Security Bible, Wiley Publishing, Inc. [En lnea].
Disponible en:
http://www.researchandmarkets.com/reports/1086287/network_security_bible_2nd_edition.
pdf. [Consultado el 20 de marzo del 2011]
Lyon, G. F. (2009). Nmap Network Scanning: The Official Nmap Project Guide to
Network Discovery and Security Scanning, Insecure. Disponible en: http://www.
nmap.org/book/cover/nns-cover.pdf.[Consultado el 14 de mayo del 2011]
Molina, M. and J. Joaqun (2008). Arquitectura dirigida por eventos para un sistema de
deteccin de intrusiones basado en patrones. Universidad de Murcia.
Mukherjee, B., L. T. Heberlein, et al. (1994). Network intrusion detection, IEEE. 8: 26-41.
Ney, C. (2006.). Escaneando comprendiendo las tcnicas de anlisis con nmap. Linux
Magazine. : 60-66.
Noel, S., D. Wijesekera, et al. (2002). Modern intrusion detection, data mining, and degrees
of attack guilt, Citeseer: 2-25.
Orebaugh, A. and B. Pinkard (2008). Nmap in the enterprise: your guide to network
scanning, Syngress. Disponible en: http://www.4shared.com/NmapintheEnterprise
YourGuideto.html.[Consultado el 20 de mayo del 2011]
REFERENCIAS BIBLIOGRFICAS
59
Rehman, R. U. (2003). Intrusion detection systems with Snort: advanced IDS techniques
using Snort, Apache, Mysql, PHP, and ACID, Prentice Hall PTR. Disponible en: http://
www.warezrocker.net/121861-intrusion-detection-with-snort-advanced-ids-techniques-
using-snort-apache- mysql-php-and-acid.html.[Consultado el 22 de abril del 2011]
Riley, C. (2010). Deteccin de Intrusiones con Snort. Revista Linux 60 a 66. Disponible en:
http://www.linux- magazine.es. [Consultado el 14 de abril del 2011]
Roesch, M., Ed. (2009). The Snort Project. Snort Users Manual 2.8.4. Disponible en:
http://www.snort.org/assets/82/snort_manual.pdf.[Consultado el 5 de mayo del 2011]
Scott, C., P. Wolfe, et al. (2004). Snort for dummies, For Dummies.
Sobiery, M. (2007). "Michael Sobireys Intrusion Detection Systems page." Disponible en:
http://www.isl.cse.sc.edu/mirrorSobireys.shtml.[Consultado el 26 de marzo del 2011]
Staff, H. (2005). "The Story of Snort: Past, Present and Future." Disponible en:
http://www.net-security.org/article.php?id=860. [Consultado el 10 de abril del 2011]
Zhou, Z., C. Zhongwen, et al. (2005). The study on network intrusion detection system of
Snort, IEEE. 2: 194-196.
ANEXOS
60
ANEXOS
Acciones asociadas.
Protocolos.
Direcciones IP.
Nmeros de puerto.
Direccin de la operacin.
Acciones
Le indican al motor de deteccin que ha de hacer cuando encuentre un paquete que
coincida con el criterio de la regla. Snort proporciona tres posibles acciones:
Alert. Genera una alerta utilizando el mtodo de alerta seleccionado al invocar al programa
desde la lnea de comandos.
Direcciones IP
Por desgracia, Snort no proporciona ningn mecanismo para traducir de direccin IP a
nombre de equipo.
Las direcciones estn formadas por una direccin IP junto con su bloque CIDR.
Adems el lenguaje de definicin de reglas de Snort, nos provee del operador de negacin.
Este operador indica al programa que aplica determinada regla para todas las direcciones
que no coincidan con el rango que se le especifica. El operador de negacin es !.
Nmeros de puertos
Puerto fuente mayor que un determinado nmero, y puerto destino menor que un
determinado puerto:
Direccin de la operacin
Este operador -> indica la orientacin o direccin del trfico al que la regla se aplica. La
direccin IP y puerto de ambos lados de este operador indican que la regla se aplicar a
cualquier paquete que tenga como origen el par IP puerto de la parte izquierda de la regla y
como destino el par IP puerto de la parte derecha de la regla. Adems de este operador
ANEXOS
62
Estas opciones son la parte central el motor de deteccin que Snort proporciona.
Cada una de las opciones que Snort proporciona han de estar separadas por un ;, as como
el identificador de la opcin ha de estar separado de la opcin en si por :
De esta forma, tenemos veinte opciones distintas que pueden ser aplicadas a una regla:
Icode- Chequea el valor de este campo dentro del paquete ICMP para ver si
coincide con un determinado valor.
Sesin. Descarga la informacin del nivel de aplicacin para una determinada
sesin.
Icmp_id- Chequea el valor del campo ICMP ECHO ID para ver si coincide con un
determinado valor.
Icmp_seq- Chequea el valor del nmero de secuencia de un paquete ICMP ECHO
para ver si corresponde con un determinado valor.
Ip-option- Busca dentro del campo de opciones de paquete IP.
Rpc- Busca servicios RPC para una determinada llamada a una aplicacin /
procedimiento.
Resp- Activa respuesta (cada de conexiones, etc).
Anexo II Preprocesadores que presenta el Snort
frag3
Stream5
Track_udp no
Rpc_decode
Ftp_telnet
FTP/Telnet trabaja tanto con respuestas del cliente como del servidor.
Encrypted_traffic yes \
Inspection_type stateful
normalize \
ayt_attack_thresh 200
def_max_param_len 100 \
telnet_cmds yes \
data_chan
max_resp_len 256 \
bounce yes \
telnet_cmds yes
Ssh
Detecta lo siguiente: Gobbles, CRC 32, Seguridad CRT, y el protocolo Mismatch exploit.
max_client_bytes 19600 \
max_encrypted_packets 20
Dcerp
preprocessor dcerpc:\
autodetect \
max_frag_size 3000 \
memcap 100000
DNS
preprocessor dns: \
ports {53} \
enable_rdata_overflow
Smtp
preprocessor smtp:\
inspection_type stateful \
normalize cmds \