RHEL 7 - osa 5 süsteemilogide haldamine (seadistamine, pööramine ja andmebaasi importimine)


Oma RHEL 7 süsteemide turvalisuse tagamiseks peate teadma, kuidas logifailide uurimisega jälgida kõiki sellistes süsteemides toimuvaid toiminguid. Seega saate tuvastada ebatavalise või potentsiaalselt pahatahtliku tegevuse ja teha süsteemi tõrkeotsingu või teha mõne muu asjakohase toimingu.

RHEL 7-s vastutab deemon rsyslogd süsteemi logimise eest ja loeb selle konfiguratsiooni kataloogist /etc/rsyslog.conf (see fail määrab kõigi süsteemilogide vaikekoha) ja failidest /etc/rsyslog.d, kui neid on.

Rsyslogdi seadistamine

Alustuseks on kasulik rsyslog.conf kiire kontroll. See fail on jagatud kolmeks põhiosaks: moodulid (kuna rsyslog järgib modulaarset kujundust), globaalsed direktiivid (kasutatakse deemoni rsyslogd globaalsete omaduste määramiseks) ja reeglid. Nagu te arvatavasti arvate, näitab see viimane jaotis, mis logitakse või kuvatakse (tuntud ka kui valija) ja kus ning millele keskendume kogu selles artiklis.

Tüüpiline rida rsyslog.conf-is on järgmine:

Ülaltoodud pildil näeme, et valija koosneb ühest või mitmest paarist. Facility: Prioriteet eraldatud semikoolonitega, kus Facility kirjeldab sõnumi tüüpi (RFC 3164 jaotisest 4.1.1 leiate täieliku loendi teenustest rsyslog) ja Prioriteet näitab selle tõsidust, mis võib olla üks järgmistest iseenesestmõistetavatest sõnadest:

  1. silumine
  2. teave
  3. teade
  4. hoiatus
  5. eksima
  6. kriitiline
  7. hoiatus
  8. esile tulema

Kuigi märksõna pole ise prioriteet, ei tähenda see märksõna antud seadmes üldse prioriteeti.

Märkus. See, et antud prioriteet näitab, et kõik sellise prioriteediga ja kõrgemad sõnumid tuleks logida. Seega käsib ülaltoodud näite rida deemonil rsyslogd logida kõik prioriteetse või kõrgema teabe kirjad (olenemata võimalusest), välja arvatud need, mis kuuluvad postile, authprivile ja croni teenustele (ühtegi sellest rajatisest tulevat sõnumit ei võeta arvesse ) to/var/log/messages.

Koolonimärgi abil saate rühmitada ka mitu rajatist, et rakendada neile kõigile sama prioriteeti. Seega rida:

*.info;mail.none;authpriv.none;cron.none                /var/log/messages

Võiks ümber kirjutada kui

*.info;mail,authpriv,cron.none                /var/log/messages

Teisisõnu, rajatised mail, authpriv ja cron on rühmitatud ja neile kolmele rakendatakse märksõna none.

Kõigi deemoni sõnumite logimiseks saidile /var/log/tecmint.log peame lisama järgmise rea kas rsyslog.conf-i või eraldi faili (hõlpsamini hallatav) /etc/rsyslog.d-s:

daemon.*    /var/log/tecmint.log

Taaskäivitame deemon (pange tähele, et teenuse nimi ei lõpe d-ga):

# systemctl restart rsyslog

Ja enne ja pärast kahe juhusliku deemoni taaskäivitamist kontrollige meie kohandatud logi sisu:

Enesõppeharjutusena soovitaksin teil võimaluste ja prioriteetidega ringi mängida ning logida täiendavad sõnumid olemasolevatesse logifailidesse või luua uued nagu eelmises näites.

Logide pööramine Logrotate abil

Logifailide lõputu kasvu vältimiseks kasutatakse logrotate utiliiti logide pööramiseks, tihendamiseks, eemaldamiseks ja alternatiivina, hõlbustades seeläbi suurel hulgal logifaile genereerivate süsteemide haldamist.

Logrotate töötab iga päev croni tööna (/etc/cron.daily/logrotate) ja loeb selle konfiguratsiooni kataloogist /etc/logrotate.conf ja failidest /etc/logrotate.d, kui neid on.

Nagu rsyslogi puhul, aitab ka konkreetsete teenuste sätteid põhifaili lisada ka nende jaoks eraldi konfiguratsioonifailide loomine.

Heidame pilgu tüüpilisele logrotate.conf:

Ülaltoodud näites teeb logrotate järgmised toimingud faili/var/loh/wtmp jaoks: proovige pöörata ainult üks kord kuus, kuid ainult juhul, kui fail on vähemalt 1 MB suurune, seejärel looge täiesti uus logifail, mille õigused on määratud kuni 0664 ja omandiõigus on antud kasutaja root ja grupi utmp-le. Järgmisena hoidke ainult ühte arhiivitud logi, nagu on ette nähtud pööramisdirektiiviga:

Vaatleme nüüd veel ühte näidet, mis on leitud /etc/logrotate.d/httpd:

Lisateavet logrotate'i seadete kohta saate selle man-lehtedelt (man logrotate.conf). Mõlemad failid on teie lugemise mugavuse huvides koos selle artikliga PDF-vormingus.

Süsteemiinsenerina on üsna palju teie otsustada, kui kaua ja millises formaadis logisid salvestatakse, sõltuvalt sellest, kas teil on/var eraldi partitsioonis/loogilises köites. Muidu soovite salvestusruumi säästmiseks tõesti kaaluda vanade logide eemaldamist. Teisest küljest võite olla sunnitud pidama tulevase turvaauditi jaoks mitu logi vastavalt oma ettevõtte või kliendi sisepoliitikale.

Muidugi võib logide uurimine (isegi selliste tööriistade abil nagu grep ja regulaaravaldised) muutuda üsna tüütuks ülesandeks. Sel põhjusel võimaldab rsyslog meil neid andmebaasi eksportida (OTB toetatud RDBMS sisaldab MySQL, MariaDB, PostgreSQL ja Oracle.

Selles õpetuse osas eeldatakse, et olete juba installinud MariaDB serveri ja kliendi samasse kasti RHEL 7, kus logisid hallatakse:

# yum update && yum install mariadb mariadb-server mariadb-client rsyslog-mysql
# systemctl enable mariadb && systemctl start mariadb

Seejärel kasutage utiliidi mysql_secure_installation abil juurkasutaja parooli ja muude turvalisuse kaalutluste jaoks:

Märkus. Kui te ei soovi MariaDB juurkasutajat kasutada logisõnumite lisamiseks andmebaasi, saate selleks konfigureerida teise kasutajakonto. Kuidas seda teha, jääb selle õpetuse reguleerimisalast välja, kuid seda on üksikasjalikult selgitatud MariaDB teadmistebaasis. Selles õpetuses kasutame lihtsuse huvides juurkontot.

Järgmisena laadige GITHubist alla skript createDB.sql ja importige see oma andmebaasiserverisse:

# mysql -u root -p < createDB.sql

Lõpuks lisage saidile /etc/rsyslog.conf järgmised read:

$ModLoad ommysql
$ActionOmmysqlServerPort 3306
*.* :ommysql:localhost,Syslog,root,YourPasswordHere

Taaskäivitage rsyslog ja andmebaasiserver:

# systemctl restart rsyslog 
# systemctl restart mariadb

Nüüd tehke mõned toimingud, mis muudavad logisid (näiteks teenuste peatamine ja käivitamine), logige siis oma DB-serverisse ja kasutage logide kuvamiseks ja otsimiseks standardset SQL-käsku:

USE Syslog;
SELECT ReceivedAt, Message FROM SystemEvents;

Kokkuvõte

Selles artiklis oleme selgitanud, kuidas seadistada süsteemi logimist, kuidas logisid pöörata ja kuidas sõnumeid otsingu hõlbustamiseks andmebaasi suunata. Loodame, et nendest oskustest on abi RHCE eksamiks valmistumisel ja ka oma igapäevastes kohustustes.

Nagu alati, on teie tagasiside enam kui teretulnud. Kasutage meiega julgelt allolevat vormi.