Suricata Configuracion de Suricata.yaml

download Suricata Configuracion de Suricata.yaml

of 8

description

suricata configuracion

Transcript of Suricata Configuracion de Suricata.yaml

INSTALACION, CONFIGURACION Y COMPARACIN IDS SURICATA CON OTROS IDS

CARACTERISTICAS HERRAMIENTA SURICATAmulti-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 (IDSs) 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 SuricataComo 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 fileegn el estado actual de su sistema, puede tomar un tiempo para completar este proceso.HTPHTP se incluye con Suricata e instalar automticamente.Si tiene que instalar manualmente HTP por otras razones, las instrucciones se pueden encontrar en lainstalacin de la biblioteca HTP.IPS. Si usted planea construir Suricata con capacidades de IPS a travs de / configure - enable-nfqueue, 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.gztar -xvzf suricata-1.4.tar.gzcd suricata-1.4

bash autogen.sh

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

/configure && make && make install-confmake install-conf./configure && make && make install-rulesmake install-rules./configure && make && make install-fullmake install-full

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

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

configure && make && make install-confmake install-conf./configure && make && make install-rulesmake install-rules./configure && make && make install-fullmake 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 --enable-nfqueuemakemake 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 essuricata.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_Oinkmaster.

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/web-misc.rules, o al archivoicmp.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 elsuricatapueda tirar paquetes, tenemos que decirle alIpTablesque le mande todo lo que encuentre:

iptables -A INPUT -j NFQUEUEiptables -A OUTPUT -j NFQUEUEiptables -A FORWARD -j 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 por ltimo ejecutamos el suricata

sudo suricata -c /etc/suricata/suricata.yaml -q 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

ParamSuricataEsnifar

IPS caractersticaopcional al compilar (- enable-nfqueue)Snort_inlineosnortutiliza con la opcin-Q

Reglas VRT :: reglas de Snort EmergingThreats normas VRT :: reglas de Snort As que las reglas EmergingThreats normas

TemasMulti-hiloUn solo hilo

Fcil de instalarNo disponible de paquetes.Instalacin manual.Relativamente sencillo.Instalacin tambin disponible de paquetes.

DocumentacinPocos recursos en InternetBien documentado en la web oficial ya travs de Internet

Registro de eventosArchivos planos, bases de datos, registros de corral unified2

Soporte IPv6Completamente compatibleSoportado cuando compilado con - enable-ipv6 opcin.

Captura de aceleradoresPF_RING, captura de paquetes aceleradorNinguno, uso de libpcap

Archivo de configuracinsuricata.yaml, classification.config, reference.config, threshold.configsnort.conf, threshold.conf

Anlisis sin conexin (archivo pcap)s

FrontendsSguil, Aanval, BASE, FPCGUI (Full Packet Capture GUI), Snortsnarf

COMPARACION SURICATA CON SOLUCIONES COMERCIALES ACTUALES DE IDS

COMPARACION SURICATA CON OTROS IDS DE LIBRE USO