Labor 2: Keskne logiserver: Difference between revisions
No edit summary |
No edit summary |
||
(34 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Labor 2 protokoll - Keskne logihaldus (Nxlog) | |||
Kaarel Väinaste ja | |||
Rasmus Tetsmann(A32) | |||
=='''Ülesande püstitus '''== | =='''Ülesande püstitus '''== | ||
Luua kahe masina vahel keskne logihaldus. Üheks masinaks on logiserver ja teiseks on klient, kes saadab oma logid logiserverisse. | |||
NxLog [http://nxlog.org/features] saadab Windowsi logisid, Logstash ja Elasticsearch töötavad Ubuntu serveris, Kibanaga vaadatakse tulemust. | |||
=='''Serveri ja kliendi seadistus'''== | =='''Serveri ja kliendi seadistus'''== | ||
Server: Ubuntu Server 12.04 ( | |||
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) | 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. | |||
<source lang="bash"> | |||
#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> | |||
</source> | |||
Enamus konfiguratsioonist pärineb siit [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Arnus%20-%20keskne%20logilahendus.pdf] kuid on tehtud mõningad muudatused. 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 '''== | =='''Logstash´i paigaldamine ja seadistamine '''== | ||
Kasutatud käskude allikas: [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Arnus%20-%20keskne%20logilahendus.pdf] | |||
Kõik käsud tuleb sisestada root kasutaja õigustes. | Kõik käsud tuleb sisestada root kasutaja õigustes. | ||
Line 36: | Line 149: | ||
mv logstash-1.1.12-flatjar.jar /etc/logstash/logstash.jar</source> | mv logstash-1.1.12-flatjar.jar /etc/logstash/logstash.jar</source> | ||
... | Loon Logstashi konfifaili logstash.conf ning asukoht on /etc/logstash | ||
Konfifaili sisu: | |||
<source lang="bash"> | |||
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 { | |||
} | |||
} | |||
</source> | |||
=='''Elasticsearch'''== | |||
Elasticsearch'i paigalduse allikas [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Arnus%20-%20keskne%20logilahendus.pdf] | |||
<source lang="bash"> | |||
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</source> | |||
=='''Kibana'''== | |||
Paigaldame serveri peale Kibana | |||
Kibana paigalduse allikas [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Arnus%20-%20keskne%20logilahendus.pdf] | |||
Installime sõltuvused | |||
<source lang="bash">apt-get install ruby1.9.3 rubygems</source> | |||
Tõmban internetist pakitud Kibana arhiivi | |||
<source lang="bash">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</source> | |||
Muudan konfiguratsioonifailis /etc/kibana/KibanaConfig.rb KibanaHost väärtust, et pääseks veebisirvijaga ligi Kibana keskkonnale. | |||
<source lang="bash">KibanaHost = '192.168.56.201'</source> | |||
Panen rakenduse automaatselt käivituma programmiga Upstart | |||
<source lang="bash">nano /etc/init/kibana.conf</source> | |||
Mille sisu on selline: | |||
<source lang="bash"># 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</source> | |||
Käivitan faili käsitsi | |||
<source lang="bash">initctl start kibana</source> | |||
=='''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 | |||
http://nxlog.org/ |
Latest revision as of 16:36, 16 January 2014
Labor 2 protokoll - Keskne logihaldus (Nxlog)
Kaarel Väinaste ja 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>
Enamus konfiguratsioonist pärineb siit [2] kuid on tehtud mõningad muudatused. 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: [3]
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
Elasticsearch'i paigalduse allikas [4]
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 [5]
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