Como ELK axuda aos enxeñeiros de seguridade a loitar contra os ataques aos sitios web e durmir tranquilos

O noso centro de ciberdefensa é responsable da seguridade da infraestrutura web do cliente e repele os ataques aos sitios dos clientes. Para protexernos contra ataques, usamos FortiWeb Web Application Firewalls (WAF). Pero mesmo o WAF máis xenial non é unha panacea e non protexe "fóra da caixa" dos ataques dirixidos. 

Polo tanto, ademais de WAF, utilizamos ELK. Axuda a recoller todos os eventos nun só lugar, acumula estatísticas, visualízaas e permítenos ver un ataque dirixido a tempo.

Hoxe vouvos contar con máis detalle como cruzamos a árbore de Nadal con WAF e que foi.

Como ELK axuda aos enxeñeiros de seguridade a loitar contra os ataques aos sitios web e durmir tranquilos

A historia dun ataque: como funcionou todo antes de cambiar a ELK

Na nosa nube, o cliente implantou a aplicación detrás do noso WAF. De 10 a 000 usuarios conectados ao sitio ao día, o número de conexións alcanzou os 100 millóns ao día. Deles, 000-20 usuarios eran intrusos e intentaron piratear o sitio. 

FortiWeb bloqueou a forza bruta habitual dun enderezo IP con bastante facilidade. O número de visitas ao sitio por minuto foi superior ao dos usuarios lexítimos. Simplemente configuramos limiares de actividade desde un enderezo e repelemos o ataque.

É moito máis difícil xestionar os "ataques lentos", cando os atacantes actúan lentamente e se disfrazan de clientes comúns. Usan moitos enderezos IP únicos. Tal actividade non parecía unha forza bruta masiva para WAF, era máis difícil rastrexala automaticamente. E tamén había o risco de bloquear os usuarios normais. Buscamos outros signos dun ataque e configuramos unha política para bloquear automaticamente os enderezos IP en función deste sinal. Por exemplo, moitas sesións ilexítimas tiñan campos comúns nas cabeceiras da solicitude http. Moitas veces tiñas que buscar estes campos manualmente nos rexistros de eventos de FortiWeb. 

Fíxose longo e incómodo. Na funcionalidade estándar de FortiWeb, os eventos rexístranse en texto en 3 rexistros diferentes: ataques detectados, información sobre solicitudes e mensaxes do sistema sobre o funcionamento de WAF. Decenas ou mesmo centos de eventos de ataque poden ocorrer nun minuto.

Non tanto, pero tes que subir manualmente varios rexistros e iterar en moitas liñas: 

Como ELK axuda aos enxeñeiros de seguridade a loitar contra os ataques aos sitios web e durmir tranquilos
No rexistro de ataques, vemos os enderezos dos usuarios e a natureza da actividade. 
 
Non basta con escanear a táboa de rexistro. Para atopar o máis interesante e útil sobre a natureza do ataque, cómpre mirar dentro dun evento específico:

Como ELK axuda aos enxeñeiros de seguridade a loitar contra os ataques aos sitios web e durmir tranquilos
Os campos resaltados axudan a detectar o "ataque lento". Fonte: captura de pantalla de Sitio web de Fortinet

Ben, o principal problema é que só un especialista en FortiWeb pode descubrilo. Se durante o horario comercial aínda puidésemos seguir a actividade sospeitosa en tempo real, a investigación dos incidentes nocturnos podería atrasarse. Cando as políticas de FortiWeb non funcionaron por algún motivo, os enxeñeiros da quenda de noite de servizo non puideron avaliar a situación sen acceder ao WAF e espertaron ao especialista de FortiWeb. Miramos os rexistros durante varias horas e atopamos o momento do ataque. 

Con tales volumes de información, é difícil entender o panorama xeral dunha ollada e actuar de forma proactiva. Entón decidimos recoller datos nun só lugar para analizar todo de forma visual, atopar o inicio do ataque, identificar a súa dirección e método de bloqueo. 

Que escolleches

En primeiro lugar, analizamos solucións xa en uso, para non multiplicar entidades innecesariamente.

Unha das primeiras opcións foi Nagiosque utilizamos para supervisar infraestrutura de enxeñaría, infraestrutura de rede, alertas de emerxencia. Os gardas de seguridade tamén o empregan para avisar aos asistentes en caso de tráfico sospeitoso, pero non sabe recoller troncos espallados e, polo tanto, desaparece. 

Había unha opción para agregar todo MySQL e PostgreSQL ou outra base de datos relacional. Pero para extraer os datos, foi necesario esculpir a túa aplicación. 

Como recolector de troncos na nosa empresa tamén usan FortiAnalyzer de Fortinet. Pero neste caso tampouco encaixaba. En primeiro lugar, é máis nítido traballar cun firewall FortiGate. En segundo lugar, faltaban moitas opcións de configuración e a interacción con ela requiría un excelente coñecemento das consultas SQL. E en terceiro lugar, o seu uso aumentaría o custo do servizo para o cliente.   

Así chegamos ao código aberto na cara ELK

Por que escoller ELK 

ELK é un conxunto de programas de código aberto:

  • Elasticsearch - unha base de datos de series temporais, que se acaba de crear para traballar con grandes volumes de texto;
  • logstash – un mecanismo de recollida de datos que pode converter os rexistros ao formato desexado; 
  • kibana - un bo visualizador, así como unha interface bastante amigable para xestionar Elasticsearch. Podes usalo para crear horarios que poidan ser supervisados ​​polos enxeñeiros de servizo pola noite. 

O limiar de entrada para ELK é baixo. Todas as funcións básicas son gratuítas. Que máis se necesita para a felicidade.

Como xuntaches todo nun só sistema?

Creouse índices e deixou só a información necesaria. Cargamos os tres rexistros de FortiWEB en ELK: a saída foron índices. Estes son ficheiros con todos os rexistros recollidos durante un período, por exemplo, un día. Se os visualizamos de inmediato, só veriamos a dinámica dos ataques. Para obter máis detalles, cómpre "caer" en cada ataque e mirar campos específicos.

Como ELK axuda aos enxeñeiros de seguridade a loitar contra os ataques aos sitios web e durmir tranquilos

Démonos conta de que primeiro necesitamos configurar a análise de información non estruturada. Tomamos campos longos como cadeas, como "Mensaxe" e "URL", e analizámolos para obter máis información para a toma de decisións. 

Por exemplo, usando a análise, sacamos a localización do usuario por separado. Isto axudou a destacar inmediatamente os ataques do estranxeiro en sitios para usuarios rusos. Ao bloquear todas as conexións doutros países, reducimos o número de ataques dúas veces e puidemos facer fronte facilmente aos ataques dentro de Rusia. 

Despois da análise, comezaron a buscar que información almacenar e visualizar. Deixar todo no rexistro non era apropiado: o tamaño dun índice era grande: 7 GB. ELK tardou moito en procesar o ficheiro. Non obstante, non toda a información foi útil. Algo duplicouse e ocupou espazo extra: era necesario optimizalo. 

Ao principio, simplemente miramos a través do índice e eliminamos os eventos innecesarios. Isto resultou aínda máis inconveniente e máis longo que traballar cos rexistros no propio FortiWeb. A única vantaxe da "árbore de Nadal" nesta fase é que puidemos visualizar un gran período de tempo nunha soa pantalla. 

Non nos desesperamos, seguimos comendo o cacto e estudando ELK e cremos que seríamos capaces de extraer a información necesaria. Despois de limpar os índices, comezamos a visualizar o que é. Entón chegamos a grandes paneis. Puxemos widgets: visual e elegantemente, un verdadeiro ЁLKa! 

Como ELK axuda aos enxeñeiros de seguridade a loitar contra os ataques aos sitios web e durmir tranquilos

Captura o momento do ataque. Agora había que entender como se ve o inicio do ataque no gráfico. Para detectalo, observamos as respostas do servidor ao usuario (códigos de retorno). Estabamos interesados ​​nas respostas do servidor con tales códigos (rc): 

Código (rc)

nome

Descrición

0

GOTAR

A solicitude ao servidor está bloqueada

200

Ok

A solicitude procesouse correctamente

400

Solicitude incorrecta

Solicitude incorrecta

403

Prohibido

Autorización denegada

500

Internal Server Error

O servizo non está dispoñible

Se alguén comezaba a atacar o sitio, a proporción de códigos cambiaba: 

  • Se había máis solicitudes erróneas co código 400 e o mesmo número de solicitudes normais co código 200, entón alguén estaba tentando piratear o sitio. 
  • Se, ao mesmo tempo, tamén creceron as solicitudes con código 0, entón os políticos de FortiWeb tamén "viron" o ataque e aplicaron bloqueos. 
  • Se o número de mensaxes co código 500 aumentou, entón o sitio non está dispoñible para estes enderezos IP, tamén unha especie de bloqueo. 

Ao terceiro mes, tiñamos configurado un panel para rastrexar esta actividade.

Como ELK axuda aos enxeñeiros de seguridade a loitar contra os ataques aos sitios web e durmir tranquilos

Para non supervisar todo manualmente, configuramos a integración con Nagios, que enquisaba ELK a determinados intervalos. Se rexistrou a consecución de valores límite por códigos, enviou unha notificación aos axentes de servizo sobre actividade sospeitosa. 

Combina 4 gráficos no sistema de seguimento. Agora era importante ver nas gráficas o momento no que non se bloquea o ataque e é necesaria a intervención dun enxeñeiro. En 4 gráficos diferentes, o noso ollo estaba borroso. Polo tanto, combinamos os gráficos e comezamos a observar todo nunha pantalla.

Durante o seguimento, observamos como cambian os gráficos de diferentes cores. Unha explosión de vermello indicaba que o ataque comezara, mentres que os gráficos laranxa e azuis mostraban a reacción de FortiWeb:

Como ELK axuda aos enxeñeiros de seguridade a loitar contra os ataques aos sitios web e durmir tranquilos
Aquí todo está ben: houbo un aumento da actividade "vermella", pero FortiWeb fixo fronte e o calendario de ataque quedou en nada.

Tamén debuxamos para nós mesmos un exemplo de gráfico que require intervención:

Como ELK axuda aos enxeñeiros de seguridade a loitar contra os ataques aos sitios web e durmir tranquilos
Aquí podemos ver que FortiWeb aumentou a actividade, pero o gráfico de ataque vermello non diminuíu. Debes cambiar a configuración do WAF.

Tamén se fixo máis fácil investigar incidentes nocturnos. O gráfico mostra inmediatamente o momento no que é hora de acudir á defensa do sitio. 

Como ELK axuda aos enxeñeiros de seguridade a loitar contra os ataques aos sitios web e durmir tranquilos
Iso é o que ás veces pasa pola noite. Gráfico vermello: o ataque comezou. Azul - Actividade FortiWeb. O ataque non estaba totalmente bloqueado, tivemos que intervir.

Onde imos

Agora estamos adestrando administradores de servizo para traballar con ELK. Os asistentes aprenden a avaliar a situación no panel e tomar unha decisión: é hora de acudir a un especialista de FortiWeb ou as políticas do WAF serán suficientes para repeler automaticamente o ataque. Así é como reducimos a carga de traballo dos enxeñeiros de seguridade pola noite e compartimos roles de soporte a nivel de sistema. O acceso a FortiWeb só permanece co centro de defensa cibernética, e só estes fan cambios na configuración do WAF cando é urxente.

Tamén estamos a traballar na elaboración de informes para os clientes. Planeamos que os datos sobre a dinámica do traballo de WAF estean dispoñibles na conta persoal do cliente. ELK aclarará a situación sen necesidade de referirse ao propio WAF.

Se o cliente quere supervisar a súa propia protección en tempo real, ELK tamén será útil. Non podemos ceder o acceso a WAF, xa que a intervención do cliente na obra pode afectar ao resto. Pero podes coller un ELK por separado e darlle a "xogar". 

Estes son os escenarios de uso da árbore de Nadal que acumulamos ultimamente. Comparte as túas opinións sobre isto e non o esquezas configurar todo correctamentepara evitar fugas de bases de datos. 

Fonte: www.habr.com