Labor 2: Keskne logiserver

From ICO wiki
Jump to navigationJump to search

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

[3]

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

http://nxlog.org/