рд╡рд┐рдЧрддрдорд╛
рдкрд╛рдареНрдпрдХреНрд░рдорд▓реЗ ELK рд╕реНрдЯреНрдпрд╛рдХрдХреЛ рд╕реНрдерд╛рдкрдирд╛рд▓рд╛рдИ рдХрднрд░ рдЧрд░реНрджреИрди, рдХрд┐рдирдХрд┐ рдпрд╕ рд╡рд┐рд╖рдпрдорд╛ рдзреЗрд░реИ рд▓реЗрдЦрд╣рд░реВ рдЫрдиреН; рд╣рд╛рдореА рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдШрдЯрдХрд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрдиреЗрдЫреМрдВред
Logstash рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛ рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реН:
- elasticsearch рд▓реЗ рд▓рдЧрд╣рд░реВ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреЗрдЫ рднрдиреЗрд░ рдЬрд╛рдБрдЪ рдЧрд░реНрджреИ (рдкреЛрд░реНрдЯрдХреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд░ рдЦреБрд▓рд╛рдкрди рдЬрд╛рдБрдЪ рдЧрд░реНрджреИ)ред
- рд╣рд╛рдореА рдХрд╕рд░реА Logstash рдорд╛ рдШрдЯрдирд╛рд╣рд░реВ рдкрдард╛рдЙрди рд╕рдХреНрдЫреМрдВ, рдПрдЙрдЯрд╛ рд╡рд┐рдзрд┐ рдЫрдиреЛрдЯ рдЧрд░реНрди, рд░ рдпрд╕рд▓рд╛рдИ рд▓рд╛рдЧреВ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ рднрдиреЗрд░ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрдЫреМрдВред
- рд╣рд╛рдореА Logstash рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдорд╛ рдЗрдирдкреБрдЯ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдЫреМрдВред
- рд▓рдЧ рд╕рдиреНрджреЗрд╢ рдХрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рднрдиреЗрд░ рдмреБрдЭреНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореАрд▓реЗ рдбрд┐рдмрдЧ рдореЛрдбрдорд╛ Logstash рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдорд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдЫреМрдВред
- рдлрд┐рд▓реНрдЯрд░ рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджреИред
- ElasticSearch рдорд╛ рд╕рд╣реА рдЖрдЙрдЯрдкреБрдЯ рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджреИред
- Logstash рд╕реБрд░реБ рд╣реБрдиреНрдЫред
- Kibana рдорд╛ рд▓рдЧрд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реНрджреИред
рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдиреНрджреБрд▓рд╛рдИ рдердк рд╡рд┐рд╡рд░рдгрдорд╛ рд╣реЗрд░реМрдВ:
elasticsearch рд▓реЗ рд▓рдЧрд╣рд░реВ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреЗрдЫ рднрдиреА рдЬрд╛рдБрдЪ рдЧрд░реНрджреИ
рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдЗрдБрд▓реЗ Logstash рддреИрдирд╛рдд рдЧрд░рд┐рдПрдХреЛ рдкреНрд░рдгрд╛рд▓реАрдмрд╛рдЯ Elasticsearch рдорд╛ рдкрд╣реБрдБрдЪ рдЬрд╛рдБрдЪ рдЧрд░реНрди рдХрд░реНрд▓ рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдЫ рднрдиреЗ, рд╣рд╛рдореАрд▓реЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛/рдкрд╛рд╕рд╡рд░реНрдб рдкрдирд┐ рдХрд░реНрд▓ рдорд╛рд░реНрдлрдд рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдЫреМрдВ, рдпрджрд┐ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрднрдПрдХреЛ рдЫреИрди рднрдиреЗ рдкреЛрд░реНрдЯ 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 ~]$
рдпрджрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рднрдПрди рднрдиреЗ, рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдкреНрд░рдХрд╛рд░рдХрд╛ рддреНрд░реБрдЯрд┐рд╣рд░реВ рд╣реБрди рд╕рдХреНрдЫрдиреН: рдЗрд▓рд╛рд╕реНрдЯрд┐рдХрд╕рд░реНрдЪ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдЫреИрди, рдЧрд▓рдд рдкреЛрд░реНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ, рд╡рд╛ рдЗрд▓рд╛рд╕реНрдЯрд┐рдХрд╕рд░реНрдЪ рд╕реНрдерд╛рдкрдирд╛ рднрдПрдХреЛ рд╕рд░реНрднрд░рдорд╛ рдлрд╛рдпрд░рд╡рд╛рд▓рджреНрд╡рд╛рд░рд╛ рдкреЛрд░реНрдЯ рдмреНрд▓рдХ рдЧрд░рд┐рдПрдХреЛ рдЫред
рдЪреЗрдХ рдкреЛрдЗрдиреНрдЯ рдлрд╛рдпрд░рд╡рд╛рд▓рдмрд╛рдЯ рд▓рдЧрд╕реНрдЯреНрдпрд╛рд╢рдорд╛ рд▓рдЧрд╣рд░реВ рдХрд╕рд░реА рдкрдард╛рдЙрди рд╕рдХрд┐рдиреНрдЫ рднрдиреЗрд░ рд╣реЗрд░реМрдВ
рдЪреЗрдХ рдкреЛрдЗрдиреНрдЯ рдкреНрд░рдмрдиреНрдзрди рд╕рд░реНрднрд░рдмрд╛рдЯ рддрдкрд╛рдИрдВрд▓реЗ log_exporter рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ syslog рдорд╛рд░реНрдлрдд Logstash рдорд╛ рд▓рдЧрд╣рд░реВ рдкрдард╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрдкрд╛рдИрдВ рдпрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рдпрд╣рд╛рдБ рдердк рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
cp_log_export рдирд╛рдо рдердкреНрдиреБрд╣реЛрд╕реН check_point_syslog target-server < > target-port 5555 protocol tcp рдврд╛рдБрдЪрд╛ рдЬреЗрдиреЗрд░рд┐рдХ рд░рд┐рдб-рдореЛрдб рдЕрд░реНрдз-рдПрдХреАрдХреГрдд
< > - рд╕рд░реНрднрд░рдХреЛ рдареЗрдЧрд╛рдирд╛ рдЬрд╕рдорд╛ Logstash рдЪрд▓реНрдЫ, target-port 5555 - рдкреЛрд░реНрдЯ рдЬрд╕рдорд╛ рд╣рд╛рдореАрд▓реЗ рд▓рдЧрд╣рд░реВ рдкрдард╛рдЙрдиреЗрдЫреМрдВ, tcp рдорд╛рд░реНрдлрдд рд▓рдЧрд╣рд░реВ рдкрдард╛рдЙрдБрджрд╛ рд╕рд░реНрднрд░ рд▓реЛрдб рд╣реБрди рд╕рдХреНрдЫ, рддреНрдпрд╕реИрд▓реЗ рдХрддрд┐рдкрдп рдЕрд╡рд╕реНрдерд╛рдорд╛ udp рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рдмрдвреА рд╕рд╣реА рд╣реБрдиреНрдЫред
Logstash рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдорд╛ INPUT рд╕реЗрдЯрдЕрдк рдЧрд░реНрджреИ
рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛, рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓ /etc/logstash/conf.d/ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдЫред рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рдорд╛ 3 рдЕрд░реНрдердкреВрд░реНрдг рднрд╛рдЧрд╣рд░реВ рд╣реБрдиреНрдЫрдиреН: INPUT, FILTER, OUTPUTред IN рдЗрдирдкреБрдЯ рд╣рд╛рдореА рд╕рдВрдХреЗрдд рдЧрд░реНрдЫреМрдВ рдХрд┐ рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдХрд╣рд╛рдБрдмрд╛рдЯ рд▓рдЧрд╣рд░реВ рд▓рд┐рдиреЗрдЫ FILTER рд▓рдЧ рдкрд╛рд░реНрд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН - рд╕рдиреНрджреЗрд╢рд▓рд╛рдИ рдХрд╕рд░реА рдлрд╛рдБрдЯ рд░ рдорд╛рдирд╣рд░реВрдорд╛ рд╡рд┐рднрд╛рдЬрди рдЧрд░реНрдиреЗ рд╕реЗрдЯрдЕрдк рдЧрд░реНрдиреБрд╣реЛрд╕реН рдЖрдЙрдЯрдкреБрдЯ рд╣рд╛рдореАрд▓реЗ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░рд┐рдо рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдЫреМрдВ - рдЬрд╣рд╛рдБ рдкрд╛рд░реНрд╕ рдЧрд░рд┐рдПрдХрд╛ рд▓рдЧрд╣рд░реВ рдкрдард╛рдЗрдиреЗрдЫред
рдкрд╣рд┐рд▓реЗ, INPUT рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реМрдВ, рдХреЗрд╣рд┐ рдкреНрд░рдХрд╛рд░рд╣рд░реВ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдЬреБрди рд╣реБрди рд╕рдХреНрдЫ - рдлрд╛рдЗрд▓, tcp рд░ exeред
Tcp:
input {
tcp {
port => 5555
host => тАЬ10.10.1.205тАЭ
type => "checkpoint"
mode => "server"
}
}
рдореЛрдб => "рд╕рд░реНрднрд░"
Logstash рд▓реЗ рдЬрдбрд╛рдирд╣рд░реВ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрджреИрдЫ рднрдиреЗрд░ рд╕рдВрдХреЗрдд рдЧрд░реНрдЫред
рдкреЛрд░реНрдЯ => 5555
рд╣реЛрд╕реНрдЯ => "резреж.резреж.рез.реирежрел"
рд╣рд╛рдореА 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"
рдХрдорд╛рдгреНрдб рдЬрд╕рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рд╣рд╛рдореАрд▓рд╛рдИ рд░реБрдЪрд┐ рдЫред
рдЕрдиреНрддрд░рд╛рд▓ => рейреж
рд╕реЗрдХреЗрдиреНрдбрдорд╛ рдЖрджреЗрд╢ рдЖрд╣реНрд╡рд╛рди рдЕрдиреНрддрд░рд╛рд▓ред
рдлрд╛рдпрд░рд╡рд╛рд▓рдмрд╛рдЯ рд▓рдЧрд╣рд░реВ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рдлрд┐рд▓реНрдЯрд░ рджрд░реНрддрд╛ рдЧрд░реНрдЫреМрдВ 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
рд╣рд╛рдореА рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреНрдЫреМрдВ, рддрд╕реНрд╡рд┐рд░ рдХреНрд▓рд┐рдХ рдЧрд░реНрди рдпреЛрдЧреНрдп рдЫ:
рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ рдпреЛ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:
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 logstash рд╕реБрд░реБ рдЧрд░реНрдиреБрд╣реЛрд╕реН
рд╣рд╛рдореА рдЬрд╛рдБрдЪ рдЧрд░реНрдЫреМрдВ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрд░реБ рднрдПрдХреЛ рдЫ:
sudo systemctl рд╕реНрдерд┐рддрд┐ logstash
рд╕рдХреЗрдЯ рдорд╛рдерд┐ рдЫ рдХрд┐ рдЫреИрди рдЬрд╛рдБрдЪ рдЧрд░реМрдВ:
netstat -nat |grep 5555
Kibana рдорд╛ рд▓рдЧрд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реНрджреИред
рд╕рдмреИ рдХреБрд░рд╛ рдЪрд▓рд┐рд╕рдХреЗрдкрдЫрд┐, Kibana рдорд╛ рдЬрд╛рдиреБрд╣реЛрд╕реН - рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреБрд╣реЛрд╕реН, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рд╕рдмреИ рдХреБрд░рд╛ рдареАрдХрд╕рдБрдЧ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, рддрд╕реНрд╡рд┐рд░ рдХреНрд▓рд┐рдХ рдЧрд░реНрди рдпреЛрдЧреНрдп рдЫ!
рд╕рдмреИ рд▓рдЧрд╣рд░реВ рдард╛рдЙрдБрдорд╛ рдЫрдиреН рд░ рд╣рд╛рдореА рд╕рдмреИ рдХреНрд╖реЗрддреНрд░рд╣рд░реВ рд░ рддрд┐рдиреАрд╣рд░реВрдХрд╛ рдорд╛рдирд╣рд░реВ рджреЗрдЦреНрди рд╕рдХреНрдЫреМрдВ!
рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛
рд╣рд╛рдореАрд▓реЗ Logstash рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓ рдХрд╕рд░реА рд▓реЗрдЦреНрдиреЗ рднрдиреЗрд░ рд╣реЗрд░реНрдпреМрдВ, рд░ рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛ рд╣рд╛рдореАрд▓реЗ рд╕рдмреИ рдХреНрд╖реЗрддреНрд░ рд░ рдорд╛рдирд╣рд░реВрдХреЛ рдкрд╛рд░реНрд╕рд░ рдкрд╛рдпреМрдВред рдЕрдм рд╣рд╛рдореА рд╡рд┐рд╢реЗрд╖ рдХреНрд╖реЗрддреНрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЦреЛрдЬреА рд░ рдкреНрд▓рдЯрд┐рдЩрдХреЛ рд╕рд╛рде рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдЫреМрдВред рдЕрд░реНрдХреЛ рдкрд╛рдареНрдпрдХреНрд░рдордорд╛ рд╣рд╛рдореА Kibana рдорд╛ рднрд┐рдЬреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рд╣реЗрд░реНрдиреЗрдЫреМрдВ рд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдбреНрдпрд╛рд╕рдмреЛрд░реНрдб рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗрдЫреМрдВред рдпреЛ рдЙрд▓реНрд▓реЗрдЦ рдЧрд░реНрди рд▓рд╛рдпрдХ рдЫ рдХрд┐ Logstash рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓рд▓рд╛рдИ рдирд┐рд╢реНрдЪрд┐рдд рдкрд░рд┐рд╕реНрдерд┐рддрд┐рд╣рд░реВрдорд╛ рдирд┐рд░рдиреНрддрд░ рдЕрдкрдбреЗрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЬрдм рд╣рд╛рдореА рдХреБрдиреИ рдлрд┐рд▓реНрдбрдХреЛ рдорд╛рдирд▓рд╛рдИ рдирдореНрдмрд░рдмрд╛рдЯ рд╢рдмреНрджрдорд╛ рдмрджрд▓реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВред рддреНрдпрд╕рдкрдЫрд┐рдХрд╛ рд▓реЗрдЦрд╣рд░реВрдорд╛ рд╣рд╛рдореА рдпреЛ рдирд┐рд░рдиреНрддрд░ рдЧрд░реНрдиреЗрдЫреМрдВред
рддреНрдпрд╕реИрд▓реЗ рд╕рдореНрдкрд░реНрдХрдорд╛ рд░рд╣рдиреБрд╣реЛрд╕реН (
рд╕реНрд░реЛрдд: www.habr.com