You are on page 1of 8

INSTALACION, CONFIGURACION Y COMPARACIN IDS SURICATA CON OTROS IDS

CARACTERISTICAS HERRAMIENTA SURICATA multi-Threading: Esta caracterstica es uno de los fuertes de suricata pues las soluciones software libre actuales de IDS/IPS y algunas de fabricantes, son uni-threaded. Multi-Threading consiste en procesar los paquetes en uno o ms Hilos (Threads), y de esta manera se puede aprovechar el procesamiento multincleos de los actuales procesadores, haciendo que cada ncleo del procesador se encargue del procesamiento de uno o ms hilos. Esto no es posible con soluciones como snort que son uni-threaded. Estadsticas de Rendimiento: Este mdulo se encarga de contar elementos de rendimiento como nuevas tramas/sec, duracin, etc; y almacena esta informacin para presentarlos como estadsticas al administrador de alguna manera, ya sea va logs, mensajes SNMP, va web, etc.

Deteccin de Protocolos Automtico: El motor de suricata tiene palabras claves para algunos protocolos como: IP, TCP, UDP, ICMP, HTTP, TLS, FTP y SMB. Esto quiere decir que se puede detectar una ocurrencia dentro de un stream de datos, sin importar el puerto en donde ocurre. Esta caracterstica es importante para el control y deteccin de malware. Otros protocolos de capa 7 se encuentran an en desarrollo. Descompresin Gzip: Con la ayuda de la librera HTP es posible descomprimir un archivo en Gzip para examinarlo en busca de patrones de ataque. Independencia de la librera HTP: La librera HTP es un proyecto independiente a suricata e integrado efectivamente a suricata. Puede ser utilizado por otras aplicaciones como: proxies, filtros; y hasta el mdulo mod_security de Apache. Mtodos de Entrada Estndar: Soporte para NFQueu, IPFRing y LibPcap standard para la captura de trfico. Unified2 Output: Soporte para mtodos y herramientas de salida estndar Unified2. Este tipo de salida binario busca reducir carga al Suricata en cuanto a parseo de la informacin de salida, dejndole el trabajo a soluciones externas como Barnyard quien agarra los binarios, los interpreta y los almacena segn donde configure el administrador. Fast IP Matching: El motor de suricata puede usar automticamente un preprocesador especial para validar ms rpidos las reglas que hagan coincidencia nicamente de IP; por ejemplo, RBN, o las listas de ip de EmergingThreats. HTTP Log Module: Las peticiones de HTTP pueden retornar una respuesta con el formato de log de apache para monitoreo y registro de actividad.. Es posible usar Suricata nicamente como HTTP sniffer con este mdulo. IP Reputation: Consiste en compartir informacin de direcciones IP de mala reputacin con otras organizaciones y soluciones de seguridad, para eliminar falsos positivos. Este mdulo se encarga de colectar, almacenar, actualizar y distribuir el conocimiento de la reputacin de direcciones IP. Esta calificacin puede ser positiva o negativa y clasifica a las IP en categoras. Funcionara bajo

una estructura Hub and Spoke donde en una base de datos central (Hub) se almacenara y procesara toda la informacin recolectada por los IDS para luego ser compilada y distribuida a la base de datos de los IDS clientes (Spokes). La implementacin tcnica est dividida en tres componentes: La integracin con el motor, reputaciones y el protocolo de comunicacin entre Hubs y sensores (IDS s) el Hub, o base de datos central, que redistribuir las Graphics Card Acceleration: usando CUDA y OpenCL se puede utilizar el poder de procesamiento de las tarjetas grficas para acelerar el IDS y quitarle carga al procesador principal para ganar rendimiento. Este mdulo ya est includo desde la versin 0.9.x de suricata pero an sin los resultados esperados. An en desarrollo. Windows Binaries: Suricata tambin puede correr en Windows, sobre versiones mayores a XP, aunque no es muy recomendable hacerlo pues es una solucin inicialmente desarrollada para Linux que se caracteriza por ser ms estable que Windows. Flowint: Permite la captura, almacenamiento y comparacin de datos en una variable global, es decir que permitir comparar datos de paquetes provenientes de streams no relacionadas tambin. Se puede usar para un buen nmero de cosas tiles como contar ocurrencias, sumar o restar ocurrencias, activar una alarma al obtener un nmero x de ocurrencias, etc. Mdulo de capa de aplicacin SSH: El interpretador SSH interpreta sesiones SSH y detiene la deteccin e inspeccin del flujo de datos despus de que la parte de encriptacin ha sido inicializada. Este mdulo implementado en la versin estable 1.0.2, se concentra en reducir el nmero de paquetes que necesita inspeccin al igual que los mdulos SSL y TSL. Ms sobre el Multi-threading de Suricata Como se ha mencionado, Suricata funciona a base de multi-hilos, usa mltiples ncleos del CPU para procesar paquetes de manera simultnea. Si est en un CPU con un solo ncleo los paquetes sern procesados uno por uno. Existen 4 mdulos por hilo de CPU: Adquisicin de paquete, decodificacin de paquete, capa de flujo de datos, detecciones y salidas. El mdulo de adquisicin de paquete lee el paquete desde la red. El mdulo de decodificacin interpreta el paquete y se encarga de gestionar a qu stream pertenece qu paquete; el mdulo de capa de flujo realiza 3 tareas: La primera, realiza lo que se conoce como tracking o rastreo de flujo, que asegura que todos los pasos que se estn siguiendo tienen una conexin de red correcta. La segunda: el trfico de red TCP viene en paquetes, por lo tanto el motor de este mdulo reconstruye el stream original. Finalmente la capa de aplicacin ser inspeccionada, tanto el flujo HTTP como DCERPC (Distributing analizado. Los hilos de deteccin compararan firmas, pueden existir varios hilos de deteccin que pueden trabajar simultneamente. En el mdulo de detecciones y salidas, todas las alertas y eventos sern analizados.

INSTALACIN SURICATA VERSIN 1.3.5: Antes de poder construir Suricata para su sistema, ejecute el comando siguiente para asegurarse de que tiene todo lo necesario para la instalacin. sudo yum -y install libpcap libpcap-devel libnet libnet-devel pcre \ pcre-devel gcc gcc-c++ automake autoconf libtool make libyaml \

libyaml-devel zlib zlib-devel libcap-ng libcap-ng-devel file-devel file egn el estado actual de su sistema, puede tomar un tiempo para completar este proceso. HTP HTP se incluye con Suricata e instalar automticamente. Si tiene que instalar manualmente HTP por otras razones, las instrucciones se pueden encontrar en la instalacin de la biblioteca HTP . IPS . Si usted planea construir Suricata con capacidades de IPS a travs de / configure - enablenfqueue, escriba lo siguiente:

sudo yum -y install libnfnetlink libnfnetlink-devel \ libnetfilter_queue libnetfilter_queue-devel

Para descargar y generar Suricata, escriba lo siguiente: wget http://www.openinfosecfoundation.org/download/suricata-1.4.tar.gz tar -xvzf suricata-1.4.tar.gz cd suricata-1.4

bash autogen.sh

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var make sudo make install

/configure && make && make install-conf make install-conf

./configure && make && make install-rules make install-rules ./configure && make && make install-full make install-full

sudo mkdir /var/log/suricata sudo mkdir /etc/suricata

sudo cp classification.config /etc/suricata sudo cp reference.config /etc/suricata sudo cp suricata.yaml /etc/suricata

configure && make && make install-conf make install-conf ./configure && make && make install-rules make install-rules ./configure && make && make install-full make install-full

ifconfig

sudo suricata -c /etc/suricata/suricata.yaml -i wlan0

cd /var/log/suricata

tail http.log

tail -n 50 stats.log

tail -f http.log stats.log

CONFIGURACION BASICA Y REGLAS ./configure make make --enable-nfqueue install

Hay una versin en los repositorios de Debian, pero se compilo porque necesito la NFQUEUE (para que funcione como IPS). Instalado ya, tendremos los archivos de configuracin en /etc/suricata/, y el principal es suricata.yaml. Los archivos de reglas en los que se basar, a m me cogi por defecto los de Snort (/etc/snort/rules/), aunque se pueden coger otras distintas (ms actualizadas y adems recomendadas) mediante el OinkMaster, explicado perfectamente y con dibujitos aquhttps://redmine.openinfosecfoundation.org/projects/suricata/wiki/Rule_Management_with_Oink master. En estos archivos de reglas podemos editar las reglas que queramos, por ejemplo podemos crear una regla que bloquee todo acceso al Facebook y meterla al archivo /etc/snort/rules/webmisc.rules, o al archivo icmp.rules: drop tcp any any -> any any (content:"facebook"; msg:"Attention, Facebook!!!"; sid:1000002; rev:1;) Aunque si realmente se quiere ver un conjunto de reglas que bloqueen cierto contenido observar el archivo /etc/snort/rules/porn.rules, como ejemplo de la definicin de el archivo . se puede crear filtros y reglas, por ejemplo rechaza todos los paquetes que vayan por protocolo ICMP (por ejemplo el PING). drop icmp any any -> any any (msg:"Tenemos una peticin ICMP!";sid:20000;)

Con un poco de imaginacin se puede hacer cualquier cosa. Pero para que el suricata pueda tirar paquetes, tenemos que decirle al IpTables que le mande todo lo que encuentre:

iptables iptables iptables

-A -A -A

INPUT OUTPUT FORWARD

-j -j -j

NFQUEUE NFQUEUE NFQUEUE

La NFQUEUE es la cola que procesar el suricata para analizar luego los paquetes. Para que nos funcione dicha cola tenemos que entrar a la configuracin en /etc/suricata/suricata.yaml, buscar NFQ y descomentarmode: accept Y sudo por suricata ltimo -c ejecutamos /etc/suricata/suricata.yaml el -q suricata 0

Como se puede observar el Suricata puede hacer muchas cosillas, aunque echo de menos cosas que tena el OSSEC como los baneos inteligentes (durante varios minutos y luego se quitaba, o tras varios ataques seguidos en un corto periodo de tiempo, que con ste se puede hacer pero bastante ms complicado). Realmente el Suricata se parece mucho al Snort, lo que tiene a mayores es una mayor optimizacin y rendimiento (Multi-thread y aceleradores de captura), y que parece que apunta a ser el sucesor del Snort.

TABLA DE COMPARACIN

Param IPS caracterstica

Suricata opcional al compilar (- enablenfqueue) VRT :: reglas de Snort EmergingThreats normas

Esnifar Snort_inline o snort utiliza con la opcin-Q VRT :: reglas de Snort As que las reglas EmergingThreats normas

Reglas

Temas Fcil de instalar Documentacin Registro de eventos Soporte IPv6 Captura de aceleradores

Multi-hilo No disponible de paquetes. Instalacin manual. Pocos recursos en Internet

Un solo hilo Relativamente sencillo. Instalacin tambin disponible de paquetes. Bien documentado en la web oficial ya travs de Internet

Archivos planos, bases de datos, registros de corral unified2 Completamente compatible PF_RING, captura de paquetes acelerador Soportado cuando compilado con enable-ipv6 opcin. Ninguno, uso de libpcap

Archivo de configuracin

suricata.yaml , classification.config, reference.config, threshold.config

snort.conf, threshold.conf

Anlisis sin conexin s (archivo pcap) Frontends Sguil, Aanval, BASE, FPCGUI (Full Packet Capture GUI), Snortsnarf

COMPARACION SURICATA CON SOLUCIONES COMERCIALES ACTUALES DE IDS

COMPARACION SURICATA CON OTROS IDS DE LIBRE USO

You might also like