Nan tan lontan an
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:
- Tcheke ke elasticsearch pral aksepte mòso bwa (tcheke fonksyonalite a ak ouvèti pò a).
- Nou konsidere ki jan nou ka voye evènman nan Logstash, chwazi yon metòd, epi aplike li.
- Nou konfigirasyon Antre nan dosye a konfigirasyon 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.
- Mete kanpe Filter.
- Mete kanpe Sorti ki kòrèk la nan ElasticSearch.
- Logstash lanse.
- 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.
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
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:
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
Kòmanse pwosesis Logstash la:
sudo systemctl kòmanse logstash
Nou tcheke si pwosesis la te kòmanse:
sudo systemctl estati logstash
Ann tcheke si priz la leve:
netstat -nat |grep 5555
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!
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 branche
Sous: www.habr.com