Kif Oħloq Server ta' Log Ċentralizzat b'Rsyslog f'CentOS/RHEL 7


Sabiex l-amministratur tas-sistema jidentifika jew isolvi problema fuq sistema server CentOS 7 jew RHEL 7, għandu jkun jaf u jara l-avvenimenti li ġraw fis-sistema f'perjodu speċifiku ta 'żmien minn log files maħżuna fis-sistema fil-/var. direttorju /log.

Is-server syslog fuq magna Linux jista 'jaġixxi punt ċentrali ta' monitoraġġ fuq netwerk fejn is-servers kollha, apparati tan-netwerk, routers, swiċċijiet u ħafna mis-servizzi interni tagħhom li jiġġeneraw zkuk, kemm jekk relatati ma 'kwistjoni interna speċifika jew sempliċement messaġġi informattivi jistgħu jibagħtu r-zkuk tagħhom .

Fuq sistema CentOS/RHEL 7, Rsyslog daemon huwa s-server tal-log prinċipali installat minn qabel, segwit minn Systemd Journal Daemon (journald).

Server Rsyslog fil-bini bħala servizz ta 'arkitettura klijent/server u jista' jikseb iż-żewġ rwoli simultanji. Jista' jaħdem bħala server u jiġbor ir-reġistri kollha trażmessi minn apparati oħra fin-netwerk jew jista' jaħdem bħala klijent billi jibgħat l-avvenimenti interni kollha tas-sistema illoggjati lil server syslog ta' endpoint remot.

Meta rsyslog jiġi kkonfigurat bħala klijent, ir-zkuk jistgħu jinħażnu lokalment f'fajls fuq is-sistema tal-fajls lokali jew jistgħu jintbagħtu mill-bogħod aktar milli jiktbuhom f'fajls maħżuna fuq il-magna jew jiktbu fajls log tal-avvenimenti lokalment u jibagħtuhom lil server syslog remot fuq l-istess ħin.

Is-server Syslog jopera kwalunkwe messaġġ log bl-użu tal-iskema li ġejja:

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

A. Il-faċilità jew it-tip tad-dejta hija rappreżentata mill-proċessi tas-sistema interna li jiġġeneraw il-messaġġi. Fil-Linux proċessi interni (faċilitajiet) li jiġġeneraw zkuk huma standardizzati kif ġej:

  • auth = messaġġi ġġenerati minn proċessi ta’ awtentikazzjoni (login).
  • cron= messaġġi ġġenerati minn proċessi skedati (crontab).
  • daemon = messaġġi ġġenerati minn daemons (servizzi interni).
  • kernel = messaġġi ġġenerati mill-Linux Kernel innifsu.
  • posta = messaġġi ġġenerati minn server tal-posta.
  • syslog = messaġġi ġġenerati mid-daemon rsyslog innifsu.
  • lpr = messaġġi ġġenerati minn printers lokali jew server tal-istampar.
  • local0 – local7 = messaġġi personalizzati definiti minn amministratur (local7 normalment jiġi assenjat għal Cisco jew Windows).

B. Il-livelli ta' prijorità (severità) huma standardizzati wkoll. Kull prijorità hija assenjata b'abbrevjazzjoni standard u numru kif deskritt hawn taħt. Is-7 prijorità hija l-ogħla livell ta’ kulħadd.

  • emerg = Emerġenza – 0
  • twissija = Twissijiet – 1
  • err = Żbalji – 3
  • warn = Twissijiet – 4
  • avviż = Notifika – 5
  • info = Informazzjoni – 6
  • debug = Debugging – 7

Kliem prinċipali Rsyslog speċjali:

  • * = il-faċilitajiet jew il-prijoritajiet kollha
  • xejn = il-faċilitajiet m'għandhom l-ebda prijoritajiet mogħtija Eż: mail.none

C. It-tielet parti għall-iskema syslog hija rappreżentata mid-direttiva destinazzjoni. Rsyslog daemon jista 'jibgħat messaġġi log biex jinkitbu f'fajl fuq is-sistema tal-fajls lokali (l-aktar f'fajl fid-direttorju /var/log/) jew biex jintbagħtu għal proċess lokali ieħor jew biex jintbagħtu lil console tal-utent lokali (għal stdout) , jew ibgħat il-messaġġ lil server syslog remot permezz tal-protokoll TCP/UDP, jew saħansitra armi l-messaġġ lil /dev/null.

Sabiex jiġi kkonfigurat CentOS/RHEL 7 bħala Log Server ċentrali, l-ewwel irridu niċċekkjaw u niżguraw li l-partizzjoni /var  fejn jiġi rreġistrat il-fajl tal-log kollu hija kbira biżżejjed (minimu ftit GB) sabiex inkunu nistgħu naħżnu l- log files li se jintbagħtu minn apparati oħra. Hija deċiżjoni tajba li tuża drive separat (LVM, RAID) biex timmonta d-direttorju /var/log/.

  1. Proċedura ta' Installazzjoni ta' CentOS 7.3
  2. Proċedura ta' Installazzjoni RHEL 7.3

Kif tikkonfigura Rsyslog f'CentOS/RHEL 7 Server

1. B'default, is-servizz Rsyslog huwa installat awtomatikament u għandu jkun qed jaħdem f'CentOS/RHEL 7. Sabiex tivverifika jekk id-daemon jinbedax fis-sistema, agħti l-kmand li ġej bi privileġġi ta 'l-għeruq.

# systemctl status rsyslog.service

Jekk is-servizz ma jkunx qed jaħdem b'mod awtomatiku, eżegwixxi l-kmand hawn taħt sabiex tibda d-daemon rsyslog.

# systemctl start rsyslog.service

2. Jekk il-pakkett rsyslog mhuwiex installat fis-sistema li biħsiebek tuża bħala server ċentralizzat tal-illoggjar, agħti l-kmand li ġej biex tinstalla l-pakkett rsyslog.

# yum install rsyslog

3. L-ewwel pass li rridu nagħmlu fuq is-sistema sabiex jiġi kkonfigurat rsyslog daemon bħala server ta 'log ċentralizzat, sabiex ikun jista' jirċievi messaġġi log għal klijenti esterni, huwa li tiftaħ u teditja, billi tuża l-editur tat-test favorit tiegħek, il-konfigurazzjoni prinċipali fajl minn /etc/rsyslog.conf, kif ippreżentat fis-silta hawn taħt.

# vi /etc/rsyslog.conf

Fil-fajl tal-konfigurazzjoni prinċipali rsyslog, fittex u neħħi l-kumment tal-linji li ġejjin (neħħi s-sinjal tal-hashtag # fil-bidu tal-linja) sabiex tipprovdi riċeviment tat-trasport UDP lis-server Rsyslog permezz tal-port 514. UDP huwa l-protokoll standard użat għat-trażmissjoni tal-log minn Rsyslog.

$ModLoad imudp 
$UDPServerRun 514

4. Il-protokoll UDP m'għandux l-overhead TCP, li jagħmilha aktar mgħaġġla għat-trażmissjoni tad-dejta mill-protokoll TCP. Min-naħa l-oħra, il-protokoll UDP ma jiżgurax l-affidabbiltà tad-dejta trażmessa.

Madankollu, jekk għandek bżonn tuża protokoll TCP għar-riċeviment ta 'log trid tfittex u tneħħi l-kumment tal-linji li ġejjin mill-fajl /etc/rsyslog.conf sabiex tikkonfigura d-daemon Rsyslog biex jorbot u tisma' socket TCP fuq il-port 514. Is-sokits tas-smigħ TCP u UDP għar-riċeviment jistgħu jiġu kkonfigurati fuq server Rsyslog simultanjament.

$ModLoad imtcp 
$InputTCPServerRun 514 

5. Fuq il-pass li jmiss, tagħlaqx il-fajl s'issa, oħloq mudell ġdid li se jintuża biex tirċievi messaġġi remoti. Dan il-mudell se jagħti struzzjonijiet lis-server Rsyslog lokali fejn għandu jiffranka l-messaġġi riċevuti mibgħuta mill-klijenti tan-netwerk syslog. Il-mudell għandu jiġi miżjud qabel il-bidu tal-blokk DIRETTIVI GLOBALI kif muri fis-silta hawn taħt.

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

Id-direttiva ta' $template RemoteLogs ta' hawn fuq tagħti struzzjonijiet lil Rsyslog daemon biex jiġbor u jikteb il-messaġġi kollha ta' log riċevuti f'fajls distinti, ibbażati fuq l-isem tal-magna tal-klijent u l-faċilità tal-klijent remota (applikazzjoni) li ġġeneraw il-messaġġi bbażati fuq il-proprjetajiet definiti ppreżentati fil-konfigurazzjoni tal-mudelli : %HOSTNAME% u %PROGRAMNAME%.

Dawn il-fajls tal-log kollha se jinkitbu fis-sistema tal-fajls lokali f'fajl iddedikat imsemmi wara l-hostname tal-magna tal-klijent u maħżun fid-direttorju /var/log/.

Ir-regola ta' redirect & ~ tagħti struzzjonijiet lis-server Rsyslog lokali biex iwaqqaf l-ipproċessar tal-messaġġ tar-reġistru riċevut aktar u jarmi l-messaġġi (mhux jiktebhom fil-fajls tar-log interni).

L-isem RemoteLogs huwa isem arbitrarju mogħti lil din id-direttiva mudell. Tista' tuża kwalunkwe isem li tista' ssib l-aktar adattat għall-mudell tiegħek.

Sabiex tikteb il-messaġġi kollha riċevuti mill-klijenti f'fajl ta 'log wieħed imsemmi wara l-Indirizz IP tal-klijent remot, mingħajr ma tiffiltra l-faċilità li ġġenerat il-messaġġ, uża s-silta t'hawn taħt.

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

Eżempju ieħor ta' mudell fejn il-messaġġi kollha bil-marka tal-faċilità ta' awtentikazzjoni se jiġu illoggjati f'mudell imsejjaħ “TmplAuth”.

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

Hawn taħt hawn silta minn definizzjoni tal-mudell mis-server Rsyslog 7:

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

Is-silta tal-mudell ta’ hawn fuq tista’ tinkiteb ukoll bħala:

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

Biex tikteb mudelli Rsyslog kumplessi, aqra l-manwal tal-fajl tal-konfigurazzjoni Rsyslog billi toħroġ kmand man rsyslog.conf jew ikkonsulta d-dokumentazzjoni online Rsyslog.

6. Wara li tkun editjt il-fajl tal-konfigurazzjoni Rsyslog bis-settings tiegħek stess kif spjegat hawn fuq, ibda mill-ġdid id-daemon Rsyslog sabiex tapplika l-bidliet billi toħroġ il-kmand li ġej:

# service rsyslog restart

7. Sa issa, is-server Rsyslog għandu jiġi kkonfigurat biex jaġixxi bħala server ta 'log ċentralizzat u jirreġistra messaġġi minn klijenti syslog. Biex tivverifika s-sockets tan-netwerk Rsyslog, ħaddem kmand netstat bi privileġġi tal-għeruq u uża grep biex tiffiltra rsyslog string.

# netstat -tulpn | grep rsyslog 

8. Jekk għandek SELinux attivat f'CentOS/RHEL 7, agħti l-kmand li ġej biex tikkonfigura SELinux biex tippermetti traffiku rsyslog skont it-tip ta 'socket tan-netwerk.

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

9. Jekk il-firewall huwa attivat u attiv, mexxi l-kmand hawn taħt sabiex iżżid ir-regoli meħtieġa għall-ftuħ tal-portijiet rsyslog f'Firewalld.

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

Dak kollox! Rsyslog issa huwa kkonfigurat fil-modalità server u jista 'jiċċentralizza zkuk minn klijenti remoti. Fl-artikolu li jmiss, se naraw kif tikkonfigura l-klijent Rsyslog fuq is-server CentOS/RHEL 7.

Bl-użu tas-server Rsyslog bħala punt ċentrali ta 'monitoraġġ għal messaġġi log remoti tista' tispezzjona log files u tosserva l-istatus tas-saħħa tal-klijenti jew tiddibaggja l-kwistjonijiet tal-klijent b'mod aktar faċli meta s-sistemi jikkraxxjaw jew ikunu taħt xi tip ta 'attakk.