Labor 2: Keskne logiserver
Labor 2 protokoll - Keskne logihaldus
Kaarel Väinaste
Rasmus Tetsmann(A32)
Ülesande püstitus
Luua kahe masina vahel keskne logihaldus. Üheks masinaks on logiserver ja teiseks on klient, kes saadab oma logid logiserverisse.
NxLog [1] saadab Windowsi logisid, Logstash ja Elasticsearch töötavad Ubuntu serveris, Kibanaga vaadatakse tulemust.
Serveri ja kliendi seadistus
Klient: Windows 7 Home Premium 64bit IP: 192.168.56.200
Server: Ubuntu Server 12.04 (64it) (Võib kasutada teisi versioone)
Serveri ip muutsime 192.168.56.201 (Kasutaja võib endale sobiva ip panna)
Nxlog
Paigaldamine
Nxlog'i paigaldamine Windows 7 masinasse.
Programmi allalaadimis link: http://sourceforge.net/projects/nxlog-ce/files/latest/download
Seadistamine
Nüüd tuleb konfiguratsioonifaili muutmine
Seda konfi kasutades peab jälgima kahte rida:
Kui on 64 bitine windows, siis kommenteerida define ROOT C:\Program Files\nxlog
Kui on 32 bitine windows, siis kommenteerida define ROOT C:\Program Files (x86)\nxlog
Kasutaja peab muutma ip vastavalt enda arvutile.
#64 bitise Windowsi puhul
#define ROOT C:\Program Files\nxlog
define ROOT C:\Program Files (x86)\nxlog
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
LogFile %ROOT%\data\nxlog.log
<Extension syslog>
#Pakub syslog tuge. Loob sõnumeid ja tegeleb kriitilisuse ja
#rakenduse valdkonna väärtustega
Module xm_syslog
</Extension>
<Input internal>
#Kogub sisemisi nxlog logisid
Module im_internal
</Input>
<Input eventlog>
#Kõik Security logid
#Kõik System logid, mis on neljanda taseme tähtsusega
Module im_msvistalog
Query <QueryList>\
<Query Id="0">\
<Select Path="Security">*</Select>\
<Select Path="System">*[System/Level=4]</Select>
</Query>\
</QueryList>
</Input>
<Input file_watch>
#Saab jälgida faili
Module im_file
File "C:\\Program Files (x86)\\nxlog\data\\nxlog.log"
SavePos TRUE
Exec $Message = to_json();
</Input>
<Input eventlog>
#Kogub logisid uuematelt Windowsi opsüsteemidelt
#Windows 2008, Vista ja hilisemad
#Windows 2003 ja vanemad puhul tuleb kasutada im_mseventlog
Module im_msvistalog
</Input>
<Output out>
#Muuta IP-aadress ja port vastavalt
#logiserveri seadistustele
Module om_tcp
Host 192.168.56.200
Port 10515
#Muudab väljundi IETF syslog vormingusse
Exec to_syslog_ietf();
</Output>
<Route 1>
#Sisenditest eventlog ja internal kogutud logid
#saadetakse väljundisse out
Path eventlog, internal => out
</Route>
See konfiguratsioonifail suudab filtreerida välja kõik turvalisusega seotud logid ja süsteemi logid, mis on väga ohtlikud. Lisaks saab kasutaja määrata suvalise falili, mille muudatuste kohta saadetakse logisid.
Logstash´i paigaldamine ja seadistamine
Kasutatud käskude allikas: [2]
Kõik käsud tuleb sisestada root kasutaja õigustes.
Openjdk paigaldus:
apt-get install openjdk-7-jre
Logstashi kausta loomine:
mkdir /etc/logstash
Logstashi allalaadimine:
wget https://logstash.objects.dreamhost.com/release/logstash-1.1.12-flatjar.jar
Allalaaditud faili tõstmine Logstash´i jaoks loodud kausta:
mv logstash-1.1.12-flatjar.jar /etc/logstash/logstash.jar
Loon Logstashi konfifaili logstash.conf ning asukoht on /etc/logstash
Konfifaili sisu:
input {
#Windowsi logid
tcp {
type => "eventlog"
port => 10515
}
#Logiserveri enda logid
file {
type => "logserver"
path => [ "/var/log/syslog", "/var/log/*.log" ]
}
}
output {
#Saadetakse andmebaasi
elasticsearch {
}
}
Elasticsearch
Paigaldame Elasticsearch'i
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.0.deb
dpkg -i elasticsearch-0.90.0.deb
rm elasticsearch-0.90.0.deb
Kibana
Paigaldame serveri peale Kibana
Kibana paigalduse allikas [4]
Installime sõltuvused
apt-get install ruby1.9.3 rubygems
Tõmban internetist pakitud Kibana arhiivi
wget https://github.com/rashidkpc/Kibana/archive/v0.2.0.tar.gz
tar -zxf v0.2.0.tar.gz
mv Kibana-0.2.0/ /etc/kibana
rm v0.2.0.tar.gz
cd /etc/kibana
gem install bundler
bundle install
Muudan konfiguratsioonifailis /etc/kibana/KibanaConfig.rb KibanaHost väärtust, et pääseks veebisirvijaga ligi Kibana keskkonnale.
KibanaHost = '192.168.56.201'
Panen rakenduse automaatselt käivituma programmiga Upstart
nano /etc/init/kibana.conf
Mille sisu on selline:
# kibana.conf# kibana - log viewer
description "Kibana logstash viewer"
start on virtual-filesystems
stop on runlevel [06]
respawn
respawn limit 5 30
limit nofile 65550 65550
# Environment
env HOME=/etc/kibana/
chdir /etc/kibana
setuid logstash
setgid adm
console log
# Run Kibana, which is in /etc/kibana
script
ruby /etc/kibana/kibana.rb
end script
Käivitan faili käsitsi
initctl start kibana
Ligipääsu testimine
Sisestan veebisirvijasse aadressi 192.168.56.201:5601 ja saan edukalt Kibana keskkonnale ligi.
Kasutatud kirjandus
http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Arnus%20-%20keskne%20logilahendus.pdf