په اخر کې
کورس د ELK سټیک نصبولو پوښښ نه کوي، ځکه چې پدې موضوع کې ډیری مقالې شتون لري؛ موږ به د ترتیب برخې ته پام وکړو.
راځئ چې د Logstash ترتیب لپاره د عمل پلان جوړ کړو:
- د دې elasticsearch چک کول به لاګونه ومني (د بندر فعالیت او خلاصون چیک کول).
- موږ په پام کې لرو چې څنګه کولی شو پیښې Logstash ته ولیږو، یوه طریقه غوره کړو، او پلي یې کړو.
- موږ د Logstash ترتیب کولو فایل کې ان پټ تنظیم کوو.
- موږ په ډیبګ حالت کې د Logstash ترتیب کولو فایل کې محصول تنظیم کوو ترڅو پوه شو چې د لاګ پیغام څه ډول ښکاري.
- د فلټر تنظیم کول.
- په ElasticSearch کې د سم محصول تنظیم کول.
- Logstash پیل کوي.
- په کبانا کې د لاګونو چک کول.
راځئ چې هر ټکی په ډیر تفصیل سره وګورو:
د دې 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 تنظیم کول
په ډیفالټ، د ترتیب کولو فایل په /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
موږ پایله ګورو، انځور د کلک کولو وړ دی:
که تاسو یې کاپي کړئ دا به داسې ښکاري:
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
د Logstash پروسه پیل کړئ:
د سیسټم سیسټم پیل کړئ
موږ ګورو چې پروسه پیل شوې ده:
sudo systemctl حالت لوګسټاش
راځئ وګورو چې آیا ساکټ پورته دی:
netstat -nat |grep 5555
په کبانا کې د لاګونو چک کول.
وروسته له دې چې هرڅه چلیږي ، کیبانا ته لاړشئ - کشف کړئ ، ډاډ ترلاسه کړئ چې هرڅه سم تنظیم شوي ، عکس د کلیک کولو وړ دی!
ټول لاګونه په ځای کې دي او موږ کولی شو ټولې ساحې او د دوی ارزښتونه وګورو!
پایلې
موږ د Logstash ترتیب کولو فایل لیکلو څرنګوالی وګورو، او په پایله کې موږ د ټولو ساحو او ارزښتونو پارسر ترلاسه کړ. اوس موږ کولی شو د ځانګړو ساحو لپاره د لټون او پلټ کولو سره کار وکړو. بل په کورس کې به موږ په کبانا کې لید لید وګورو او یو ساده ډشبورډ به رامینځته کړو. دا د یادولو وړ ده چې د Logstash ترتیب فایل باید په ځینو شرایطو کې په دوامداره توګه تازه شي، د بیلګې په توګه، کله چې موږ غواړو د ساحې ارزښت له شمیر څخه یوې کلمې ته بدل کړو. په راتلونکو مقالو کې به موږ دا په دوامداره توګه ترسره کړو.
نو ولاړ شه
سرچینه: www.habr.com