Labor 2: Keskne logiserver: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Rtetsman (talk | contribs)
No edit summary
Kvainast (talk | contribs)
No edit summary
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Labor 2 protokoll - Keskne logihaldus
Labor 2 protokoll - Keskne logihaldus (Nxlog)
 
 
Kaarel Väinaste
 


Kaarel Väinaste ja
Rasmus Tetsmann(A32)
Rasmus Tetsmann(A32)


Line 12: Line 9:
Luua kahe masina vahel keskne logihaldus. Üheks masinaks on logiserver ja teiseks on klient, kes saadab oma logid logiserverisse.
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'''==
Line 32: Line 30:


Programmi allalaadimis link:  http://sourceforge.net/projects/nxlog-ce/files/latest/download
Programmi allalaadimis link:  http://sourceforge.net/projects/nxlog-ce/files/latest/download


'''Seadistamine'''
'''Seadistamine'''


Konfiguratsioonifaili muutmine:
Nüüd tuleb konfiguratsioonifaili muutmine
 


Seda konfi kasutades peab jälgima kahte rida:
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


*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.


Tegema kindlaks
Kasutaja peab muutma ip vastavalt enda arvutile.


<source lang="bash">
<source lang="bash">
Line 69: Line 67:
   Module      im_internal
   Module      im_internal
</Input>
</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>
<Input eventlog>
Line 94: Line 119:


</source>
</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 147: Line 176:


</source>
</source>
Kasutajad!


=='''Elasticsearch'''==
=='''Elasticsearch'''==


Paigaldame Elasticsearch'i
Elasticsearch'i paigalduse allikas [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Arnus%20-%20keskne%20logilahendus.pdf]


<source lang="bash">
<source lang="bash">
Line 164: Line 189:
Paigaldame serveri peale Kibana
Paigaldame serveri peale Kibana


Kõik käsud tuleb sisestada root kasutaja õigustes!!!
Kibana paigalduse allikas [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Arnus%20-%20keskne%20logilahendus.pdf]
 


Installime sõltuvused
Installime sõltuvused
<source lang="bash">apt-get install ruby1.9.3 rubygems</source>
<source lang="bash">apt-get install ruby1.9.3 rubygems</source>


Line 212: Line 239:
=='''Ligipääsu testimine'''==
=='''Ligipääsu testimine'''==
Sisestan veebisirvijasse aadressi 192.168.56.201:5601 ja saan edukalt Kibana keskkonnale ligi.
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

http://nxlog.org/