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
 
(32 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 '''==


Keskse logiserveri paigaldus
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 (32bit) (Võib kasutada teisi versioone)
 
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 63: 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 78: Line 187:


=='''Kibana'''==
=='''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

http://nxlog.org/