2. pile elastik: analiz de mòso bwa sekirite. Logstash

2. pile elastik: analiz de mòso bwa sekirite. Logstash

Nan tan lontan an Atik nou te rankontre ELK pile, ki pwodwi lojisyèl li konsiste de. Ak premye travay yon enjenyè fè fas a lè l ap travay ak pil ELK la se voye mòso bwa pou depo nan elasticsearch pou analiz ki vin apre. Sepandan, sa a se jis sèvis lèv, elasticsearch magazen mòso bwa nan fòm lan nan dokiman ak sèten jaden ak valè, ki vle di enjenyè a dwe itilize zouti divès kalite analize mesaj la ki voye soti nan sistèm yo nan fen. Sa a ka fè nan plizyè fason - ekri yon pwogram tèt ou ki pral ajoute dokiman nan baz done a lè l sèvi avèk API a, oswa itilize solisyon pare-fè. Nan kou sa a nou pral konsidere solisyon an logstash, ki se yon pati nan pil ELK la. Nou pral gade ki jan nou ka voye mòso bwa soti nan sistèm pwen final yo nan Logstash, epi Lè sa a, nou pral mete yon dosye konfigirasyon analize ak redireksyon nan baz done Elasticsearch la. Pou fè sa, nou pran mòso bwa ki soti nan firewall la Check Point kòm sistèm nan fèk ap rantre.

Kou a pa kouvri enstalasyon ELK pile, paske gen yon gwo kantite atik sou sijè sa a; nou pral konsidere eleman konfigirasyon an.

Ann trase yon plan aksyon pou konfigirasyon Logstash:

  1. Tcheke ke elasticsearch pral aksepte mòso bwa (tcheke fonksyonalite a ak ouvèti pò a).
  2. Nou konsidere ki jan nou ka voye evènman nan Logstash, chwazi yon metòd, epi aplike li.
  3. Nou konfigirasyon Antre nan dosye a konfigirasyon Logstash.
  4. Nou konfigirasyon Sòti nan dosye a konfigirasyon Logstash nan mòd debug yo nan lòd yo konprann ki sa mesaj la boutèy demi lit sanble.
  5. Mete kanpe Filter.
  6. Mete kanpe Sorti ki kòrèk la nan ElasticSearch.
  7. Logstash lanse.
  8. Tcheke mòso bwa yo nan Kibana.

Ann gade chak pwen an plis detay:

Tcheke ke elasticsearch pral aksepte mòso bwa

Pou fè sa, ou ka itilize kòmand boukl la pou tcheke aksè a Elasticsearch nan sistèm nan ki Logstash deplwaye. Si ou gen otantifikasyon configuré, Lè sa a, nou menm tou nou transfere itilizatè a / modpas atravè boukl, espesifye pò 9200 si ou pa te chanje li. Si ou resevwa yon repons ki sanble ak youn ki anba a, Lè sa a, tout bagay an nan lòd.

[elastic@elasticsearch ~]$ curl -u <<user_name>> : <<password>> -sS -XGET "<<ip_address_elasticsearch>>:9200"
{
  "name" : "elastic-1",
  "cluster_name" : "project",
  "cluster_uuid" : "sQzjTTuCR8q4ZO6DrEis0A",
  "version" : {
    "number" : "7.4.1",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "fc0eeb6e2c25915d63d871d344e3d0b45ea0ea1e",
    "build_date" : "2019-10-22T17:16:35.176724Z",
    "build_snapshot" : false,
    "lucene_version" : "8.2.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
[elastic@elasticsearch ~]$

Si repons lan pa resevwa, Lè sa a, ka gen plizyè kalite erè: pwosesis elasticsearch la pa kouri, pò a mal espesifye, oswa pò a bloke pa yon firewall sou sèvè a kote elastiksearch enstale.

Ann gade ki jan ou ka voye mòso bwa nan Logstash soti nan yon firewall pwen chèk

Soti nan sèvè jesyon Check Point ou ka voye mòso bwa nan Logstash atravè syslog lè l sèvi avèk sèvis piblik log_exporter, ou ka li plis sou li isit la. Atik, isit la nou pral kite sèlman kòmandman an ki kreye kouran an:

cp_log_export ajoute non check_point_syslog target-server < > target-port 5555 pwotokòl tcp fòma jenerik lekti-mòd semi-inifye

< > - adrès sèvè a sou ki Logstash kouri, target-port 5555 - pò kote nou pral voye mòso bwa, voye mòso bwa atravè tcp ka chaje sèvè a, kidonk nan kèk ka li pi kòrèk pou itilize udp.

Mete kanpe INPUT nan dosye konfigirasyon Logstash

2. pile elastik: analiz de mòso bwa sekirite. Logstash

Pa default, fichye konfigirasyon an sitiye nan /etc/logstash/conf.d/ anyè. Fichye konfigirasyon an konsiste de 3 pati ki gen sans: INPUT, FILTER, OUTPUT. NAN OPINYON nou endike kote sistèm lan pral pran mòso bwa soti, nan FILTRE parse log la - mete kanpe kijan pou divize mesaj la an jaden ak valè, nan SÒTI nou konfigirasyon kouran pwodiksyon an - kote yo pral voye mòso bwa yo analize.

Premyèman, kite a konfigirasyon INPUT, konsidere kèk nan kalite yo ki ka - fichye, tcp ak ègzekutabl.

Tcp:

input {
tcp {
    port => 5555
    host => “10.10.1.205”
    type => "checkpoint"
    mode => "server"
}
}

mòd => "sèvè"
Endike ke Logstash ap aksepte koneksyon.

pò => 5555
host => "10.10.1.205"
Nou aksepte koneksyon atravè adrès IP 10.10.1.205 (Logstash), pò 5555 - politik firewall la dwe pèmèt pò a.

tape => "checkpoint"
Nou make dokiman an, trè pratik si ou gen plizyè koneksyon fèk ap rantre. Imedyatman, pou chak koneksyon ou ka ekri pwòp filtè w lè l sèvi avèk konstriksyon lojik si la.

File:

input {
  file {
    path => "/var/log/openvas_report/*"
    type => "openvas"
    start_position => "beginning"
    }
}

Deskripsyon anviwònman:
chemen => "/var/log/openvas_report/*"
Nou endike anyè a nan ki dosye yo bezwen li.

tape => "openvas"
Kalite evènman.

start_position => "kòmanse"
Lè w chanje yon fichye, li li tout fichye a; si w mete "fen", sistèm lan ap tann nouvo dosye parèt nan fen fichye a.

Egzekitif:

input {
  exec {
    command => "ls -alh"
    interval => 30
  }
}

Sèvi ak opinyon sa a, yon (sèlman!) lòd koki yo te lanse epi pwodiksyon li yo tounen yon mesaj boutèy demi lit.

komand => "ls -alh"
Kòmandman ki gen pwodiksyon nou enterese nan.

entèval => 30
Entèval envokasyon lòd an segonn.

Yo nan lòd yo resevwa mòso bwa nan firewall la, nou anrejistre yon filtè tcp oswa udp, depann sou fason yo voye mòso bwa yo bay Logstash.

Nou konfigirasyon Sòti nan dosye a konfigirasyon Logstash nan mòd debug yo nan lòd yo konprann ki sa mesaj la boutèy demi lit sanble

Apre nou fin configuré INPUT, nou bezwen konprann ki sa mesaj boutèy la pral sanble ak ki metòd yo bezwen itilize pou konfigirasyon filtè boutèy la (parser).

Pou fè sa, nou pral sèvi ak yon filtè ki soti rezilta a nan stdout yo nan lòd yo wè mesaj orijinal la; dosye konfigirasyon konplè a nan moman sa a pral sanble sa a:

input 
{
         tcp 
         {
                port => 5555
  	  	type => "checkpoint"
    		mode => "server"
                host => “10.10.1.205”
   	 }
}

output 
{
	if [type] == "checkpoint" 
       {
		stdout { codec=> json }
	}
}

Kouri kòmandman an pou tcheke:
sudo /usr/share/logstash/bin//logstash -f /etc/logstash/conf.d/checkpoint.conf
Nou wè rezilta a, foto a se klike sou:

2. pile elastik: analiz de mòso bwa sekirite. Logstash

Si w kopye l, li pral sanble sa a:

action="Accept" conn_direction="Internal" contextnum="1" ifdir="outbound" ifname="bond1.101" logid="0" loguid="{0x5dfb8c13,0x5,0xfe0a0a0a,0xc0000000}" origin="10.10.10.254" originsicname="CN=ts-spb-cpgw-01,O=cp-spb-mgmt-01.tssolution.local.kncafb" sequencenum="8" time="1576766483" version="5" context_num="1" dst="10.10.10.10" dst_machine_name="[email protected]" layer_name="TSS-Standard Security" layer_name="TSS-Standard Application" layer_uuid="dae7f01c-4c98-4c3a-a643-bfbb8fcf40f0" layer_uuid="dbee3718-cf2f-4de0-8681-529cb75be9a6" match_id="8" match_id="33554431" parent_rule="0" parent_rule="0" rule_action="Accept" rule_action="Accept" rule_name="Implicit Cleanup" rule_uid="6dc2396f-9644-4546-8f32-95d98a3344e6" product="VPN-1 & FireWall-1" proto="17" s_port="37317" service="53" service_id="domain-udp" src="10.10.1.180" ","type":"qqqqq","host":"10.10.10.250","@version":"1","port":50620}{"@timestamp":"2019-12-19T14:50:12.153Z","message":"time="1576766483" action="Accept" conn_direction="Internal" contextnum="1" ifdir="outbound" ifname="bond1.101" logid="0" loguid="{0x5dfb8c13,

Lè n gade mesaj sa yo, nou konprann mòso bwa yo sanble: jaden = valè oswa kle = valè, ki vle di yon filtè ki rele kv apwopriye. Yo nan lòd yo chwazi bon filtè a pou chak ka espesifik, li ta yon bon lide yo familyarize tèt ou ak yo nan dokiman an teknik, oswa mande yon zanmi.

Mete kanpe Filter

Nan dènye etap nou te chwazi kv, konfigirasyon filtè sa a prezante anba a:

filter {
if [type] == "checkpoint"{
	kv {
		value_split => "="
		allow_duplicate_values => false
	}
}
}

Nou chwazi senbòl la pa ki nou pral divize jaden an ak valè - "=". Si nou gen antre ki idantik nan jounal la, nou sove yon sèl egzanp nan baz done a, otreman ou pral fini ak yon etalaj de valè ki idantik, se sa ki, si nou gen mesaj la "foo = kèk foo = kèk" nou ekri sèlman foo. = kèk.

Mete kanpe Sorti ki kòrèk la nan ElasticSearch

Yon fwa Filter yo konfigirasyon, ou ka Upload mòso bwa nan baz done a rechèch elastik yo:

output 
{
if [type] == "checkpoint"
{
 	elasticsearch 
        {
		hosts => ["10.10.1.200:9200"]
		index => "checkpoint-%{+YYYY.MM.dd}"
    		user => "tssolution"
    		password => "cool"
  	}
}
}

Si dokiman an siyen ak kalite pòs kontwòl la, nou sove evènman an nan baz done elasticsearch la, ki aksepte koneksyon sou 10.10.1.200 sou pò 9200 pa default. Chak dokiman sove nan yon endèks espesifik, nan ka sa a nou sove nan endèks "checkpoint-" + dat aktyèl la. Chak endèks ka gen yon seri jaden espesifik, oswa yo kreye otomatikman lè yon nouvo jaden parèt nan yon mesaj; anviwònman jaden yo ak kalite yo ka wè nan kat.

Si ou gen otantifikasyon configuré (nou pral gade li pita), yo dwe espesifye kalifikasyon yo pou ekri nan yon endèks espesifik, nan egzanp sa a li se "tssolution" ak modpas la "cool". Ou ka diferansye dwa itilizatè yo ekri mòso bwa sèlman nan yon endèks espesifik epi pa plis.

Lanse Logstash.

Fichye konfigirasyon Logstash:

input 
{
         tcp 
         {
                port => 5555
  	  	type => "checkpoint"
    		mode => "server"
                host => “10.10.1.205”
   	 }
}

filter {
        if [type] == "checkpoint"{
	kv {
		value_split => "="
		allow_duplicate_values => false
	}
        }
}

output 
{
if [type] == "checkpoint"
{
 	elasticsearch 
        {
		hosts => ["10.10.1.200:9200"]
		index => "checkpoint-%{+YYYY.MM.dd}"
    		user => "tssolution"
    		password => "cool"
  	}
}
}

Nou tcheke fichye konfigirasyon an pou kòrèk:
/usr/share/logstash/bin//logstash -f checkpoint.conf
2. pile elastik: analiz de mòso bwa sekirite. Logstash

Kòmanse pwosesis Logstash la:
sudo systemctl kòmanse logstash

Nou tcheke si pwosesis la te kòmanse:
sudo systemctl estati logstash

2. pile elastik: analiz de mòso bwa sekirite. Logstash

Ann tcheke si priz la leve:
netstat -nat |grep 5555

2. pile elastik: analiz de mòso bwa sekirite. Logstash

Tcheke mòso bwa yo nan Kibana.

Apre tout bagay ap kouri, ale nan Kibana - Dekouvri, asire w ke tout bagay se configuré kòrèkteman, foto a se klike sou!

2. pile elastik: analiz de mòso bwa sekirite. Logstash

Tout mòso bwa yo an plas epi nou ka wè tout jaden yo ak valè yo!

Konklizyon

Nou te gade ki jan yo ekri yon dosye konfigirasyon Logstash, e kòm yon rezilta nou te resevwa yon analizeur nan tout jaden ak valè. Koulye a, nou ka travay ak rechèch ak trase pou jaden espesifik. Next nan kou a nou pral gade nan vizyalizasyon nan Kibana epi kreye yon tablodbò senp. Li se vo mansyone ke dosye a konfigirasyon Logstash bezwen yo dwe toujou ap mete ajou nan sèten sitiyasyon, pou egzanp, lè nou vle ranplase valè a nan yon jaden soti nan yon nimewo nan yon mo. Nan atik ki vin apre nou pral fè sa toujou.

Se konsa, rete brancheTelegram, Facebook, VK, TS solisyon Blog), Yandex Zen.

Sous: www.habr.com

Add nouvo kòmantè