Com ELK ajuda els enginyers de seguretat a combatre els atacs de llocs web i dormir tranquil·lament

El nostre centre de ciberdefensa és responsable de la seguretat de la infraestructura web del client i repel·leix els atacs als llocs del client. Per protegir-nos dels atacs, utilitzem FortiWeb Web Application Firewalls (WAF). Però fins i tot el WAF més fantàstic no és una panacea i no protegeix "fora de la caixa" dels atacs dirigits. 

Per tant, a més de WAF, fem servir ELK. Ajuda a recopilar tots els esdeveniments en un sol lloc, acumula estadístiques, les visualitza i ens permet veure un atac dirigit a temps.

Avui us explicaré amb més detall com vam creuar l'arbre de Nadal amb WAF i què en va sortir.

Com ELK ajuda els enginyers de seguretat a combatre els atacs de llocs web i dormir tranquil·lament

La història d'un atac: com va funcionar tot abans de canviar a ELK

Al nostre núvol, el client ha desplegat l'aplicació darrere del nostre WAF. De 10 a 000 usuaris connectats al lloc al dia, el nombre de connexions va arribar als 100 milions per dia. D'aquests, 000-20 usuaris eren intrusos i van intentar piratejar el lloc. 

La força bruta de forma habitual d'una adreça IP va ser bloquejada per FortiWeb amb força facilitat. El nombre de visites al lloc per minut era superior al dels usuaris legítims. Simplement vam establir llindars d'activitat des d'una adreça i vam repel·lir l'atac.

És molt més difícil fer front als "atacs lents", quan els atacants actuen lentament i es disfressen de clients corrents. Utilitzen moltes adreces IP úniques. Aquesta activitat no semblava una força bruta massiva per a WAF, era més difícil fer-ne un seguiment automàticament. I també hi havia el risc de bloquejar usuaris normals. Hem buscat altres signes d'atac i hem establert una política per bloquejar automàticament les adreces IP en funció d'aquest signe. Per exemple, moltes sessions il·legítimes tenien camps comuns a les capçaleres de la sol·licitud http. Sovint calia buscar aquests camps manualment als registres d'esdeveniments de FortiWeb. 

Es va fer llarg i incòmode. A la funcionalitat estàndard de FortiWeb, els esdeveniments es registren en text en 3 registres diferents: atacs detectats, informació sobre peticions i missatges del sistema sobre el funcionament del WAF. Es poden produir desenes o fins i tot centenars d'esdeveniments d'atac en un minut.

No tant, però heu de pujar manualment per diversos registres i repetir moltes línies: 

Com ELK ajuda els enginyers de seguretat a combatre els atacs de llocs web i dormir tranquil·lament
Al registre d'atac, veiem les adreces dels usuaris i la naturalesa de l'activitat. 
 
No n'hi ha prou amb escanejar la taula de registre. Per trobar el més interessant i útil sobre la naturalesa de l'atac, heu de mirar dins d'un esdeveniment específic:

Com ELK ajuda els enginyers de seguretat a combatre els atacs de llocs web i dormir tranquil·lament
Els camps destacats ajuden a detectar "atac lent". Font: captura de pantalla de Lloc de Fortinet

Bé, el principal problema és que només un especialista de FortiWeb pot esbrinar-ho. Si durant l'horari comercial encara poguéssim fer un seguiment d'activitats sospitoses en temps real, la investigació dels incidents nocturns es podria retardar. Quan les polítiques de FortiWeb no van funcionar per algun motiu, els enginyers del torn de nit de torn no van poder avaluar la situació sense accedir al WAF i van despertar l'especialista de FortiWeb. Vam mirar entre els registres durant diverses hores i vam trobar el moment de l'atac. 

Amb aquests volums d'informació, és difícil entendre el panorama general d'un cop d'ull i actuar de manera proactiva. Aleshores vam decidir recollir dades en un sol lloc per analitzar-ho tot de forma visual, trobar l'inici de l'atac, identificar-ne la direcció i el mètode de bloqueig. 

Què vas triar

En primer lloc, vam analitzar les solucions que ja s'utilitzen, per no multiplicar les entitats innecessàriament.

Una de les primeres opcions va ser Nagiosque fem servir per controlar infraestructura d'enginyeria, infraestructura de xarxa, alertes d'emergència. Els guàrdies de seguretat també l'utilitzen per avisar als assistents en cas de trànsit sospitós, però no sap com recollir troncs escampats i per tant desapareix. 

Hi havia una opció per agregar-ho tot MySQL i PostgreSQL o una altra base de dades relacional. Però per treure les dades, va ser necessari esculpir la vostra aplicació. 

Com a col·lector de troncs a la nostra empresa també utilitzen FortiAnalyzer de Fortinet. Però en aquest cas, tampoc no encaixava. En primer lloc, és més afinat treballar amb un tallafoc FortiGate. En segon lloc, faltaven moltes configuracions i la interacció amb ella requeria un coneixement excel·lent de les consultes SQL. I en tercer lloc, el seu ús augmentaria el cost del servei per al client.   

Així és com vam arribar al codi obert a la cara ELK

Per què triar ELK 

ELK és un conjunt de programes de codi obert:

  • Elasticsearch - una base de dades de sèries temporals, que s'acaba de crear per treballar amb grans volums de text;
  • Logstash – un mecanisme de recollida de dades que pot convertir els registres al format desitjat; 
  • Kibana - un bon visualitzador, així com una interfície bastant amigable per gestionar Elasticsearch. Podeu utilitzar-lo per crear horaris que els enginyers de servei puguin supervisar a la nit. 

El llindar d'entrada per a ELK és baix. Totes les funcions bàsiques són gratuïtes. Què més es necessita per a la felicitat.

Com ho vas reunir tot en un sol sistema?

Va crear índexs i va deixar només la informació necessària. Hem carregat els tres registres de FortiWEB a ELK: la sortida eren índexs. Aquests són fitxers amb tots els registres recollits durant un període, per exemple, un dia. Si els visualitzéssim de seguida, només veurem la dinàmica dels atacs. Per obtenir més detalls, heu de "caure" en cada atac i mirar camps específics.

Com ELK ajuda els enginyers de seguretat a combatre els atacs de llocs web i dormir tranquil·lament

Ens vam adonar que primer hem de configurar l'anàlisi de la informació no estructurada. Vam agafar camps llargs com a cadenes, com ara "Missatge" i "URL", i els vam analitzar per obtenir més informació per a la presa de decisions. 

Per exemple, mitjançant l'anàlisi, vam treure la ubicació de l'usuari per separat. Això va ajudar a destacar immediatament els atacs de l'estranger a llocs per a usuaris russos. En bloquejar totes les connexions d'altres països, vam reduir el nombre d'atacs en 2 vegades i vam poder fer front fàcilment als atacs dins de Rússia. 

Després de l'anàlisi, van començar a buscar quina informació emmagatzemar i visualitzar. Deixar tot al registre era inadequat: la mida d'un índex era gran: 7 GB. ELK va trigar molt a processar el fitxer. Tanmateix, no tota la informació va ser útil. Alguna cosa es va duplicar i va ocupar espai addicional: calia optimitzar. 

Al principi, només vam mirar l'índex i vam eliminar els esdeveniments innecessaris. Això va resultar ser encara més incòmode i més llarg que treballar amb registres al mateix FortiWeb. L'únic avantatge de l'"arbre de Nadal" en aquesta etapa és que vam poder visualitzar un gran període de temps en una pantalla. 

No ens vam desesperar, vam continuar menjant el cactus i estudiant ELK i vam creure que podríem extreure la informació necessària. Després de netejar els índexs, vam començar a visualitzar què és. Així que vam arribar a grans taulers de comandament. Hem posat ginys: visualment i elegantment, un autèntic ЁLKa! 

Com ELK ajuda els enginyers de seguretat a combatre els atacs de llocs web i dormir tranquil·lament

Capturat el moment de l'atac. Ara calia entendre com es veu l'inici de l'atac al gràfic. Per detectar-ho, hem analitzat les respostes del servidor a l'usuari (codis de retorn). Ens interessaven les respostes del servidor amb aquests codis (rc): 

Codi (rc)

Nom

Descripció

0

DROP

La sol·licitud al servidor està bloquejada

200

Ok

La sol·licitud s'ha processat correctament

400

Sol·licitud incorrecta

Petició dolenta

403

Prohibit

Autorització denegada

500

Error intern del servidor

El servei no està disponible

Si algú començava a atacar el lloc, la proporció de codis canviava: 

  • Si hi havia més sol·licituds errònies amb el codi 400 i el mateix nombre de sol·licituds normals amb el codi 200, algú estava intentant piratejar el lloc. 
  • Si, al mateix temps, també van créixer les peticions amb codi 0, els polítics de FortiWeb també van "veure" l'atac i li van aplicar bloquejos. 
  • Si augmenta el nombre de missatges amb el codi 500, el lloc no està disponible per a aquestes adreces IP, també una mena de bloqueig. 

Al tercer mes, havíem configurat un tauler per fer un seguiment d'aquesta activitat.

Com ELK ajuda els enginyers de seguretat a combatre els atacs de llocs web i dormir tranquil·lament

Per no controlar-ho tot manualment, vam configurar la integració amb Nagios, que va enquestar ELK a determinats intervals. Si registrava l'assoliment de valors de llindar per codis, enviava una notificació als oficials de servei sobre activitats sospitoses. 

Combinació de 4 gràfics en el sistema de seguiment. Ara era important veure en els gràfics el moment en què l'atac no està bloquejat i cal la intervenció d'un enginyer. En 4 gràfics diferents, el nostre ull estava borrós. Per tant, vam combinar els gràfics i vam començar a observar-ho tot en una pantalla.

Durant el seguiment, vam observar com canvien els gràfics de diferents colors. Un esclat de vermell indicava que l'atac havia començat, mentre que els gràfics taronja i blau mostraven la reacció de FortiWeb:

Com ELK ajuda els enginyers de seguretat a combatre els atacs de llocs web i dormir tranquil·lament
Aquí tot està bé: hi va haver un augment d'activitat "vermella", però FortiWeb va fer front i el calendari d'atac va quedar en res.

També hem dibuixat per nosaltres mateixos un exemple de gràfic que requereix intervenció:

Com ELK ajuda els enginyers de seguretat a combatre els atacs de llocs web i dormir tranquil·lament
Aquí podem veure que FortiWeb ha augmentat l'activitat, però el gràfic d'atac vermell no ha disminuït. Heu de canviar la configuració del WAF.

També s'ha tornat més fàcil investigar els incidents nocturns. El gràfic mostra immediatament el moment en què és el moment de venir a la defensa del lloc. 

Com ELK ajuda els enginyers de seguretat a combatre els atacs de llocs web i dormir tranquil·lament
Això és el que de vegades passa a la nit. Gràfic vermell: l'atac ha començat. Blau - Activitat de FortiWeb. L'atac no va ser totalment bloquejat, vam haver d'intervenir.

On estem anant

Ara estem formant administradors de servei per treballar amb ELK. Els assistents aprenen a avaluar la situació al tauler i prendre una decisió: és hora d'escalar a un especialista de FortiWeb, o les polítiques del WAF seran suficients per repel·lir automàticament l'atac. Així reduïm la càrrega de treball dels enginyers de seguretat a la nit i compartim funcions de suport a nivell de sistema. L'accés a FortiWeb es manté només amb el centre de ciberdefensa, i només ells fan canvis a la configuració del WAF quan sigui necessari.

També estem treballant en informes per als clients. Tenim previst que les dades sobre la dinàmica del treball de WAF estiguin disponibles al compte personal del client. ELK aclarirà la situació sense necessitat de referir-se al mateix WAF.

Si el client vol controlar la seva pròpia protecció en temps real, ELK també serà útil. No podem cedir l'accés a WAF, ja que la intervenció del client en l'obra pot afectar la resta. Però podeu agafar un ELK per separat i donar-li a "jugar". 

Aquests són els escenaris per utilitzar l'arbre de Nadal que hem acumulat darrerament. Comparteix els teus pensaments sobre això i no t'oblidis configurar-ho tot correctamentper evitar fuites de bases de dades. 

Font: www.habr.com