IDS/IPS Suricata
Los Sistemas de Prevención y Detención de Intrusos (IPS/IDS) proporcionan un nivel adicional de seguridad en las redes de datos previniendo vulnerabilidades que los firewall simplemente no pueden. La mayoría de estos sistemas son pagados y costosos, por lo que resultan muy difíciles de implementar en pequeñas y medianas empresas. Suricata es un motor IPS/IDS de código abierto bajo licencia GPLv2 con muy buenas características siendo la más importante su arquitectura multi-hilos. Otras herramientas similares son Snort y Bro.
Suricata es el nombre de un proyecto de software libre para un motor Sistema de Detección y Prevención de Intrusos o de manera abreviada IDS/IPS; fue desarrollado por la comunidad de OISF (Open Infomation Security Foundation).
Distribuciones
● Event processing
Entre algunas características de Suricata, las más representativas son las siguientes:
● Off line analysis of PCAP files
● Traffic recording using PCAP logger
● Unix socket mode for automated processing
● Automatic Protocol Detection
● JSON event and alert outputs – Logstache
Suricata es una herramienta escalable. Este monitor de seguridad hace uso de las funciones multi-hilo de manera que solo con ejecutarse en una instancia el monitor balanceará su carga entre todos los procesadores disponibles, evitando incluso alguno de ellos si así lo especificamos. Gracias a ello, esta herramienta es capaz de procesar un ancho de banda de hasta 10 gigabits por segundo sin que ello repercuta sobre el rendimiento.
Esta herramienta también es capaz de identificar los principales protocolos de red, siendo capaz de controlar en todo momento todo el tráfico que se genera en el sistema y controlando posibles amenazas de malware.
Suricata también controla los archivos que viajan por la red, siendo capaz de identificar un gran número de formatos diferentes, así como realizar comprobaciones MD5 para comprobar que no ha sido modificado y también es capaz de extraer temporalmente ciertos archivos para identificar posible malware escondido.
Default Files (/etc/suricata)
● suricata.yaml
● Signatures (aka Rules)
– decoder-events.rules
– dns-events.rules
– files.rules
– http-events.rules
– smtp-events.rules
– stream-events.rules
– tls-events.rules
Reglas IDS
Ficheros Reglas
En suricata.yaml la regla por defecto RULE-PATH está creada, seguida de una lista de ficheros de reglas. Suricata no conoce el concepto de reglas de objeto compartido o de preprocesador, a diferencia de Snort,. En lugar de reglas de preprocesador, Suricata tiene varios ficheros de reglas para eventos, como son los decoders, stream engine, http parser, etc.
Descripción y características de Suricata
Suricata es el nombre de un proyecto de software libre para un motor Sistema de Detección y Prevención de Intrusos o de manera abreviada IDS/IPS; fue desarrollado por la comunidad de OISF (Open Infomation Security Foundation).
- Network Intrusion Detection (IDS - Intrusion Detection System)
- Network Intrusion Prevention (IPS - Intrusion Prevention System)
- Network Security Monitoring
Distribuciones
- SELKS & Amsterdam
- SecurityOnion
- pfSense & OPNsense
- Evebox
- Scirius
- Kibana
● Event processing
- Mobster
- Barnyard2
- Logstash
Entre algunas características de Suricata, las más representativas son las siguientes:
- - Multi-threading
- - Soporte GPU (Cuda)
- - Estadísticas de Rendimiento
- - Detección de Protocolos automáticos
- - Fast IP Matching
- - IP Reputation, GeoIP, IP list support
- - Graphic Cards Acceleration
- - Soporta Lua Scripting
● Off line analysis of PCAP files
● Traffic recording using PCAP logger
● Unix socket mode for automated processing
● Automatic Protocol Detection
● JSON event and alert outputs – Logstache
Suricata es una herramienta escalable. Este monitor de seguridad hace uso de las funciones multi-hilo de manera que solo con ejecutarse en una instancia el monitor balanceará su carga entre todos los procesadores disponibles, evitando incluso alguno de ellos si así lo especificamos. Gracias a ello, esta herramienta es capaz de procesar un ancho de banda de hasta 10 gigabits por segundo sin que ello repercuta sobre el rendimiento.
Esta herramienta también es capaz de identificar los principales protocolos de red, siendo capaz de controlar en todo momento todo el tráfico que se genera en el sistema y controlando posibles amenazas de malware.
Suricata también controla los archivos que viajan por la red, siendo capaz de identificar un gran número de formatos diferentes, así como realizar comprobaciones MD5 para comprobar que no ha sido modificado y también es capaz de extraer temporalmente ciertos archivos para identificar posible malware escondido.
Sistemas Operativos soportados
- Linux
- FreeBSD
- OpenBSD
- macOS / Mac OS X
- Windows
Ficheros de configuración
Default Files (/etc/suricata)
/etc/suricata/suricata
.yaml
● suricata.yaml
● Signatures (aka Rules)
– decoder-events.rules
– dns-events.rules
– files.rules
– http-events.rules
– smtp-events.rules
– stream-events.rules
– tls-events.rules
vars:
HOME_NET: "[192.168.122.0/24]"
EXTERNAL_NET: "!$HOME_NET"
HTTP_PORTS: "80"
SHELLCODE_PORTS: "!80"
SSH_PORTS: 22
Hay dos variables importantes:HOME_NET y EXTERNAL_NET
Reglas IDS
Ficheros Reglas
/etc/suricata/rules
- app-layer-events.rules
- emerging-deleted.rules
- emerging-rpc.rules
- http-events.rules
- botcc.portgrouped.rules
- emerging-dns.rules
- emerging-scada.rules
- botcc.rules
- emerging-dos.rules
- emerging-scan.rules
- modbus-events.rules
- emerging-exploit.rules
- emerging-shellcode.rules
- rbn-malvertisers.rules
- ciarmy.rules
- emerging-ftp.rules
- emerging-smtp.rules
- rbn.rules
- emerging-games.rules
- emerging-snmp.rules
- emerging-icmp_info.rules
- emerging-sql.rules
- compromised.rules
- emerging-icmp.rules
- emerging-telnet.rules
- smtp-events.rules
- decoder-events.rules
- emerging-imap.rules
- emerging-tftp.rules
- stream-events.rules
- dnp3-events.rules
- emerging-inappropriate.rules
- emerging-trojan.rules
- dns-events.rules
- emerging-info.rules
- emerging-user_agents.rules
- drop.rules
- emerging-malware.rules
- emerging-voip.rules
- dshield.rules
- emerging-misc.rules
- emerging-web_client.rules
- tls-events.rules
- emerging-activex.rules
- emerging-mobile_malware.rules
- emerging-web_server.rules
- tor.rules
- emerging-attack_response.rules
- emerging-netbios.rules
- emerging-web_specific_apps.rules
- emerging-chat.rules
- emerging-p2p.rules
- emerging-worm.rules
- emerging-policy.rules
- emerging-current_events.rules
- emerging-pop3.rules
En suricata.yaml la regla por defecto RULE-PATH está creada, seguida de una lista de ficheros de reglas. Suricata no conoce el concepto de reglas de objeto compartido o de preprocesador, a diferencia de Snort,. En lugar de reglas de preprocesador, Suricata tiene varios ficheros de reglas para eventos, como son los decoders, stream engine, http parser, etc.
Ejemplo Reglas
; Rule Grammar
::=
; Rule options are made up of keyword:value pairs
::= ":"
; Options are made up of multiple individual rule-option expressions, separated by semi-colons
::= "(" [ [ ";" ] ] ")"
;Now we can show that a single rule is made up of a header and a series of options
::=
drop tcp $HOME_NET any -> $EXTERNAL_NET 80 (content:"|00 20 2F a5|"; msg:"example rule";)
Ejemplo regla bloquear Facebook:
drop tcp any any -> any any (msg:"facebook is blocked"; content:"facebook.com"; http_header; nocase; classtype:policy-violation; sid:1;)
Ejemplo de una firma:
Rule Header
Rule Action | Protocol | Source IP | Source Port | Direction | Destination IP | Destination Port |
---|---|---|---|---|---|---|
drop | tcp | $HOME_NET | any | -> | $EXTERNAL_NET | 80 |
Rule Header Keywords
Actions | Name | Description | Available in Suricata | Available in Snort |
---|---|---|---|---|
alert | + | + | ||
log | - | + | ||
pass | + | + | ||
activate | - | + | ||
dynamic | - | + | ||
drop | + | + | ||
reject | + | + | ||
sdrop | - | + |
Protocols
Name | Available in Suricata | Available in Snort | ||
---|---|---|---|---|
tcp | + | + | ||
udp | + | + | ||
icmp | + | + | ||
ip | + | + | ||
http | + | - | ||
ftp | + | - | ||
tls | + | - | ||
smb | + | - | ||
dns | + | - |
HTTP Keywords
- http_method Methods are: GET, POST, PUT, HEAD, DELETE, TRACE, OPTIONS, CONNECT and PATCH.
- http_uri /http_raw_uri
- uricontent / urilen
- http_header / http_header_raw
- http_cookie
- http_user_agent
- http_client_body / http_server_body
- file_data
- http_stat_msg / http_stat_code
- pcre
- fast_pattern
Via: blog.elhacker.net
IDS/IPS Suricata
Reviewed by Zion3R
on
21:37
Rating: