2. لچک لرونکي سټیک: د امنیتي لاګونو تحلیل. Logstash

2. لچک لرونکي سټیک: د امنیتي لاګونو تحلیل. Logstash

په اخر کې مقالې موږ ولیدل د ELK سټیک، کوم سافټویر محصولات پکې شامل دي. او لومړی دنده چې انجینر ورسره مخ کیږي کله چې د ELK سټیک سره کار کوي د راتلونکي تحلیل لپاره په elasticsearch کې د ذخیره کولو لپاره لاګونه لیږل دي. په هرصورت، دا یوازې د شونډو خدمت دی، elasticsearch د ځانګړو ساحو او ارزښتونو سره د اسنادو په بڼه لاګ ذخیره کوي، پدې معنی چې انجنیر باید د پای سیسټمونو څخه لیږل شوي پیغام پارس کولو لپاره مختلف وسیلې وکاروي. دا په څو لارو ترسره کیدی شي - پخپله یو برنامه ولیکئ چې د API په کارولو سره ډیټابیس ته اسناد اضافه کړي ، یا چمتو شوي حلونه وکاروي. پدې کورس کې به موږ حل په پام کې ونیسو لوټسټش، کوم چې د ELK سټیک برخه ده. موږ به وګورو چې څنګه موږ کولی شو د پای ټکي سیسټمونو څخه لوګسټاش ته لاګونه واستوو، او بیا به موږ د ترتیب کولو فایل تنظیم کړو ترڅو پارس او د Elasticsearch ډیټابیس ته لارښود کړو. د دې کولو لپاره ، موږ د راتلونکي سیسټم په توګه د چیک پوائنټ فایر وال څخه لاګونه اخلو.

کورس د ELK سټیک نصبولو پوښښ نه کوي، ځکه چې پدې موضوع کې ډیری مقالې شتون لري؛ موږ به د ترتیب برخې ته پام وکړو.

راځئ چې د Logstash ترتیب لپاره د عمل پلان جوړ کړو:

  1. د دې elasticsearch چک کول به لاګونه ومني (د بندر فعالیت او خلاصون چیک کول).
  2. موږ په پام کې لرو چې څنګه کولی شو پیښې Logstash ته ولیږو، یوه طریقه غوره کړو، او پلي یې کړو.
  3. موږ د Logstash ترتیب کولو فایل کې ان پټ تنظیم کوو.
  4. موږ په ډیبګ حالت کې د Logstash ترتیب کولو فایل کې محصول تنظیم کوو ترڅو پوه شو چې د لاګ پیغام څه ډول ښکاري.
  5. د فلټر تنظیم کول.
  6. په ElasticSearch کې د سم محصول تنظیم کول.
  7. Logstash پیل کوي.
  8. په کبانا کې د لاګونو چک کول.

راځئ چې هر ټکی په ډیر تفصیل سره وګورو:

د دې elasticsearch چک کول به لاګونه ومني

د دې کولو لپاره، تاسو کولی شئ د سیسټم څخه Elasticsearch ته د لاسرسي چک کولو لپاره د curl کمانډ وکاروئ په کوم کې چې Logstash ګمارل شوی. که تاسو تصدیق تنظیم کړی وي، نو بیا موږ د کارل / پاسورډ د curl له لارې لیږدوو، د پورټ 9200 مشخص کول که تاسو دا نه وي بدل کړی. که تاسو لاندې یو ته ورته ځواب ترلاسه کړئ، نو هرڅه په ترتیب کې دي.

[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 ~]$

که ځواب نه وي ترلاسه شوی، نو بیا ممکن ډیری ډوله تېروتنې شتون ولري: د elasticsearch پروسه نه روانه ده، غلط پورټ مشخص شوی، یا پورټ په سرور کې د فائر وال لخوا بند شوی چیرې چې elasticsearch نصب شوی.

راځئ وګورو چې تاسو څنګه کولی شئ د چیک پوائنټ فائر وال څخه لوګسټاش ته لاګونه واستوئ

د چیک پوائنټ مدیریت سرور څخه تاسو کولی شئ د log_exporter یوټیلیټ په کارولو سره د syslog له لارې Logstash ته لاګونه واستوئ، تاسو کولی شئ دلته یې په اړه نور ولولئ مقالې، دلته به موږ یوازې هغه کمانډ پریږدو چې جریان رامینځته کوي:

cp_log_export نوم اضافه کړئ check_point_syslog target-server < > هدف-پورټ 5555 پروتوکول tcp بڼه د عمومي لوستلو حالت نیمه متحد

< > - د سرور پته په کوم کې چې Logstash چلیږي، د هدف-پورټ 5555 - هغه بندر چې موږ به یې لاګونه لیږو، د tcp له لارې د لاګونو لیږل سرور کولی شي پورته کړي، نو په ځینو مواردو کې دا د udp کارول خورا سم دي.

د Logstash ترتیب کولو فایل کې د INPUT تنظیم کول

2. لچک لرونکي سټیک: د امنیتي لاګونو تحلیل. Logstash

په ډیفالټ، د ترتیب کولو فایل په /etc/logstash/conf.d/ ډایرکټر کې موقعیت لري. د ترتیب کولو فایل د 3 معنی لرونکي برخو څخه جوړ دی: INPUT، FILTER، OUTPUT. IN ننوتۍ موږ په ګوته کوو چې سیسټم به له کوم ځای څخه لاګونه واخلي Filter لاګ پارس کړئ - ترتیب کړئ چې څنګه پیغام په ساحو او ارزښتونو ویشل کیږي Output موږ د محصول جریان تنظیم کوو - چیرې چې تحلیل شوي لاګونه به لیږل کیږي.

لومړی، راځئ چې INPUT تنظیم کړو، ځینې ډولونه په پام کې ونیسئ چې کیدی شي - فایل، tcp او exe.

Tcp:

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

حالت => "سرور"
دا په ګوته کوي چې Logstash اړیکې مني.

پورټ => 5555
کوربه => "10.10.1.205"
موږ د IP پتې 10.10.1.205 (Logstash) له لارې اړیکې منو، پورټ 5555 - بندر باید د فایروال پالیسۍ لخوا اجازه ورکړل شي.

ډول => "د پوستې"
موږ سند په نښه کوو ، خورا اسانه که تاسو څو راتلونکي اړیکې ولرئ. وروسته، د هرې پیوستون لپاره تاسو کولی شئ خپل فلټر د منطق په کارولو سره ولیکئ که جوړ کړئ.

دوتنه:

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

د ترتیباتو توضیحات:
لاره => "/var/log/openvas_report/*"
موږ هغه لارښود په ګوته کوو چیرې چې فایلونه لوستلو ته اړتیا لري.

ډول => "اوپینواس"
د پیښې ډول.

start_position => "پیل"
کله چې د فایل بدلول، دا ټوله فایل لوستل کیږي؛ که تاسو "پای" تنظیم کړئ، سیسټم د فایل په پای کې د نوي ریکارډونو څرګندیدو ته انتظار باسي.

اجرا:

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

د دې ان پټ په کارولو سره ، د (یوازې!) شیل کمانډ په لاره اچول شوی او محصول یې په لاګ پیغام کې بدل شوی.

امر => "ls -alh"
کمانډ چې محصول یې موږ لیوالتیا لرو.

وقفه => 30
په ثانیو کې د غوښتنې وقفې کمانډ.

د فایر وال څخه د لاګونو ترلاسه کولو لپاره، موږ یو فلټر ثبت کوو tcp او یا udpپه دې پورې اړه لري چې څنګه لوګسټاش ته لاګونه لیږل کیږي.

موږ په ډیبګ حالت کې د Logstash ترتیب کولو فایل کې محصول تنظیم کوو ترڅو پوه شو چې د لاګ پیغام څه ډول ښکاري

وروسته له دې چې موږ INPUT تنظیم کړو، موږ باید پوه شو چې د لاګ پیغام به څه ډول ښکاري او د لاګ فلټر (پارسر) تنظیم کولو لپاره کوم میتودونو ته اړتیا ده.

د دې کولو لپاره، موږ به یو فلټر وکاروو چې پایله یې د اصلي پیغام لیدلو لپاره stdout ته رسوي؛ په اوس وخت کې د بشپړ ترتیب فایل به داسې ښکاري:

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

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

د چک کولو لپاره کمانډ پرمخ وړئ:
sudo /usr/share/logstash/bin//logstash -f /etc/logstash/conf.d/checkpoint.conf
موږ پایله ګورو، انځور د کلک کولو وړ دی:

2. لچک لرونکي سټیک: د امنیتي لاګونو تحلیل. Logstash

که تاسو یې کاپي کړئ دا به داسې ښکاري:

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,

دې پیغامونو ته په کتلو سره، موږ پوهیږو چې لاګونه داسې ښکاري: فیلډ = ارزښت یا کیلي = ارزښت، پدې معنی چې د kv په نوم یو فلټر مناسب دی. د هرې ځانګړې قضیې لپاره سم فلټر غوره کولو لپاره، دا به ښه نظر وي چې په تخنیکي اسنادو کې له دوی سره ځان وپیژنئ، یا د ملګري څخه پوښتنه وکړئ.

د فلټر تنظیم کول

په وروستي مرحله کې موږ kv غوره کړ، د دې فلټر ترتیب لاندې وړاندې کیږي:

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

موږ هغه سمبول غوره کوو چې له مخې به یې ساحه او ارزښت تقسیم کړو - "=". که موږ په لاګ کې ورته ننوتنې ولرو، موږ په ډیټابیس کې یوازې یوه بیلګه خوندي کوو، که نه نو تاسو به د ورته ارزښتونو لړۍ سره پای ته ورسیږئ، دا دی، که موږ د "foo = ځینې foo = ځینې" پیغام ولرو، موږ یوازې foo لیکو. = ځینې.

په ElasticSearch کې د سم محصول تنظیم کول

یوځل چې فلټر تنظیم شي ، تاسو کولی شئ ډیټابیس ته لاګ اپلوډ کړئ د:

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

که سند د چیک پوسټ ډول سره لاسلیک شوی وي ، نو موږ پیښه د elasticsearch ډیټابیس ته خوندي کوو ، کوم چې په 10.10.1.200 کې په ډیفالټ 9200 پورټ کې اړیکې مني. هر سند په ځانګړي شاخص کې خوندي شوی ، پدې حالت کې موږ شاخص ته خوندي کوو "د چیک پوائنټ" + د اوسني وخت نیټه. هر شاخص کولی شي د ساحو ځانګړي سیټ ولري، یا په اتوماتيک ډول رامینځته کیږي کله چې یو نوی ساحه په پیغام کې ښکاره شي؛ د ساحې ترتیبات او د دوی ډول په نقشه کې لیدل کیدی شي.

که تاسو تصدیق ترتیب کړی وي (موږ به یې وروسته وګورو) ، یو ځانګړي شاخص ته د لیکلو اسناد باید مشخص شي ، پدې مثال کې دا د پاسورډ "کول" سره "tssolution" دی. تاسو کولی شئ د کارونکي حقونه توپیر کړئ چې یوازې یو ځانګړي شاخص ته لاګونه ولیکئ او نور نه.

Logstash پیل کړئ.

د 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"
  	}
}
}

موږ د سموالي لپاره د ترتیب فایل چیک کوو:
/usr/share/logstash/bin//logstash -f checkpoint.conf
2. لچک لرونکي سټیک: د امنیتي لاګونو تحلیل. Logstash

د Logstash پروسه پیل کړئ:
د سیسټم سیسټم پیل کړئ

موږ ګورو چې پروسه پیل شوې ده:
sudo systemctl حالت لوګسټاش

2. لچک لرونکي سټیک: د امنیتي لاګونو تحلیل. Logstash

راځئ وګورو چې آیا ساکټ پورته دی:
netstat -nat |grep 5555

2. لچک لرونکي سټیک: د امنیتي لاګونو تحلیل. Logstash

په کبانا کې د لاګونو چک کول.

وروسته له دې چې هرڅه چلیږي ، کیبانا ته لاړشئ - کشف کړئ ، ډاډ ترلاسه کړئ چې هرڅه سم تنظیم شوي ، عکس د کلیک کولو وړ دی!

2. لچک لرونکي سټیک: د امنیتي لاګونو تحلیل. Logstash

ټول لاګونه په ځای کې دي او موږ کولی شو ټولې ساحې او د دوی ارزښتونه وګورو!

پایلې

موږ د Logstash ترتیب کولو فایل لیکلو څرنګوالی وګورو، او په پایله کې موږ د ټولو ساحو او ارزښتونو پارسر ترلاسه کړ. اوس موږ کولی شو د ځانګړو ساحو لپاره د لټون او پلټ کولو سره کار وکړو. بل په کورس کې به موږ په کبانا کې لید لید وګورو او یو ساده ډشبورډ به رامینځته کړو. دا د یادولو وړ ده چې د Logstash ترتیب فایل باید په ځینو شرایطو کې په دوامداره توګه تازه شي، د بیلګې په توګه، کله چې موږ غواړو د ساحې ارزښت له شمیر څخه یوې کلمې ته بدل کړو. په راتلونکو مقالو کې به موږ دا په دوامداره توګه ترسره کړو.

نو ولاړ شهTelegram, فیسبوک, VK, د TS حل بلاګ), Yandex.Zen.

سرچینه: www.habr.com

Add a comment