Hvernig á að stjórna kerfisskrám (stilla, snúa og flytja inn í gagnagrunn) í RHEL 7 - Part 5


Til að halda RHEL 7 kerfum þínum öruggum þarftu að vita hvernig á að fylgjast með allri starfsemi sem á sér stað á slíkum kerfum með því að skoða annálaskrár. Þannig munt þú geta greint óvenjulega eða hugsanlega illgjarna virkni og framkvæmt kerfisbilanaleit eða gripið til annarra viðeigandi aðgerða.

Í RHEL 7 er rsyslogd púkinn ábyrgur fyrir kerfisskráningu og les stillingar hans frá /etc/rsyslog.conf (þessi skrá tilgreinir sjálfgefna staðsetningu fyrir alla kerfisskrár) og úr skrám inni í /etc/rsyslog.d, ef einhver er.

Rsyslogd stillingar

Fljótleg skoðun á rsyslog.conf mun vera gagnleg til að byrja. Þessari skrá er skipt í 3 meginhluta: Modules (þar sem rsyslog fylgir mát hönnun), Alþjóðlegar tilskipanir (notaðar til að stilla alþjóðlega eiginleika rsyslogd púkans) og reglur. Eins og þú munt líklega giska á, gefur þessi síðasti hluti til kynna hvað verður skráð eða sýnt (einnig þekkt sem valinn) og hvar, og verður áhersla okkar í þessari grein.

Dæmigerð lína í rsyslog.conf er sem hér segir:

Á myndinni hér að ofan getum við séð að vali samanstendur af einu eða fleiri pörum Facility:Priority aðskilin með semíkommum, þar sem Facility lýsir tegund skilaboða (sjá kafla 4.1.1 í RFC 3164 til að sjá heildarlistann yfir aðstöðu í boði fyrir rsyslog) og Forgangur gefur til kynna alvarleika þess, sem getur verið eitt af eftirfarandi sjálfskýrandi orðum:

  1. kemba
  2. upplýsingar
  3. tilkynning
  4. viðvörun
  5. villa
  6. krit
  7. viðvörun
  8. koma fram

Þó að það sé ekki forgangsverkefni sjálft þýðir leitarorðið enginn alls engin forgang á tiltekinni aðstöðu.

Athugið: Að gefinn forgangur gefur til kynna að öll skilaboð með slíkum forgangi og hærri ættu að vera skráð. Þannig skipar línan í dæminu hér að ofan rsyslogd púknum að skrá öll skilaboð með forgangsupplýsingum eða hærri (óháð aðstöðunni) nema þau sem tilheyra póst-, authpriv- og cron-þjónustu (engin skilaboð sem koma frá þessari aðstöðu verða tekin með í reikninginn ) til /var/log/messages.

Þú getur líka flokkað margar aðstöðu með því að nota ristli til að hafa sama forgang á þær allar. Þannig línan:

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

Gæti verið endurskrifað sem

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

Með öðrum orðum, aðstaðan mail, authpriv og cron eru flokkuð og leitarorðið enginn er notað fyrir þau þrjú.

Til að skrá öll púkaskilaboð á /var/log/tecmint.log þurfum við að bæta eftirfarandi línu annaðhvort í rsyslog.conf eða í sérstakri skrá (auðveldara að stjórna) inni í /etc/rsyslog.d:

daemon.*    /var/log/tecmint.log

Endurræsum púkann (athugið að þjónustuheitið endar ekki á d):

# systemctl restart rsyslog

Og athugaðu innihald sérsniðna annálsins okkar fyrir og eftir endurræsingu tveggja handahófskenndra púka:

Sem sjálfsnámsæfing myndi ég mæla með því að þú spilir í kringum aðstöðuna og forgangsröðunina og skráir annaðhvort viðbótarskilaboð í núverandi skrár eða búir til nýjar eins og í fyrra dæminu.

Snúa annálum með Logrotate

Til að koma í veg fyrir að annálaskrár vaxi endalaust er logrotate tólið notað til að snúa, þjappa, fjarlægja og að öðrum kosti póstskrám og auðvelda þannig umsýslu kerfa sem búa til mikinn fjölda annálaskráa.

Logrotate keyrir daglega sem cron starf (/etc/cron.daily/logrotate) og les stillingar þess frá /etc/logrotate.conf og úr skrám sem eru staðsettar í /etc/logrotate.d, ef einhverjar eru.

Eins og með rsyslog, jafnvel þegar þú getur sett stillingar fyrir sérstakar þjónustur inn í aðalskrána, mun að búa til sérstakar stillingarskrár fyrir hverja og einn hjálpa þér að skipuleggja stillingarnar þínar betur.

Við skulum skoða dæmigerðan logrotate.conf:

Í dæminu hér að ofan mun logrotate framkvæma eftirfarandi aðgerðir fyrir /var/loh/wtmp: reyndu að snúa aðeins einu sinni í mánuði, en aðeins ef skráin er að minnsta kosti 1 MB að stærð, búðu til glænýja annálaskrá með heimildum settum til 0664 og eignarhald gefið notandarót og hópi utmp. Næst skaltu aðeins halda eina geymsluskrá, eins og tilgreint er í snúningstilskipuninni:

Við skulum nú íhuga annað dæmi eins og það er að finna í /etc/logrotate.d/httpd:

Þú getur lesið meira um stillingar fyrir logrotate á mannasíðum þess (man logrotate.conf). Báðar skrárnar fylgja þessari grein á PDF formi til að auðvelda lestur þinn.

Sem kerfisfræðingur mun það vera nokkurn veginn undir þér komið að ákveða hversu lengi logs verða geymdir og á hvaða sniði, allt eftir því hvort þú ert með /var í sér skipting/rökrænt bindi. Annars viltu virkilega íhuga að fjarlægja gamla annála til að spara geymslupláss. Á hinn bóginn gætirðu neyðst til að halda nokkrar skrár fyrir framtíðaröryggisendurskoðun í samræmi við innri stefnu fyrirtækisins eða viðskiptavinarins.

Auðvitað getur það orðið frekar leiðinlegt verkefni að skoða logs (jafnvel með hjálp tóla eins og grep og reglulegra tjáninga). Af þeirri ástæðu gerir rsyslog okkur kleift að flytja þau út í gagnagrunn (OTB studd RDBMS innihalda MySQL, MariaDB, PostgreSQL og Oracle.

Þessi hluti kennslunnar gerir ráð fyrir að þú hafir þegar sett upp MariaDB netþjóninn og biðlarann í sama RHEL 7 reit þar sem verið er að stjórna annálunum:

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

Notaðu síðan mysql_secure_installation tólið til að stilla lykilorðið fyrir rótarnotandann og önnur öryggisatriði:

Athugið: Ef þú vilt ekki nota MariaDB rót notandann til að setja inn notendaskilaboð í gagnagrunninn geturðu stillt annan notendareikning til að gera það. Að útskýra hvernig á að gera það er utan umfangs þessarar kennslu en er útskýrt í smáatriðum í MariaDB þekkingargrunni. Í þessari kennslu munum við nota rótarreikninginn til einföldunar.

Næst skaltu hlaða niður createDB.sql handritinu frá GitHub og flytja það inn á gagnagrunnsþjóninn þinn:

# mysql -u root -p < createDB.sql

Að lokum skaltu bæta eftirfarandi línum við /etc/rsyslog.conf:

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

Endurræstu rsyslog og gagnagrunnsþjóninn:

# systemctl restart rsyslog 
# systemctl restart mariadb

Framkvæmdu nú nokkur verkefni sem munu breyta annálunum (eins og að stöðva og ræsa þjónustu, til dæmis), skráðu þig síðan á DB netþjóninn þinn og notaðu staðlaðar SQL skipanir til að birta og leita í annálunum:

USE Syslog;
SELECT ReceivedAt, Message FROM SystemEvents;

Samantekt

Í þessari grein höfum við útskýrt hvernig á að setja upp kerfisskráningu, hvernig á að snúa annálum og hvernig á að beina skilaboðunum í gagnagrunn til að auðvelda leit. Við vonum að þessi færni verði gagnleg þegar þú undirbýr þig fyrir RHCE prófið og í daglegum skyldum þínum líka.

Eins og alltaf er álit þitt meira en velkomið. Ekki hika við að nota formið hér að neðan til að ná í okkur.