2. ඉලාස්ටික් ස්ටැක්: ආරක්ෂක ලඝු-සටහන් විශ්ලේෂණය. ලොග්ස්ටාෂ්

2. ඉලාස්ටික් ස්ටැක්: ආරක්ෂක ලඝු-සටහන් විශ්ලේෂණය. ලොග්ස්ටාෂ්

අන්තිමට ලිපියයි අපි හමුවුණා ELK තොගය, එය සමන්විත වන මෘදුකාංග නිෂ්පාදන මොනවාද. ELK තොගය සමඟ වැඩ කිරීමේදී ඉංජිනේරුවෙකු මුහුණ දෙන පළමු කාර්යය වන්නේ පසුකාලීන විශ්ලේෂණය සඳහා elasticsearch හි ගබඩා කිරීම සඳහා ලඝු-සටහන් යැවීමයි. කෙසේ වෙතත්, මෙය හුදෙක් තොල් සේවයකි, elasticsearch විසින් යම් ක්ෂේත්‍ර සහ අගයන් සහිත ලේඛන ආකාරයෙන් ලඝු-සටහන් ගබඩා කරයි, එයින් අදහස් කරන්නේ අවසාන පද්ධති වලින් යවන පණිවිඩය විග්‍රහ කිරීමට ඉංජිනේරුවරයා විවිධ මෙවලම් භාවිතා කළ යුතු බවයි. මෙය ක්‍රම කිහිපයකින් කළ හැකිය - API භාවිතයෙන් දත්ත සමුදායට ලේඛන එකතු කරන වැඩසටහනක් ඔබම ලියන්න, නැතහොත් සූදානම් කළ විසඳුම් භාවිතා කරන්න. මෙම පාඨමාලාවේදී අපි විසඳුම සලකා බලමු ලොග්ස්ටැෂ්ELK තොගයේ කොටසක් වන. අපි අවසන් ලක්ෂ්‍ය පද්ධති වලින් Logstash වෙත ලඝු-සටහන් යැවිය හැකි ආකාරය දෙස බලමු, පසුව අපි විග්‍රහ කිරීමට සහ Elasticsearch දත්ත සමුදාය වෙත හරවා යැවීමට වින්‍යාස ගොනුවක් සකසන්නෙමු. මෙය සිදු කිරීම සඳහා, අපි එන පද්ධතිය ලෙස චෙක් පොයින්ට් ෆයර්වෝලයෙන් ලඝු-සටහන් ගනිමු.

මෙම මාතෘකාව පිළිබඳ ලිපි විශාල ප්‍රමාණයක් ඇති බැවින් ELK තොගය ස්ථාපනය කිරීම පා course මාලාව ආවරණය නොකරයි; අපි වින්‍යාස සංරචකය සලකා බලමු.

Logstash වින්‍යාසය සඳහා ක්‍රියාකාරී සැලැස්මක් සකස් කරමු:

  1. ප්‍රත්‍යාස්ථ සෙවීම පරීක්ෂා කිරීම ලඝු-සටහන් පිළිගනු ඇත (වරායේ ක්‍රියාකාරීත්වය සහ විවෘතභාවය පරීක්ෂා කිරීම).
  2. අපි Logstash වෙත සිදුවීම් යැවිය හැකි ආකාරය සලකා බලමු, ක්රමයක් තෝරා එය ක්රියාත්මක කරන්න.
  3. අපි Logstash වින්‍යාස ගොනුවේ ආදානය වින්‍යාස කරමු.
  4. අපි Logstash වින්‍යාස ගොනුවේ ප්‍රතිදානය නිදොස් කිරීමේ ප්‍රකාරයේදී වින්‍යාස කරන්නෙමු ලොග් පණිවිඩය කෙබඳුද යන්න තේරුම් ගැනීමට.
  5. පෙරහන සැකසීම.
  6. ElasticSearch හි නිවැරදි ප්‍රතිදානය සැකසීම.
  7. ලොග්ස්ටාෂ් දියත් කරයි.
  8. කිබානා හි ලඝු-සටහන් පරීක්ෂා කිරීම.

එක් එක් කරුණ වඩාත් විස්තරාත්මකව බලමු:

ඉලාස්ටික් සෙවුම පරීක්ෂා කිරීමෙන් ලඝු-සටහන් පිළිගනු ඇත

මෙය සිදු කිරීම සඳහා, Logstash යොදවා ඇති පද්ධතියෙන් Elasticsearch වෙත ප්රවේශය පරීක්ෂා කිරීමට ඔබට curl විධානය භාවිතා කළ හැකිය. ඔබ සත්‍යාපනය වින්‍යාස කර ඇත්නම්, අපි පරිශීලක/මුරපදය 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 ස්ථාපනය කර ඇති සේවාදායකයේ ෆයර්වෝලයක් මඟින් වරාය අවහිර කර ඇත.

චෙක් පොයින්ට් ෆයර්වෝල් එකකින් Logstash වෙත ලොග් යවන්නේ කෙසේදැයි බලමු

Check Point කළමනාකරණ සේවාදායකයෙන් ඔබට log_exporter උපයෝගීතාව භාවිතයෙන් syslog හරහා Logstash වෙත ලඝු-සටහන් යැවිය හැක, ඔබට ඒ ගැන වැඩි විස්තර මෙතැනින් කියවිය හැක. ලිපියයි, මෙහිදී අපි ප්‍රවාහය නිර්මාණය කරන විධානය පමණක් තබමු:

cp_log_export නම එක් කරන්න check_point_syslog target-server < > target-port 5555 protocol tcp ආකෘතිය generic read-mode semi-uniified

< > - Logstash ක්‍රියාත්මක වන සේවාදායකයේ ලිපිනය, target-port 5555 - අපි ලොග් යවන වරාය, tcp හරහා ලොග් යැවීමෙන් සේවාදායකය පූරණය කළ හැකිය, එබැවින් සමහර අවස්ථාවල udp භාවිතා කිරීම වඩාත් නිවැරදි වේ.

Logstash වින්‍යාස ගොනුවේ INPUT සැකසීම

2. ඉලාස්ටික් ස්ටැක්: ආරක්ෂක ලඝු-සටහන් විශ්ලේෂණය. ලොග්ස්ටාෂ්

පෙරනිමියෙන්, වින්‍යාස ගොනුව /etc/logstash/conf.d/ බහලුම තුළ පිහිටා ඇත. වින්‍යාස ගොනුව අර්ථවත් කොටස් 3 කින් සමන්විත වේ: INPUT, 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), port 5555 හරහා සම්බන්ධතා පිළිගනිමු - ෆයර්වෝල් ප්‍රතිපත්තිය මගින් වරායට අවසර දිය යුතුය.

වර්ගය => "මුරපොල"
අපි ලේඛනය සලකුණු කරමු, ඔබට ලැබෙන සම්බන්ධතා කිහිපයක් තිබේ නම් ඉතා පහසුය. පසුව, සෑම සම්බන්ධතාවයක් සඳහාම ඔබට තාර්කික if construct භාවිතා කර ඔබේම පෙරහනක් ලිවිය හැකිය.

ගොනුව:

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

මෙම ආදානය භාවිතා කරමින්, (පමණක්!) shell විධානයක් දියත් කර එහි ප්‍රතිදානය ලොග් පණිවිඩයක් බවට පත් කෙරේ.

විධානය => "ls -alh"
අප උනන්දු වන ප්‍රතිදානය වන විධානය.

පරතරය => 30
තත්පර කිහිපයකින් විධාන ආමන්ත්‍රණ විරාමය.

ෆයර්වෝලයෙන් ලඝු-සටහන් ලබා ගැනීම සඳහා, අපි පෙරහනක් ලියාපදිංචි කරමු tcp හෝ udp, Logstash වෙත ලඝු-සටහන් යවන ආකාරය මත පදනම්ව.

අපි 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. ඉලාස්ටික් ස්ටැක්: ආරක්ෂක ලඝු-සටහන් විශ්ලේෂණය. ලොග්ස්ටාෂ්

ඔබ එය පිටපත් කළහොත් එය මේ ආකාරයෙන් පෙනෙනු ඇත:

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 = some foo=some” යන පණිවිඩය තිබේ නම් අපි ලියන්නේ 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. ඉලාස්ටික් ස්ටැක්: ආරක්ෂක ලඝු-සටහන් විශ්ලේෂණය. ලොග්ස්ටාෂ්

ලොග්ස්ටාෂ් ක්‍රියාවලිය ආරම්භ කරන්න:
sudo systemctl ආරම්භක ලොග්ස්ටැෂ්

ක්රියාවලිය ආරම්භ වී ඇත්දැයි අපි පරීක්ෂා කරමු:
sudo systemctl තත්ත්‍වය logstash

2. ඉලාස්ටික් ස්ටැක්: ආරක්ෂක ලඝු-සටහන් විශ්ලේෂණය. ලොග්ස්ටාෂ්

සොකට් එක ඉහළ ගොස් ඇත්දැයි පරීක්ෂා කරමු:
netstat -nat |grep 5555

2. ඉලාස්ටික් ස්ටැක්: ආරක්ෂක ලඝු-සටහන් විශ්ලේෂණය. ලොග්ස්ටාෂ්

කිබානා හි ලඝු-සටහන් පරීක්ෂා කිරීම.

සෑම දෙයක්ම ක්‍රියාත්මක වූ පසු, කිබානා වෙත යන්න - සොයා ගන්න, සියල්ල නිවැරදිව වින්‍යාස කර ඇති බවට වග බලා ගන්න, පින්තූරය ක්ලික් කළ හැකිය!

2. ඉලාස්ටික් ස්ටැක්: ආරක්ෂක ලඝු-සටහන් විශ්ලේෂණය. ලොග්ස්ටාෂ්

සියලුම ලඝු-සටහන් ස්ථානගතව ඇති අතර අපට සියලු ක්ෂේත්‍ර සහ ඒවායේ අගයන් දැකිය හැක!

නිගමනය

අපි Logstash වින්‍යාස ගොනුවක් ලියන්නේ කෙසේදැයි සොයා බැලුවෙමු, එහි ප්‍රති result ලයක් ලෙස අපට සියලුම ක්ෂේත්‍ර සහ අගයන් විග්‍රහ කිරීමක් ලැබුණි. දැන් අපට නිශ්චිත ක්ෂේත්‍ර සෙවීම සහ සැලසුම් කිරීම සමඟ වැඩ කළ හැකිය. ඊළඟට පාඨමාලාවේදී අපි කිබානා හි දෘශ්‍යකරණය දෙස බලා සරල උපකරණ පුවරුවක් සාදන්නෙමු. Logstash වින්‍යාස ගොනුව යම් යම් අවස්ථා වලදී නිරන්තරයෙන් යාවත්කාලීන කළ යුතු බව සඳහන් කිරීම වටී, උදාහරණයක් ලෙස, ක්ෂේත්‍රයක අගය අංකයකින් වචනයකට ප්‍රතිස්ථාපනය කිරීමට අපට අවශ්‍ය වූ විට. ඊළඟ ලිපිවලදී අපි මෙය නිරන්තරයෙන් කරන්නෙමු.

එබැවින් රැඳී සිටින්නවිදුලි පණිවුඩ, ෆේස්බුක්, VK, TS විසඳුම් බ්ලොගය), Yandex Zen.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න