Sa ulahi
Ang kurso wala maglakip sa pag-instalar sa ELK stack, tungod kay adunay daghang mga artikulo bahin niini nga hilisgutan; atong hisgotan ang bahin sa pag-configure.
Paghimo usa ka plano sa aksyon alang sa pag-configure sa Logstash:
- Ang pagsusi nga ang elasticsearch modawat sa mga troso (pagsusi sa pagpaandar ug pagkabukas sa pantalan).
- Among gikonsiderar kung giunsa namo ipadala ang mga panghitabo sa Logstash, pagpili og pamaagi, ug ipatuman kini.
- Among gi-configure ang Input sa Logstash configuration file.
- Among gi-configure ang Output sa Logstash configuration file sa debug mode aron masabtan kung unsa ang hitsura sa log message.
- Pag-set up sa Filter.
- Pag-set up sa husto nga Output sa ElasticSearch.
- Naglunsad ang Logstash.
- Pagsusi sa mga troso sa Kibana.
Atong tan-awon ang matag punto sa mas detalyado:
Ang pagsusi nga ang elasticsearch modawat sa mga troso
Aron mahimo kini, mahimo nimong gamiton ang curl command aron masusi ang pag-access sa Elasticsearch gikan sa sistema diin ang Logstash gi-deploy. Kung na-configure nimo ang authentication, nan gibalhin usab namo ang user/password pinaagi sa curl, nga nagtino sa port 9200 kung wala nimo kini giusab. Kung makadawat ka og tubag nga susama sa usa sa ubos, nan ang tanan naa sa kahusay.
[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 ~]$
Kung ang tubag dili madawat, nan mahimong adunay daghang mga lahi sa mga sayup: ang proseso sa elasticsearch wala nagdagan, ang sayup nga pantalan gipiho, o ang pantalan gibabagan sa usa ka firewall sa server diin gi-install ang elasticsearch.
Atong tan-awon kung giunsa nimo ipadala ang mga troso sa Logstash gikan sa usa ka check point nga firewall
Gikan sa Check Point management server mahimo nimong ipadala ang mga troso sa Logstash pinaagi sa syslog gamit ang log_exporter utility, mahimo nimong mabasa ang dugang bahin niini dinhi
cp_log_export idugang ang ngalan check_point_syslog target-server < > target-port 5555 protocol tcp format generic read-mode semi-unified
< > - adres sa server diin nagdagan ang Logstash, target-port 5555 - port diin kami magpadala sa mga troso, ang pagpadala sa mga troso pinaagi sa tcp maka-load sa server, mao nga sa pipila ka mga kaso mas husto ang paggamit sa udp.
Pag-set up sa INPUT sa Logstash configuration file
Sa kasagaran, ang configuration file nahimutang sa /etc/logstash/conf.d/ directory. Ang configuration file naglangkob sa 3 makahuluganon nga mga bahin: INPUT, FILTER, OUTPUT. SA input among gipakita diin ang sistema magkuha sa mga troso gikan, sa filter parse ang log - i-set up kung giunsa pagbahin ang mensahe sa mga natad ug mga kantidad, sa output among gi-configure ang output stream - diin ipadala ang mga parsed logs.
Una, atong i-configure ang INPUT, ikonsiderar ang pipila sa mga tipo nga mahimo - file, tcp ug exe.
Tcp:
input {
tcp {
port => 5555
host => β10.10.1.205β
type => "checkpoint"
mode => "server"
}
}
mode => "server"
Nagpakita nga ang Logstash nagdawat mga koneksyon.
pantalan => 5555
host => "10.10.1.205"
Gidawat namon ang mga koneksyon pinaagi sa IP address 10.10.1.205 (Logstash), port 5555 - ang pantalan kinahanglan tugutan sa palisiya sa firewall.
tipo => "checkpoint"
Gimarkahan namon ang dokumento, sayon ββββkaayo kung adunay ka daghang umaabot nga koneksyon. Pagkahuman, alang sa matag koneksyon mahimo nimong isulat ang imong kaugalingon nga pagsala gamit ang lohikal kung pagtukod.
File:
input {
file {
path => "/var/log/openvas_report/*"
type => "openvas"
start_position => "beginning"
}
}
Deskripsyon sa mga setting:
dalan => "/var/log/openvas_report/*"
Gipakita namon ang direktoryo diin kinahanglan basahon ang mga file.
tipo => "openvas"
Uri sa panghitabo.
start_position => "pagsugod"
Kung nag-ilis sa usa ka file, kini nagbasa sa tibuuk nga file; kung imong gibutang ang "katapusan", ang sistema naghulat alang sa bag-ong mga rekord nga makita sa katapusan sa file.
Exec:
input {
exec {
command => "ls -alh"
interval => 30
}
}
Gamit kini nga input, usa (lamang!) shell command ang gilusad ug ang output niini gihimong log message.
sugo => "ls -alh"
Ang sugo kansang output interesado kita.
interval => 30
Sugo sa invocation interval sa mga segundo.
Aron makadawat og mga troso gikan sa firewall, nagparehistro kami og filter tcp o pud, depende kung giunsa ipadala ang mga troso sa Logstash.
Among gi-configure ang Output sa Logstash configuration file sa debug mode aron masabtan kung unsa ang hitsura sa log message
Human nato ma-configure ang INPUT, kinahanglan natong masabtan kung unsa ang hitsura sa mensahe sa log ug unsa nga mga pamaagi ang kinahanglan gamiton aron ma-configure ang log filter (parser).
Aron mahimo kini, mogamit kami usa ka filter nga nagpagawas sa resulta sa stdout aron matan-aw ang orihinal nga mensahe; ang kompleto nga file sa pag-configure karon ingon niini:
input
{
tcp
{
port => 5555
type => "checkpoint"
mode => "server"
host => β10.10.1.205β
}
}
output
{
if [type] == "checkpoint"
{
stdout { codec=> json }
}
}
Pagdalagan ang command aron masusi:
sudo /usr/share/logstash/bin//logstash -f /etc/logstash/conf.d/checkpoint.conf
Nakita namon ang resulta, ang hulagway ma-click:
Kung imong kopyahon kini ingon niini:
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,
Sa pagtan-aw niini nga mga mensahe, atong nasabtan nga ang mga troso sama sa: field = bili o yawe = bili, nga nagpasabot sa usa ka filter nga gitawag kv mao ang angay. Aron mapili ang husto nga pagsala alang sa matag piho nga kaso, maayo nga ideya nga pamilyar ang imong kaugalingon sa kanila sa teknikal nga dokumentasyon, o pangutan-a ang usa ka higala.
Pag-set up sa Filter
Sa katapusan nga yugto nga among gipili ang kv, ang pagsumpo sa kini nga filter gipresentar sa ubos:
filter {
if [type] == "checkpoint"{
kv {
value_split => "="
allow_duplicate_values => false
}
}
}
Gipili namon ang simbolo diin among bahinon ang uma ug kantidad - "=". Kung kami adunay parehas nga mga entri sa log, usa ra ang among gitipigan sa database, kung dili, mahuman ka sa usa ka han-ay sa parehas nga kantidad, kana, kung kami adunay mensahe nga "foo = some foo = some" foo ra ang among isulat. = pipila.
Pag-set up sa husto nga Output sa ElasticSearch
Kung ma-configure na ang Filter, mahimo nimong i-upload ang mga log sa database pagkamaunat-unat:
output
{
if [type] == "checkpoint"
{
elasticsearch
{
hosts => ["10.10.1.200:9200"]
index => "checkpoint-%{+YYYY.MM.dd}"
user => "tssolution"
password => "cool"
}
}
}
Kung ang dokumento gipirmahan sa tipo sa tsekpoint, among gitipigan ang panghitabo sa database sa elasticsearch, nga nagdawat mga koneksyon sa 10.10.1.200 sa port 9200 nga default. Ang matag dokumento gitipigan sa usa ka piho nga indeks, sa kini nga kaso gitipigan namon sa indeks nga "checkpoint-" + karon nga petsa sa oras. Ang matag indeks mahimong adunay usa ka piho nga hugpong sa mga natad, o awtomatiko nga gihimo kung adunay usa ka bag-ong field nga makita sa usa ka mensahe; ang mga setting sa field ug ang ilang tipo mahimong makita sa mga mapa.
Kung na-configure nimo ang authentication (atong tan-awon kini sa ulahi), ang mga kredensyal alang sa pagsulat sa usa ka piho nga indeks kinahanglan itakda, sa kini nga pananglitan kini "tssolution" nga adunay password nga "cool". Mahimo nimong lainlain ang mga katungod sa tiggamit sa pagsulat sa mga troso lamang sa usa ka piho nga indeks ug wala na.
Ilunsad ang Logstash.
Logstash configuration file:
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"
}
}
}
Among susihon ang configuration file alang sa husto:
/usr/share/logstash/bin//logstash -f checkpoint.conf
Sugdi ang proseso sa Logstash:
sudo systemctl magsugod logsash
Atong susihon nga ang proseso nagsugod na:
sudo systemctl status logstash
Atong susihon kung ang socket naa:
netstat -nat |grep 5555
Pagsusi sa mga troso sa Kibana.
Pagkahuman sa tanan nga nagdagan, adto sa Kibana - Discover, siguruha nga ang tanan na-configure sa husto, ang litrato ma-click!
Ang tanan nga mga troso naa sa lugar ug makita namon ang tanan nga mga uma ug ang ilang mga kantidad!
konklusyon
Gitan-aw namon kung giunsa pagsulat ang usa ka file sa pag-configure sa Logstash, ug ingon usa ka sangputanan nakakuha kami usa ka parser sa tanan nga mga natad ug mga kantidad. Karon makatrabaho na kami sa pagpangita ug pagplano alang sa piho nga mga natad. Sunod sa kurso atong tan-awon ang visualization sa Kibana ug maghimo usa ka yano nga dashboard. Angayan nga hisgutan nga ang Logstash configuration file kinahanglan nga kanunay nga ma-update sa pipila ka mga sitwasyon, pananglitan, kung gusto namong ilisan ang bili sa usa ka field gikan sa usa ka numero ngadto sa usa ka pulong. Sa sunod nga mga artikulo ato kining buhaton kanunay.
Busa padayon nga tutok (
Source: www.habr.com