Anns an àm a dh ’fhalbh
Chan eil an cùrsa a 'còmhdach stàladh ELK stack, oir tha àireamh mhòr de artaigilean air a' chuspair seo; beachdaichidh sinn air a 'phàirt rèiteachaidh.
Feuch an dèan sinn plana gnìomh airson rèiteachadh Logstash:
- A’ dèanamh cinnteach gun gabh elasticsearch ri logaichean (a’ sgrùdadh gnìomhachd agus fosgarrachd a’ phuirt).
- Bidh sinn a’ beachdachadh air mar as urrainn dhuinn tachartasan a chuir gu Logstash, dòigh a thaghadh, agus a bhuileachadh.
- Bidh sinn a’ rèiteachadh Input anns an fhaidhle rèiteachaidh Logstash.
- Bidh sinn a’ rèiteachadh Toradh anns an fhaidhle rèiteachaidh Logstash ann am modh deasbaid gus tuigse fhaighinn air cò ris a tha an teachdaireachd log coltach.
- A' stèidheachadh Filter.
- A’ stèidheachadh an toradh ceart ann an ElasticSearch.
- Logstash a’ cur air bhog.
- A’ sgrùdadh nan logaichean ann an Kibana.
Bheir sinn sùil nas mionaidiche air gach puing:
A’ dèanamh cinnteach gun gabh elasticsearch ri logaichean
Gus seo a dhèanamh, faodaidh tu an àithne curl a chleachdadh gus faighinn a-steach gu Elasticsearch bhon t-siostam air a bheil Logstash air a chleachdadh. Ma tha dearbhadh agad air a rèiteachadh, bidh sinn cuideachd a’ gluasad an neach-cleachdaidh / facal-faire tro curl, a’ sònrachadh port 9200 mura h-atharraich thu e. Ma gheibh thu freagairt coltach ris an fhear gu h-ìosal, tha a h-uile dad ann an òrdugh.
[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 ~]$
Mura faighear am freagairt, faodaidh grunn sheòrsaichean de mhearachdan a bhith ann: chan eil am pròiseas elasticsearch a’ ruith, tha am port ceàrr air a shònrachadh, no tha am port air a bhacadh le balla-teine air an fhrithealaiche far a bheil elasticsearch air a chuir a-steach.
Bheir sinn sùil air mar as urrainn dhut logaichean a chuir gu Logstash bho bhalla-teine àite seic
Bho fhrithealaiche riaghlaidh Check Point faodaidh tu logaichean a chuir gu Logstash tro syslog a ’cleachdadh a’ ghoireas log_exporter, faodaidh tu barrachd a leughadh mu dheidhinn an seo
cp_log_export cuir ainm ris check_point_syslog target-server > targaid-port 5555 protocol tcp cruth modh leughaidh gnèitheach leth-aonaichte
> - seòladh an fhrithealaiche air a bheil Logstash a’ ruith, targaid-port 5555 - am port dhan cuir sinn logaichean, a’ cur logaichean tro tcp is urrainn dhaibh am frithealaiche a luchdachadh, agus mar sin ann an cuid de chùisean tha e nas ceart udp a chleachdadh .
A’ stèidheachadh INPUT anns an fhaidhle rèiteachaidh Logstash
Gu gnàthach, tha am faidhle rèiteachaidh suidhichte anns an eòlaire /etc/logstash/conf.d/. Tha 3 pàirtean brìoghmhor anns an fhaidhle rèiteachaidh: INPUT, FILTER, TORADH. ANNS -steach bidh sinn a’ comharrachadh cò às a bheir an siostam logaichean, a-steach FILTAR parse an log - cuir air dòigh mar a roinn thu an teachdaireachd ann an raointean agus luachan, a-steach GnOMh bidh sinn a’ rèiteachadh an t-sruth toraidh - far an tèid na logaichean parsed a chuir.
An toiseach, leig dhuinn INPUT a rèiteachadh, beachdaich air cuid de na seòrsaichean a dh’ fhaodadh a bhith - faidhle, tcp agus exe.
Tcp:
input {
tcp {
port => 5555
host => “10.10.1.205”
type => "checkpoint"
mode => "server"
}
}
mode => "frithealaiche"
A’ nochdadh gu bheil Logstash a’ gabhail ri ceanglaichean.
port => 5555
òstair => "10.10.1.205"
Gabhaidh sinn ri ceanglaichean tro sheòladh IP 10.10.1.205 (Logstash), port 5555 - feumaidh am port a bhith ceadaichte leis a’ phoileasaidh balla-teine.
seòrsa => "phuing-seic"
Bidh sinn a’ comharrachadh na sgrìobhainn, gu math goireasach ma tha grunn cheanglaichean a’ tighinn a-steach. Às deidh sin, airson gach ceangal faodaidh tu do chriathrag fhèin a sgrìobhadh a’ cleachdadh an loidsigeach ma tha thu a’ togail.
File:
input {
file {
path => "/var/log/openvas_report/*"
type => "openvas"
start_position => "beginning"
}
}
Tuairisgeul air na roghainnean:
slighe => "/var/log/openvas_report/*"
Bidh sinn a’ comharrachadh an eòlaire anns am feum na faidhlichean a leughadh.
seòrsa => "openvas"
Seòrsa tachartas.
start_position => "a' tòiseachadh"
Nuair a dh’ atharraicheas tu faidhle, leughaidh e am faidhle gu lèir; ma shuidhicheas tu “crìoch”, bidh an siostam a’ feitheamh ri clàran ùra nochdadh aig deireadh an fhaidhle.
Eacarsaich:
input {
exec {
command => "ls -alh"
interval => 30
}
}
A’ cleachdadh an cuir a-steach seo, thèid àithne slige (a-mhàin!) a chuir air bhog agus thèid an toradh aige a thionndadh gu teachdaireachd log.
àithne => "ls -alh"
An àithne anns a bheil ùidh againn ann an toradh.
eadar-amail => 30
Ùine ionnsaigh àithne ann an diogan.
Gus logaichean fhaighinn bhon bhalla-teine, bidh sinn a’ clàradh sìoltachan tcp no udp, a rèir mar a thèid na clàran a chuir gu Logstash.
Bidh sinn a’ rèiteachadh Toradh ann am faidhle rèiteachaidh Logstash ann am modh deasbaid gus tuigse fhaighinn air cò ris a tha an teachdaireachd log coltach
Às deidh dhuinn INPUT a rèiteachadh, feumaidh sinn tuigsinn cò ris a bhios an teachdaireachd log coltach agus dè na dòighean a dh’ fheumar a chleachdadh gus an sìoltachan loga (parser) a rèiteachadh.
Gus seo a dhèanamh, cleachdaidh sinn criathrag a bheir a-mach an toradh gu stdout gus an teachdaireachd tùsail fhaicinn; seallaidh am faidhle rèiteachaidh iomlan an-dràsta mar seo:
input
{
tcp
{
port => 5555
type => "checkpoint"
mode => "server"
host => “10.10.1.205”
}
}
output
{
if [type] == "checkpoint"
{
stdout { codec=> json }
}
}
Ruith an àithne gus sgrùdadh a dhèanamh:
sudo /usr/share/logstash/bin//logstash -f /etc/logstash/conf.d/checkpoint.conf
Chì sinn an toradh, faodar cliogadh air an dealbh:
Ma nì thu lethbhreac dheth seallaidh e mar seo:
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,
A 'coimhead air na teachdaireachdan seo, tha sinn a' tuigsinn gu bheil coltas nan logaichean mar: field = luach no iuchair = luach, a tha a 'ciallachadh gu bheil criathrag ris an canar kv freagarrach. Gus an sìoltachan ceart a thaghadh airson gach cùis shònraichte, bhiodh e na dheagh bheachd eòlas fhaighinn orra anns na sgrìobhainnean teicnigeach, no faighneachd do charaid.
A' stèidheachadh Filter
Aig an ìre mu dheireadh a thagh sinn kv, tha rèiteachadh a’ chriathrag seo air a thaisbeanadh gu h-ìosal:
filter {
if [type] == "checkpoint"{
kv {
value_split => "="
allow_duplicate_values => false
}
}
}
Bidh sinn a’ taghadh an samhla leis an roinn sinn an raon agus an luach - “=”. Ma tha an aon inntrigean againn san loga, cha shàbhail sinn ach aon eisimpleir san stòr-dàta, air neo ma bhios an aon luachan agad, is e sin, ma tha an teachdaireachd “foo = cuid foo = cuid” sgrìobh sinn dìreach foo. = cuid.
A’ stèidheachadh an toradh ceart ann an ElasticSearch
Aon uair ‘s gu bheil Filter air a rèiteachadh, faodaidh tu logaichean a luchdachadh suas chun stòr-dàta lorg elastaig:
output
{
if [type] == "checkpoint"
{
elasticsearch
{
hosts => ["10.10.1.200:9200"]
index => "checkpoint-%{+YYYY.MM.dd}"
user => "tssolution"
password => "cool"
}
}
}
Ma tha an sgrìobhainn air a shoidhnigeadh leis an t-seòrsa puing-seic, sàbhalaidh sinn an tachartas don stòr-dàta elasticsearch, a ghabhas ri ceanglaichean air 10.10.1.200 air port 9200 gu bunaiteach. Tha gach sgrìobhainn air a shàbhaladh gu clàr-amais sònraichte, anns a 'chùis seo bidh sinn a' sàbhaladh chun chlàr-amais "seic-phuing-" + ceann-latha làithreach. Faodaidh seata sònraichte de raointean a bhith aig gach clàr-amais, no thèid a chruthachadh gu fèin-ghluasadach nuair a nochdas raon ùr ann an teachdaireachd; chithear roghainnean achaidh agus an seòrsa aca ann am mapaichean.
Ma tha dearbhadh agad air a rèiteachadh (thoir sùil air nas fhaide air adhart), feumar na teisteanasan airson sgrìobhadh gu clàr-amais sònraichte a shònrachadh, san eisimpleir seo is e “tssolution” a th’ ann leis an fhacal-fhaire “cool”. Faodaidh tu eadar-dhealachadh a dhèanamh air còraichean luchd-cleachdaidh airson logaichean a sgrìobhadh a-mhàin gu clàr-amais sònraichte agus gun a bhith nas fhaide.
Cuir Logstash air bhog.
Faidhle rèiteachaidh 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"
}
}
}
Bheir sinn sùil air an fhaidhle rèiteachaidh airson ceartachd:
/usr/share/logstash/bin//logstash -f checkpoint.conf
Tòisich am pròiseas Logstash:
sudo systemctl a 'tòiseachadh logstash
Nì sinn cinnteach gu bheil am pròiseas air tòiseachadh:
logstash inbhe sudo systemctl
Feuch an dèan sinn cinnteach a bheil an socaid suas:
netstat -nat | grep 5555
A’ sgrùdadh nan logaichean ann an Kibana.
Às deidh a h-uile càil a bhith a ’ruith, rachaibh gu Kibana - Faigh a-mach, dèan cinnteach gu bheil a h-uile càil air a rèiteachadh gu ceart, faodar cliogadh air an dealbh!
Tha na logaichean uile nan àite agus chì sinn na raointean uile agus na luachan aca!
co-dhùnadh
Choimhead sinn air mar a sgrìobhas sinn faidhle rèiteachaidh Logstash, agus mar thoradh air an sin fhuair sinn parser de gach raon agus luachan. A-nis is urrainn dhuinn obrachadh le bhith a’ lorg agus a’ dealbhadh raointean sònraichte. An ath rud sa chùrsa bheir sinn sùil air fradharc ann an Kibana agus cruthaichidh sinn deas-bhòrd sìmplidh. 'S fhiach toirt iomradh air gu bheil am faidhle rèiteachaidh Logstash feumar ùrachadh gu cunbhalach ann an suidheachaidhean sònraichte, mar eisimpleir, nuair a tha sinn ag iarraidh a chur an àite luach achadh bho àireamh gu facal. Anns na h-artaigilean às deidh sin nì sinn seo an-còmhnaidh.
Mar sin cùm sùil air
Source: www.habr.com