Linux CentOS centralizirani strežnik za beleženje z uporabo Rsyslog in LogAnalyzer

Loganalizator - to je spletna aplikacija, ki je zasnovana za ogled dnevnikov sistemskih dogodkov, prejetih iz syslog-a s pomočjo spletnega brskalnika. Rsyslog - ta aplikacija je razširitev standardnega demona syslog, katere ena od značilnosti je možnost shranjevanja dogodkov v bazo podatkov MySQL. S pomočjo teh dveh čudovitih programov je mogoče ustvariti centraliziran strežnik, na katerem bodo preusmerjeni vsi dogodki iz različnih naprav v omrežju, ki bi izvajal funkcije za priročno arhiviranje in iskanje dogodkov za vse dogodke na vseh omrežnih napravah v obodu omrežja. V tem članku bom opisal postopek namestitve rsyslog (zbiranje in združevanje dogodkov syslog) in LogAnalyzer (v Linuxu CentOS), ki omogoča uporabniku prijazen vmesnik za ogled in iskanje zbranih dnevnikov).

Najprej morate namestiti številne dodatne pakete RPM. Ker Storitve LogAnalyzer, Rsyslog in MySQL se bodo izvajale na istem strežniku, morate namestiti naslednje pakete z yumom:

# yum namestite httpd php mysql php-mysql mysql-server wget rsyslog rsyslog-mysql

Zdaj se morate prepričati, da sta MySQL in Apache nastavljena, da se samodejno zaženeta, in ju nato zaženite:

# chkconfig mysqld na # chkconfig httpd na # storitvi mysqld start # storitev httpd start

Korenski uporabnik baze podatkov MySQL ima privzeto prazno geslo, zato morate konfiguracijo zavarovati z nastavitvijo novega gesla:

# mysqladmin - u root geslo NewPassword

Nato uvozite shemo baze podatkov rsyslog v MySQL. Glede na različico rsyslog spremenite pot do datoteke "createDB.sql".

# mysql - u root - p < /usr/share/doc/rsyslog-mysql-3.22.1/createDB.sql

Dobra praksa je, da omejite dostop aplikacij do baze podatkov, zato bomo ustvarili posebnega uporabnika za dostop do baze podatkov rsyslog. Za dodatno zaostritev varnostnih nastavitev lahko ustvarite ločene račune za rsyslog in LogAnalyzer. Uporabniku rsyslog morate omogočiti dostop do baze podatkov MySQL samo prek vmesnika localhost localhost. Izvesti moramo tudi ukaz MySQL “privilegije privilegijev”, da takoj uporabimo vse pravice.

# mysql - u root - p mysql mysql> PODELI VSE V Syslog. * TO rsyslog @ localhost IDENTIFIKIRANO s 'Geslo'; mysql> flush privilegiji; mysql> izhod

Zdaj je čas, da se lotite urejanja datoteke /etc/rsyslog.conf. Tu moramo konfigurirati posredovanje sporočila syslog v bazo podatkov MySQL. Prvi ukaz naloži gonilnik MySQL. V drugi vrstici pravimo, da je treba sprejeti dnevnike katere koli stopnje pomembnosti od "authpriv", ki vključuje najpomembnejša sporočila. Če želite shraniti vsa sistemska sporočila v MySQL, morate določiti *. *. Moj strežnik baz podatkov MySQL posluša na naslovu 127.0.0.1, Syslog je ime baze podatkov MySQL in na koncu določimo ime in geslo MySQL uporabnika rsyslog. Tu lahko konfigurirate zbiranje in beleženje poljubnih sporočil, vsaka kombinacija mora biti ločena ";" (npr. pošta. *; authpriv. *: ommysql ...).

$ ModLoad ommysql authpriv. *: Ommysql: 127.0.0.1, Syslog, rsyslog, Geslo

Zdaj morate izklopiti obstoječo storitev syslog in omogočiti rsyslog:

# chkconfig syslog off # storitev syslog stop # chkconfig rsyslog on # service rsyslog start

Čas je, da prenesete LogAnalyzer. Najnovejšo različico najdete tukaj: http://loganalyzer.adiscon.com/downloads.

Ali pa naložite LogAnalyzer neposredno s strežnika Linux (wget mora biti nameščen):

# cd ~ # wget http://download.adiscon.com/loganalyzer/loganalyzer-3.0.0.tar.gz

Odstranite datoteke LogAnalyzer:

# tar zxvf loganalyzer-3.0.0.tar.gz

Zdaj morate datoteke LogAnalyzer kopirati v imenik spletnega strežnika Apache (standardna konfiguracija).

# mv loganalyzer-3.0.0 / src / var / www / html / loganalyzer # mv loganalyzer-3.0.0 / contrib / * / var / www / html / loganalyzer /

Pojdite v ustvarjeni imenik LogAnalyzer, zaženite skript configure.sh. Kot rezultat, bo ustvarjena prazna konfiguracijska datoteka config.php, ki bo zapolnjena v naslednjih korakih.

# cd / var / www / html / loganalyzer # chmod u + x configure.sh secure.sh # ./configure.sh

Za nadaljnjo konfiguracijo LogAnalyzer potrebujemo spletni brskalnik. V svoj priljubljeni internetni brskalnik vnesite http: // web1 / loganalyzer. (web1 je ime našega strežnika web1, loganalyzer je imenik apache)

Na sredini okna izberite povezavo "Kliknite tukaj za namestitev".

Naprej.

Konfigurirajte možnosti prikaza dnevnika in znova kliknite Naprej.

Zdaj morate določiti naslov strežnika z bazo, uporabniškim imenom in geslom za dostop do njega (če še niste pozabili, se baza imenuje rsyslog). S klikom na Next se prikaže rezultat preverjanja pravilnosti vnesenih podatkov in pravilne povezave.

Končno zaključite.

V primeru, da ste vse pravilno konfigurirali, se bo pred vami prikazala glavna stran LogAnalyzer, na kateri bodo dnevniki prikazani, ko bodo prejeti. Poskusite lahko ustvariti različne sistemske dogodke in videti, kaj se bo zgodilo na strani LogAnalyzer. Ker Vzpostavil sem beleženje dogodkov tipa "authpriv", kar pomeni, da se bodo zabeležili dogodki, kot sta vnos / izhod uporabnika ali ukaz uporabniškega stikala (su).

Prilagoditev Rsyslog za oddaljeno zbiranje dnevnikov

Naslednji korak je konfiguriranje storitve rsyslog za zbiranje dogodkov syslog iz različnih omrežnih naprav. Najprej morate konfigurirati požarni zid iptables, da bo omogočil dohodni promet skozi vrata 514. Dodala bom dve pravili, ki omogočata tako TCP kot UDP promet. Syslog privzeto sprejema samo sporočila, poslana na vrata UDP 514, vendar je v rsyslog dodana možnost sprejemanja TCP prometa. V datoteko "/ etc / sysconfig / iptables" dodajte naslednja pravila:

-RH-požarni zid-1-INPUT - p udp - m udp --portport 514 - j SPREJEM
-RH-požarni zid-1-INPUT - p tcp - m tcp --portport 514 - j SPREJEM

Znova zaženite iptables:

znova zaženite # servis iptables

Zdaj morate konfigurirati rsyslog za prejemanje dohodnih sporočil syslog. Konfiguriral bom sprejem TCP / UDP sporočil od localhosta in vseh gostiteljev v podomrežju 192.168.1.0. Naslednje vrstice je treba dodati datoteki “/etc/rsyslog.conf” (pred gradnjo, kjer je bila konfigurirana komunikacija z bazo podatkov MySQL).

$ AllowedSender UDP, 127.0.0.1, 192.168.1.0/24
$ AllowedSender TCP, 127.0.0.1, 192.168.1.0/24

Ne pozabite znova zagnati storitve rsyslog na centralnem dnevniku za beleženje:

# storitev znova zaženite rsyslog

Naslednji korak je konfiguriranje oddaljenih odjemalcev za pošiljanje dogodkov na centralni strežnik rsyslog. Če se na odjemalcu izvaja rsyslog, dodajte datoteko "/etc/rsyslog.conf" naslednjo vrstico:

authpriv. * @ 192.168.10.100

Znova zaženite strežnik rsyslog v odjemalcu in se poskusite prijaviti v ta sistem. Če ničesar ne zamudite, se ustrezni dogodek prikaže na spletni strani LogAnalyzer!

Priporočam tudi, da se seznanite s člankom o organizaciji centralnega dnevnega strežnika, ki temelji na sistemu Windows Server 2008