Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ELK para analistas de seguridad y equipos Blue ...

jmortegac
October 24, 2020

ELK para analistas de seguridad y equipos Blue Team

La charla trataría sobre cómo usar el stack Elasticsearch, Logstash y Kibana (ELK) para respuestas ante incidentes, monitorización de logs y otras tareas relacionadas con los equipos blue team. Por ejemplo, podríamos analizar los registros basados en autenticación y eventos del sistema operativo.
Entre los puntos a tratar podemos destacar:

-Introducción al estándar ELK y cómo nos puede ayudar para crear nuestro laboratorio de análisis.
-Comentar las diferentes fuentes de datos que podríamos usar (eventos del sistema operativo, capturas de red).
-Indexación y búsqueda de datos en ElasticSearch.
-Recopilación y manipulación de datos con LogStash.
-Creación de dashboards con Kibana.
-Ejemplo de aplicación para alertar sobre eventos basados en la autenticación en el sistema operativo.

jmortegac

October 24, 2020
Tweet

More Decks by jmortegac

Other Decks in Technology

Transcript

  1. Books 4 • Introducción al desarrollo seguro • Aspectos fundamentales

    de desarrollo seguro • Herramientas OWASP • Seguridad en aplicaciones Android • Seguridad en proyectos NodeJS • Seguridad en proyectos Python • Análisis estático y dinámico en aplicaciones C/C++ • Metodologías de desarrollo
  2. Agenda • Introducción a los SIEM • Introducción a ELK

    y cómo nos puede ayudar para crear nuestro laboratorio de análisis • Indexación y búsqueda de datos en ElasticSearch • Recopilación de datos con LogStash • Creación de dashboards con Kibana • Ejemplo de aplicación sobre eventos basados en el registro del sistema y autenticación en el sistema operativo 9
  3. SIEM 13 • Gestionar de forma unificada los eventos •

    Centralizar los eventos de nuestra red en un único punto • Reducir el volumen de eventos • Detección de anomalías a través de la correlación de eventos y el uso de algoritmos de machine learning
  4. Eventos de seguridad 15 • 1.Recoger logs de los activos

    de interés (servidores,dispositivos,firewalls) • 2.Normalizar los eventos con el objetivo de adaptar la información recibida al formato del SIEM. • 3.Enriquecer los datos • 4.Correlar los eventos • 5.Reportar informes y alertas
  5. Obtención de logs 16 • Sistema operativo • Antivirus /

    Firewall • Proxy navegación web • Sistemas de detección y prevención de intrusos(IDS). • Servidor web • Conexión VPN • Servicios en la nube
  6. Funciones de una solución SIEM 18 • Centralizar la vista

    de potenciales amenazas • Determinar qué amenazas requiren resolución y cuáles son falsos positivos. • Escalar información a los analistas de seguridad para que puedan tomar una acción. • Documentar en un registro de auditoría los eventos detectados y cómo fueron resueltos
  7. ElasticSearch 27 $ curl -XPUT localhost:9200/logs/_doc/1 --header 'Content-Type: application/json' -d

    '{ "dirección_ip":"127.0.0.1","date":"01-01-2020"}' {"_index":"logs","_type":"_doc","_id":"1","_version":1,"result":"cr eated","_shards":{"total":2,"successful":1,"failed":0},"_seq_no": 0,"_primary_term":1} $ curl -XGET localhost:9200/logs/_search?pretty
  8. Logstash 30 input { file { path => "/access_log", start_position=>"beginning",

    } } filter{ } output { elasticsearch { hosts => ["localhost:9200"], index => "logstash-logs" } stdout{ codec=>rubydebug } }
  9. Logstash 31 input { file { path => "/var/log/apache2/access.log" start_position

    => beginning } } filter { grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } date { match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ] } } output { elasticsearch { host => localhost } } }
  10. Logstash twitter 34 input{ twitter{ consumer_key => "" consumer_secret =>

    "" oauth_token => "" oauth_token_secret => "" keywords=>["Ciberseguridad","Bitup2020","Bitup alicante"] } } output{ file{ path=>"tweets.txt" } stdout{ } elasticsearch{ index =>"twitter-log" } }
  11. Análisis de logs 35 • /var/log/syslog filter { if [type]

    == "syslog" { grok { match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" } add_field => [ "received_at", "%{@timestamp}" ] add_field => [ "received_from", "%{host}" ] } syslog_pri { } date { match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } } }
  12. Beats 38 • Packetbeat: Recopila y analiza paquetes de red.

    • Filebeat: Recopila y envía archivos de registro. • Metricbeat Recopila métricas de los sistemas operativos y servicios que se ejecutan en los servidores. • Winlogbeat: Recopila registros de eventos de Windows. • Audibeat: Responsable de colectar los logs con el objetivo de supervisar la integridad de los archivos. • Heartbeat: Es el encargado de monitorizar el estado de servidores.
  13. Logstash 43 input { beats { port => 5044 }

    } output { elasticsearch { hosts => ["http://localhost:9200"] index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY .MM.dd}" } }
  14. Explorar los índices creados 44 • $ curl -X GET

    http://localhost:9200/filebeat*/_search?pretty
  15. 62