Hvernig á að búa til miðlægan annálþjón með Rsyslog í CentOS/RHEL 7


Til þess að kerfisstjóri geti borið kennsl á eða leysa vandamál á CentOS 7 eða RHEL 7 miðlarakerfi verður hann að þekkja og skoða atburðina sem gerðust á kerfinu á tilteknu tímabili úr annálaskrám sem eru geymdar í kerfinu í /var /log skrá.

Syslog miðlarinn á Linux vél getur verið miðlægur eftirlitsstaður yfir neti þar sem allir netþjónar, nettæki, beinar, rofar og flestar innri þjónustur þeirra sem búa til logs, hvort sem það tengist sérstöku innra vandamáli eða bara upplýsandi skilaboð geta sent logs. .

Í CentOS/RHEL 7 kerfi er Rsyslog púkinn aðal annálaþjónninn sem er foruppsettur, síðan Systemd Journal Daemon (dagbók).

Rsyslog þjónn í byggingu sem viðskiptavinur/miðlara arkitektúrþjónusta og getur náð báðum hlutverkum samtímis. Það getur keyrt sem þjónn og safnað öllum annálum sem sendar eru af öðrum tækjum á netinu eða það getur keyrt sem viðskiptavinur með því að senda alla innri kerfisatburði skráða á ytri endapunkta syslog miðlara.

Þegar rsyslog er stillt sem viðskiptavinur, er hægt að geyma annálana á staðnum í skrám á staðbundnu skráarkerfi eða hægt að senda þær úr fjarska frekar en að skrifa þær í skrár sem eru vistaðar á vélinni eða skrifa atburðaskrár á staðnum og senda þær á ytri syslog miðlara á á sama tíma.

Syslog þjónn rekur hvaða annálsskilaboð sem er með eftirfarandi kerfi:

type (facility).priority (severity)  destination(where to send the log)

A. Aðstaðan eða tegundargögnin eru táknuð með innri kerfisferlum sem búa til skilaboðin. Í Linux eru innri ferlar (aðstaða) sem búa til annála staðlaða sem hér segir:

  • auth = skilaboð búin til með auðkenningarferlum (innskráning).
  • cron= skilaboð búin til af áætlunarferlum (crontab).
  • púki = skilaboð sem eru búin til af púkum (innri þjónusta).
  • kernel = skilaboð sem eru búin til af Linux kjarnanum sjálfum.
  • mail = skilaboð búin til af póstþjóni.
  • syslog = skilaboð búin til af rsyslog púknum sjálfum.
  • lpr = skilaboð búin til af staðbundnum prenturum eða prentþjóni.
  • local0 – local7 = sérsniðin skilaboð skilgreind af stjórnanda (local7 er venjulega úthlutað fyrir Cisco eða Windows).

B. Forgangsstig (alvarleika) er einnig staðlað. Hver forgangur er úthlutað með hefðbundinni skammstöfun og númeri eins og lýst er hér að neðan. 7. forgangur er hærra stig allra.

  • emerg = Neyðartilvik – 0
  • alert = Viðvaranir – 1
  • err = Villur – 3
  • warn = Viðvaranir – 4
  • tilkynning = Tilkynning – 5
  • upplýsingar = Upplýsingar – 6
  • debug = Villuleit – 7

Sérstök Rsyslog leitarorð:

  • * = öll aðstaða eða forgangsröðun
  • engin = aðstaðan hefur enga forgangsröðun Td: mail.none

C. Þriðji hlutinn fyrir syslog skemað er táknaður með áfangastaðstilskipuninni. Rsyslog púkinn getur sent notendaskilaboð til að skrifa í skrá á staðbundnu skráarkerfi (aðallega í skrá í /var/log/ möppu) eða til að senda í annað staðbundið ferli eða senda á staðbundið notendaborð (til stdout) , eða sendu skilaboðin til ytri syslog miðlara með TCP/UDP samskiptareglum, eða jafnvel fargaðu skilaboðunum til /dev/null.

Til þess að stilla CentOS/RHEL 7 sem miðlægan annálaþjón, þurfum við fyrst að athuga og tryggja að /var skiptingin þar sem allar annálaskrár eru skráðar sé nógu stór (nokkur GB að lágmarki) til að geta geymt allar skrár sem verða sendar af öðrum tækjum. Það er góð ákvörðun að nota sérstakt drif (LVM, RAID) til að tengja /var/log/ möppuna.

  1. CentOS 7.3 Uppsetningaraðferð
  2. RHEL 7.3 Uppsetningaraðferð

Hvernig á að stilla Rsyslog í CentOS/RHEL 7 Server

1. Sjálfgefið er að Rsyslog þjónusta er sjálfkrafa uppsett og ætti að vera í gangi í CentOS/RHEL 7. Til að athuga hvort púkinn sé ræstur í kerfinu skaltu gefa út eftirfarandi skipun með rótarréttindum.

# systemctl status rsyslog.service

Ef þjónustan er ekki í gangi sjálfgefið skaltu framkvæma skipunina hér að neðan til að ræsa rsyslog púkann.

# systemctl start rsyslog.service

2. Ef rsyslog pakkinn er ekki settur upp á kerfinu sem þú ætlar að nota sem miðlægan skráningarþjón, gefðu út eftirfarandi skipun til að setja upp rsyslog pakkann.

# yum install rsyslog

3. Fyrsta skrefið sem við þurfum að gera á kerfinu til að stilla rsyslog púkinn sem miðlægan annálþjón, svo hann geti tekið á móti notendaskilaboðum fyrir utanaðkomandi viðskiptavini, er að opna og breyta, með uppáhalds textaritlinum þínum, aðalstillingunni. skrá frá /etc/rsyslog.conf, eins og fram kemur í útdrættinum hér að neðan.

# vi /etc/rsyslog.conf

Í rsyslog aðalstillingarskránni skaltu leita og afskrifa eftirfarandi línur (fjarlægðu myllumerkið # við upphaf línunnar) til að veita UDP flutningsmóttöku til Rsyslog miðlara um 514 tengi. UDP er staðlaða samskiptareglan sem Rsyslog notar fyrir sendingu annála.

$ModLoad imudp 
$UDPServerRun 514

4. UDP samskiptareglur eru ekki með TCP kostnaður, sem gerir það hraðari til að senda gögn en TCP samskiptareglur. Aftur á móti tryggir UDP samskiptareglur ekki áreiðanleika sendra gagna.

Hins vegar, ef þú þarft að nota TCP-samskiptareglur fyrir móttöku annála, verður þú að leita og afskrifa eftirfarandi línur úr /etc/rsyslog.conf skránni til að stilla Rsyslog-púkinn til að binda og hlusta á TCP fals á 514 tengi. TCP og UDP hlustunarinnstungur fyrir móttöku er hægt að stilla á Rsyslog netþjóni samtímis.

$ModLoad imtcp 
$InputTCPServerRun 514 

5. Í næsta skrefi skaltu ekki loka skránni ennþá, búðu til nýtt sniðmát sem verður notað til að taka á móti fjarskilaboðum. Þetta sniðmát mun leiðbeina staðbundnum Rsyslog miðlara hvar á að vista móttekin skilaboð sem send eru af syslog netþjónum. Bæta verður við sniðmátinu fyrir upphaf GLOBAL DIRECTIONS blokkarinnar eins og sýnt er í útdrættinum hér að neðan.

$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" 
. ?RemoteLogs & ~

$template RemoteLogs tilskipunin fyrir ofan gefur Rsyslog-púknum fyrirmæli um að safna og skrifa öll móttekin annálsskilaboð í sérstakar skrár, byggt á nafni biðlaravélarinnar og ytri biðlaraþjónustu (forrit) sem bjó til skilaboðin út frá skilgreindum eiginleikum sem eru til staðar í sniðmátsstillingunni : %HOSTNAME% og %PROGRAMNAME%.

Allar þessar annálaskrár verða skrifaðar á staðbundið skráarkerfi í sérstaka skrá sem heitir eftir hýsingarheiti viðskiptavinarvélarinnar og geymd í /var/log/ möppu.

Tilvísunarreglan & ~ gefur staðbundnum Rsyslog miðlara fyrirmæli um að hætta að vinna frekar úr mótteknum annálsskilaboðum og fleygja skilaboðunum (ekki skrifa þau í innri annálsskrár).

RemoteLogs nafnið er handahófskennt nafn sem er gefið þessari sniðmátstilskipun. Þú getur notað hvaða nafn sem þú finnur best fyrir sniðmátið þitt.

Til að skrifa öll móttekin skilaboð frá viðskiptavinum í eina notendaskrá sem heitir eftir IP-tölu ytri biðlarans, án þess að sía aðstöðuna sem bjó til skilaboðin, notaðu eftirfarandi útdrátt.

$template FromIp,"/var/log/%FROMHOST-IP%.log" 
. ?FromIp & ~ 

Annað dæmi um sniðmát þar sem öll skilaboð með auðkenningaraðstöðufána verða skráð á sniðmát sem heitir „TmplAuth“.

$template TmplAuth, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log" 
authpriv.*   ?TmplAuth

Hér að neðan er útdráttur úr sniðmátsskilgreiningu frá Rsyslog 7 netþjóni:

template(name="TmplMsg" type="string"
         string="/var/log/remote/msg/%HOSTNAME%/%PROGRAMNAME:::secpath-replace%.log"
        )

Einnig er hægt að skrifa ofangreinda sniðmátsútdrátt sem:

template(name="TmplMsg" type="list") {
    constant(value="/var/log/remote/msg/")
    property(name="hostname")
    constant(value="/")
    property(name="programname" SecurePath="replace")
    constant(value=".log")
    }

Til að skrifa flókin Rsyslog sniðmát skaltu lesa Rsyslog stillingarskrárhandbókina með því að gefa út man rsyslog.conf skipunina eða skoða Rsyslog netskjöl.

6. Eftir að þú hefur breytt Rsyslog stillingarskránni með þínum eigin stillingum eins og útskýrt er hér að ofan skaltu endurræsa Rsyslog púkann til að beita breytingum með því að gefa út eftirfarandi skipun:

# service rsyslog restart

7. Núna ætti Rsyslog þjónninn að vera stilltur til að virka miðlægan annálþjón og taka upp skilaboð frá syslog viðskiptavinum. Til að staðfesta Rsyslog netinnstungur skaltu keyra netstat skipun með rótarréttindum og nota grep til að sía rsyslog streng.

# netstat -tulpn | grep rsyslog 

8. Ef þú ert með SELinux virkt í CentOS/RHEL 7, gefðu út eftirfarandi skipun til að stilla SELinux til að leyfa rsyslog umferð eftir tegund nettengis.

# semanage -a -t syslogd_port_t -p udp 514
# semanage -a -t syslogd_port_t -p tcp 514 

9. Ef eldveggurinn er virkur og virkur skaltu keyra skipunina hér að neðan til að bæta við nauðsynlegum reglum til að opna rsyslog tengi í Firewalld.

# firewall-cmd --permanent --add-port=514/tcp
# firewall-cmd --permanent --add-port=514/udp
# firewall-cmd –reload

Það er allt og sumt! Rsyslog er nú stillt í miðlaraham og getur miðstýrt annálum frá ytri viðskiptavinum. Í næstu grein munum við sjá hvernig á að stilla Rsyslog viðskiptavin á CentOS/RHEL 7 netþjóni.

Með því að nota Rsyslog miðlara sem miðlægan eftirlitsstað fyrir ytri annálsskilaboð geturðu skoðað annálsskrár og fylgst með heilsufari viðskiptavinarins eða villuleit vandamál viðskiptavinarins auðveldara þegar kerfi hrynja eða eru undir einhvers konar árás.