Saludos, nuevamente.
Como les he contado en post anteriores, le estoy dedicando algo de tiempo a AlienVault OSSIM. En los últimos tres días he estado tratando de configurarle [y añadirle] un plugin para procesar los logs de un switch Allied Telesis AT-8000S.
Claro está que, antes de ponerme a hacer eso, busque en Inet y no encontré nada al respecto. De hecho, según un en portugués que consulté, publican una lista de plugins que trae AlienVault USM/OSSIM del 8 de julio de 2015. Dicha lista es la siguiente:
Alcatel Lucent ladrillo AlienVault Forense DB post-correlación de AlienVault OSSIM Agente AlienVault OSSIM Monitor de AlienVault Publicar Correlación Allot NetEnforcer Apache Fundación servidor HTTP Apache Fundación asesino del Spam de Apple iPhone Aruba Networks Mobility de acceso al interruptor de Aruba Networks Wireless Avast Antivirus Home Axigen mensajería Axigen servidor de correo electrónico Bit9 la plataforma de seguridad Bluecoat sistemas Proxy SG Bro monitor de Red de Seguridad (NSM) Broadweb Netkeeper Firewall Broadweb Netkeeper IPS Brocade Vyatta Brookhaven Laboratorio Nacional de Osiris Checkpoint FW-1 Checkpoint VPN-1 / FW-1 / NG Cisco 300 Series Managed Switches Cisco ACE (Access control del motor) de Cisco ACS (Access control Server) de Cisco ASA (Adaptive Security Appliance) de Cisco ASR (Aggregation Services Router) de Cisco FWSM (Firewall Services Module) IDS de Cisco Cisco IPS de Cisco IronPort ESA Cisco Meraki Cisco Nexus NX OS Cisco PIX Firewall VPN de CiscoConcentrador 3030 de Cisco WLC (Wireless LAN Controller) de Citrix NetScaler Dell Enterasys Matrix X-Series Router Dell Entrasys Dragón Dell SonicWall Scrutinizer de doble precisión Inc Courier Mail Server Drupal Proyecto Drupal 5 Envault Corporación Esclusa Extreme Networks Alpine 3800 Series Switches Extreme Networks Summit WM3000 Serie F5 grande IP Load Balancer F5 Firepass Red Fortigate FortiMail de Fortinet Fortigate Fortinet FortiGuard FreeBSD Proyecto IPFW Gamelinux Prads general Dynamics Fidelis XPS GFI Software VIPRE Antivirus Protection endurecido PHP Proyecto Suhosin HP Serviceguard HP SiteScope HP StorageWorks Command View EVA HP TippingPoint IDS IBM AIX Registros de auditoría de IBM ISS RealSecure IBM traza Proventia Network IPS GX IBM SiteProtector IBM Storewize IBM Tivoli RAS ingrese IBM VisionPLUS Inmunidad Inc. El Jefe Imperva SecureSphere Independiente Amón HoneyPot Independiente ArpalertGlastopfNG independiente Palomar independiente Dionaea independiente Artemisa independiente VOIP Honeypot independiente Heartbeat independiente Honeyd (Honeyd Honeypot virtual) Moodle independiente Monit independiente m0n0wall independiente Kismet Independiente Independiente Movimiento Independiente de Nagios Nepenthes independientes independiente NFS independiente Nmap Monitor Independiente NTOP Monitor Independiente NTOP Sesión Monitor Independiente NTsyslog (genérico) p0f independiente PADS independientes (Sistema de Detección de Activos pasivo) udev USB PureFTPd independiente Prads independiente Postfix independiente Ping independiente pam_unix independiente independiente calamar independiente Sudo Tcptrack independiente independiente RRDtool independiente independiente Whois independiente Webmin independiente VSFTP independiente Wuftp Internet Systems Consortium ISC de enlace a Internet Systems Consortium Linux DHCP Intersección Alianza trampa IDP de Juniper NetworksJuniper Networks NetScreen Firewall Juniper Networks NetScreen ISG de Juniper Networks NetScreen Administrador de NetScreen NSM (IDP) de Juniper Networks NSM (NetScreen Administrador de seguridad) de Juniper Networks ScreenOS de Juniper Networks Servicios SRX Series Gateways de Juniper Networks VPN SSL Lawrence Berkeley Lab Arpwatch McAfee Antispam McAfee Antivirus McAfee Cyberguard SG565 McAfee ePO-MVT (EPO Técnico virtual) McAfee IntruShield de McAfee (Computación anteriormente Secure) Sidewinder Firewall McAfee (anteriormente Stonesoft) StoneGate Firewall McAfee (anteriormente Stonesoft) Lista de dominios de StoneGate IPS MDL Proyecto malware de Microsoft DHCP de Microsoft Exchange Server Microsoft IIS (Internet Information Server ) Microsoft ISA Server (Internet Security y Acceleration Server) Microsoft servidor Microsoft SSIS (SQL Server Intregration Servicios) Sistema de solicitudes de registro de Microsoft Windows de Microsoft Windows registro de Microsoft Windows registro de seguridadMicrosoft Windows NT / 2000 / XP servicio syslog Microsoft WMI Monitor de Motorola Firewall N / A Syslog NetFilter Proyecto Iptables NetGear FVS318 por cable / DSL ProSafe VPN Firewall de Nortel Alteon OS Nortel Passport 1612G Conmutador OCS Inventory equipo OCSInventory OISF Suricata OISF Suricata IDS - Registro HTTP de código abierto Base de datos Mwcollect Open System Consultores radiador OpenBSD Proyecto OpenBSD-OpenSSH OpenBSD Proyecto OpenSSH OpenBSD Proyecto pf OpenLDAP OpenLDAP Foundation Optenet MailSecure Oracle Oracle de base de datos Oracle Oracle (a través de syslog) Oracle Tarantella Palo Alto Networks PA-5000 Series Firewall Panda Software Panda AdminSecure El software de seguridad para empresas Proofpoint sendmail Proxim Wireless Inc ORiNOCO Radware defensepro IPS de Red Hat Resource Group (Cluster Service) Administrador de Daemon de seguridad RSA SecurID de RSA ACE Seguridad Software Token Convertidor de seguridad RSA Authentication Manager RSA SecuritySecurID Safenet Aladdin eSafe puerta de enlace Samba SMB de SAP NetWeaver Technology Platform Shalla Secure Services squidGuard arbustos Redes TACACS Sophos Antivirus SourceFire ClamAV SourceFire Snort Symantec AMS (Altiris Management Suite) Symantec Endpoint Management (EPM) Tenable Nessus (a través de ossec) Tenable Nessus Detector Tenable Nessus monitor El OpenNMS Grupo OpenNMS Trend Micro IMSS Messaging Security de Trend Micro Trend Micro OSSEC OSSEC 2.7.3 alerta personalizada Trend Micro de seguridad de aplicaciones OSSEC IDM TrustWave ModSecurity web Firewall VanDyke Software Van Dyck VShell VMware ESXi de VMware vCenter Server de trabajo de VMWare WatchGuard XTM GN Firewall WebSense web gateway Xtera AscenLink
Entonces, al ver que el fabricante del switch no aparecía en la lista, pues, me dispuse a crear un plugin personalizado para procesar sus logs. Por supuesto, luego de leer mucha documentación y el archivo de configuración del plugin de Cisco (oh, esa configuración me aclaró muchísimas dudas Gracias Equipo de AlienVault), creé un modesto plugin que, hasta el momento, me funciona adecuadamente.
Para que se tenga una idea, aquí pongo un extracto de los logs del switch (sustituí las direcciones IP reales del laboratorio por letras por razones obvias):
Feb 13 de 11:50:21 CCC.DDD.EEE.FFF% AAA-I-CONNECT: Nueva conexión HTTP para el usuario admin, VVV.WWW.YYY.ZZZ destino AAA.BBB.CCC.DDD fuente ACEPTADO # 015 Feb 13 de 11 : 50: 48 CCC.DDD.EEE.FFF% AAA-I-CONNECT: sesión de CLI del usuario para el usuario admin en un telnet, fuente AAA.BBB.CCC.DDD VVV.WWW.YYY.ZZZ destino ACEPTADO # 015 13 de 11 de febrero: 53:44 CCC.DDD.EEE.FFF% AAA-I-DESCONEXIÓN: sesión de CLI del usuario para el usuario admin en un telnet, AAA.BBB.CCC.DDD fuente destino VVV.WWW.YYY.ZZZ TERMINADA. La sesión de Telnet / SSH todavía puede estar conectado # 015 Feb 13 de 11:55:00 CCC.DDD.EEE.FFF% AAA-I-DESCONEXIÓN:. Http conexión para el usuario admin, fuente AAA.BBB.CCC.DDD destino VVV. WWW.YYY.ZZZ TERMINADA # 015 13 de Feb 11:54:21 CCC.DDD.EEE.FFF% AAA-W-RECHAZO: Nueva conexión telnet para el usuario admin, VVV.WWW.YYY fuente destino AAA.BBB.CCC.DDD .zzz RECHAZADO # 015 13 de Feb 11:54:37 CCC.DDD.EEE.FFF% AAA-W-RECHAZO: Nueva conexión telnet para df usuario, VVV.WWW.YYY.ZZZ fuente AAA.BBB.CCC.DDD destino RECHAZADO # 015 13 de Feb 11:54:40 CCC.DDD.EEE.FFF% AAA-W-RECHAZO: Nueva conexión telnet para ffddf usuario, fuente AAA.BBB.CCC.DDD VVV.WWW.YYY.ZZZ destino RECHAZADO # 015 13 de Feb 11:49:50 CCC.DDD.EEE.FFF% de autor I-FILECPY: Copiar archivos - fuente URL running-config URL de destino de flash: // configuración de inicio # 015 Feb 13 de 11:49:53 CCC.DDD.EEE.FFF% cOPIA-W-TRAP: La operación de copia se completó con éxito # 015 13 de Feb 11:56:17 CCC.DDD.EEE.FFF% IGMPHOST-W-IP: IGMP paquetes con origen desconocido IP # 015
Ahora bien, el plugin que hice fue para procesar dichos logs. Aquí les comparto tanto el contenido del archivo de configuración, como el script SQL para añadírselo al servidor OSSIM (que es quien alberga la base de datos, no los sensores OSSIM):
Archivo /etc/ossim/agent/plugins/alliedtelesis-at8000s.cfg:
# # AlienVault plug-in Autor: Héctor Suárez Planas en hector.suarez@codesa.co.cu # Plugin Allied Telesis-at8000s id: 11001 Versión: 0.0.1 # Última modificación: 19/02/2016 19:31 # # Plugin selección Info: # Allied Telesis: Switch L2: AT-8000S / 24 # # end-CABECERA # productos aceptadas: # Allied Telesis - Interruptores todo # Allied Telesis - Switches AT-8000S / AT-8000GS - # Allied Telesis - series_managed_switches AT-8000S_AT-8000GS # Descripción: # Allied Telesis conmutador administrado # # [DEFAULT] plugin_id = 11001
[Config] type = detector de habilitar = yes fuente = log Localización = / var / log / CREATE_FILE = verdadero proceso de Allied Telesis-at8000s.log = rsyslogd start = sin parada = no está en puesta = / etc / init.d / rsyslog iniciar el apagado = / etc / init.d / parada rsyslog
[Traducción]% AAA-W = 10% AAA-I = 20% COPIA-W = 30% COPIA-I = 40% IGMPHOST-W = 50
[0010 - Allied Telesis-at8000s - AAA-I Eventos] comprobación anterior = "I-AAA%" EVENT_TYPE = evento regexp=”(?P<date>\SYSLOG_OPTYEAR_DATE)\s+(?P<sensor>\S+)\s+(?P<sid>%AAA-I)-\S+:\s+(?P<userdata>.*?user\s+(?P<user>\S+).*?source\s+(?P<src_ip>\IPV4).*?(?P<dst_ip>\IPV4).*)” fecha = {normalize_date (fecha $)} del sensor = {resolv (sensor $)} plugin_sid = {translate ($ sid)} src_ip = {resolv ($ src_ip)} dst_ip = {resolv ($ dst_ip)} userdata1 = {$ userdata }
[0020 - Allied Telesis-at8000s - Eventos AAA-W] comprobación anterior = "% AAA-W" EVENT_TYPE = evento regexp=”(?P<date>\SYSLOG_OPTYEAR_DATE)\s+(?P<sensor>\S+)\s+(?P<sid>%AAA-W)-\S+:\s+(?P<userdata>.*?user\s+(?P<user>\S+).*?source\s+(?P<src_ip>\IPV4).*?(?P<dst_ip>\IPV4).*)” fecha = {normalize_date (fecha $)} del sensor = {resolv (sensor $)} plugin_sid = {translate ($ sid)} src_ip = {resolv ($ src_ip)} dst_ip = {resolv ($ dst_ip)} userdata1 = {$ userdata }
[0030 - Allied Telesis-at8000s - COPIA-I Eventos] comprobación anterior = "% COPIA-I" EVENT_TYPE = evento regexp=”(?P<date>\SYSLOG_OPTYEAR_DATE)\s+(?P<sensor>\S+)\s+(?P<sid>%COPY-I)-\S+:\s+(?P<userdata>.*)” fecha = {normalize_date (fecha $)} = {resolv sensor (sensor $)} = {plugin_sid traducir ($ sid)} = {$ userdata1 datos de usuario}
[0040 - Allied Telesis-at8000s - Eventos COPY-W] comprobación anterior = "% COPIA-W" EVENT_TYPE = evento regexp=”(?P<date>\SYSLOG_OPTYEAR_DATE)\s+(?P<sensor>\S+)\s+(?P<sid>%COPY-W)-\S+:\s+(?P<userdata>.*)” fecha = {normalize_date (fecha $)} = {resolv sensor (sensor $)} = {plugin_sid traducir ($ sid)} = {$ userdata1 datos de usuario}
[0050 - Allied Telesis-at8000s - IGMPHOST-W Eventos] comprobación anterior = "% IGMPHOST-W" EVENT_TYPE = evento regexp=”(?P<date>\SYSLOG_OPTYEAR_DATE)\s+(?P<sensor>\S+)\s+(?P<sid>%IGMPHOST-W)-\S+:\s+(?P<userdata>.*)” fecha = {normalize_date (fecha $)} = {resolv sensor (sensor $)} = {plugin_sid traducir ($ sid)} = {$ userdata1 datos de usuario}
Archivo /usr/share/doc/ossim-mysql/contrib/plugins/alliedtelesis-at8000s.sql:
- Allied Telesis AT-8000S interruptor - Identificación del Plugin: 11001
CANCELACIÓN de plug-in WHERE id = '11001'; CANCELACIÓN de plugin_sid donde plugin_id = '11001';
INSERT IGNORE EN plug-in (id, tipo, nombre, descripción) VALORES (11001, 1, 'Allied Telesis-at8000s-switch', 'interruptor de Allied Telesis AT-8000S');
INSERT IGNORE EN plugin_sid (plugin_id, sid, category_id, id_clase, nombre, prioridad, fiabilidad) VALUES (11001, 10, null, null, 'AT-8000S-AAA: autenticación, autorización y contabilidad Advertencia Evento', 1, 4) , (11001, 20, NULL, NULL, 'AT-8000S-AAA: autenticación, autorización y contabilidad Evento Informativo', 1, 2), (11001, 30, NULL, NULL, 'AT-8000S-CONFIGURACIÓN-COPIA: configuración de función de copia de advertencia de suceso ', 1, 4), (11001, 40, NULL, NULL,' AT-8000S-cONFIGURACIÓN-COPIA: configuración función de copia de Evento Informativo ', 1, 2), (11001, 50, NULL, NULL , 'AT-8000S-IGMP: Internet Group Management Protocol Advertencia Evento', 1, 4);
NOTA: Si se tiene una estructura de servidores Alien Vault OSSIM con sus correspondientes sensores del mismo fabricante, se debe añadir el archivo de configuración en todos los elementos de la misma para que así tengan la misma lista de fuentes de datos (Data Sources), y añadir los datos del plugin dentro del script SQL en la base de datos en el servidor.
Para registrar el nuevo data source en el OSSIM, se debe modificar en la sección “plugins” del archivo /etc/ossim/agent/config.cfg de la siguiente manera:
[Plugins] Allied Telesis-at8000s = / etc / OSSIM / agente / plugins / Allied Telesis-at8000s.cfg cisco router = / etc / OSSIM / agente / plugins / cisco-router.cfg nmap-Monitor = / etc / OSSIM / agente / plugins / nmap-monitor.cfg ocs-Monitor = / etc / OSSIM / agente / plugins / ocs-monitor.cfg ossec de una sola línea = / etc / OSSIM / agente / plugins / ossec-single-line.cfg OSSIM monitores = / etc / OSSIM / agente / plugins / OSSIM-monitor.cfg pam_unix = / etc / OSSIM / agente / plugins / pam_unix.cfg monitor de ping-= / etc / OSSIM / agente / plugins / ping-monitor.cfg postfix = / etc / OSSIM / agente / plugins / postfix.cfg prads_eth2 = / etc / OSSIM / agente / plugins / prads_eth2.cfg ssh = / etc / OSSIM / agente / plugins / ssh.cfg sudo = / etc / OSSIM / agente / plugins / sudo.cfg suricata = / etc / OSSIM / agente / plugins / suricata.cfg syslog = / etc / OSSIM / agente / plugins / whois syslog.cfg monitores = / etc / OSSIM / agente / plugins / whois-monitor.cfg WMI -monitor = / etc / OSSIM / agente / plugins / WMI-monitor.cfg
Una vez hechos todos los cambios, se ejecuta el comando siguiente en todos los elementos de la estrcutura (o sea, tanto servidor como sensores AlienVault OSSIM):
# OSSIM-reconfig
El cual se encarga de aplicar los cambios y reiniciar toda la maquinaria del OSSIM. Así ya procesa los eventos de la manera que se requiere:
Y eso es todo por el momento. Más adelante les hablaré sobre las políticas y el motor de correlación.
Espero les sirva.
.