Linux-da Rsyslog bilen Merkezi hasaba alyş serwerini nädip gurmaly


Surnallar islendik programma üpjünçiliginiň ýa-da operasiýa ulgamynyň möhüm bölegi. Surnallar, adatça, nämäniň niýetlenendigine baglylykda ulanyjynyň hereketlerini, ulgam wakalaryny, tor işjeňligini we başga-da köp zatlary ýazga alýar. Linux ulgamlarynda iň köp ulanylýan hasaba alyş ulgamlaryndan biri rsyslog.

Rsyslog, dürli çeşmelerden (ulgamlar/amaly programmalar) maglumatlary kabul edýän we ony birnäçe formatda çykarýan güýçli, ygtybarly we ýokary öndürijilikli gündelik işleýiş ulgamy.

Adaty syslog daemonyndan doly aýratynlykly, kärhana derejesindäki hasaba alyş ulgamyna öwrüldi. Müşderi/serwer modelinde işlenip düzülendir, şonuň üçin müşderi we/ýa-da beýleki serwerler, tor enjamlary we uzakdaky programmalar üçin merkezi hasaba alyş serweri hökmünde düzülip bilner.

Bu gollanmanyň maksady üçin aşakdaky öý eýelerini ulanarys:

  • Serwer: 192.168.241.140
  • Müşderi: 172.31.21.58

Rsyslog serwerini nädip gurmaly we sazlamaly

Linux paýlamalarynyň köpüsi öňünden gurlan rsyslog bukjasy bilen gelýär. Gurulmadyk bolsa, görkezilişi ýaly Linux paket dolandyryjy guralyňyzy ulanyp gurup bilersiňiz.

$ sudo yum update && yum install rsyslog 	#CentOS 7
$ sudo apt update && apt install rsyslog	#Ubuntu 16.04, 18.04

“Rsyslog” gurlansoň, hyzmaty häzirlikçe başlamaly, “boot” -da awtomatiki başlamaga we systemctl buýrugy bilen ýagdaýyny barlamaly.

$ sudo systemctl start rsyslog
$ sudo systemctl enable rsyslog
$ sudo systemctl status rsyslog

Esasy rsyslog konfigurasiýa faýly /etc/rsyslog.conf-da ýerleşýär, modullary ýükleýär, global direktiwalary kesgitleýär, gündelik habarlary gaýtadan işlemegiň düzgünlerini öz içine alýar we dürli programmalar/hyzmatlar üçin /etc/rsyslog.d/ sahypasyndaky ähli konfigurasiýa faýllaryny öz içine alýar. .

$ sudo vim /etc/rsyslog.conf

Düzgüne görä, rsyslog, systemd journalurnalyndan düzülen gündelik habarlary import etmek we ýerli ulgamda işleýän programmalardan syslog habarlaryny degişlilikde Unix rozetkalary arkaly kabul etmek üçin imjournal we imusock modullaryny ulanýar.

Rsyslogy tor/merkezi hasaba alyş serweri hökmünde düzmek üçin uzakdaky syslog kabul edişinde we diňleýän porty üçin ulanjak protokolyny (UDP ýa-da TCP ýa-da ikisi) düzmeli.

Çalt, ýöne ygtybarsyz UDP birikmesini ulanmak isleseňiz, aşakdaky setirleri gözläň we diňläň (514-i diňlemek isleýän portuňyz bilen çalşyň, bu müşderileriň habar iberýän port salgysyna laýyk gelmelidir, serederis) rsyslog müşderisini düzeniňizde has köp).

$ModLoad imudp
$UDPServerRun 514

TCP birikmesini ulanmak üçin (has haýal, ýöne has ygtybarly) aşakdaky setirleri gözläň.

$ModLoad imtcp
$InputTCPServerRun 514

Bu ýagdaýda, UDP we TCP birikmelerini bir wagtda ulanmak isleýäris.

Ondan soň, aşakdaky formatda uzakdaky gündelikleri gaýtadan işlemegiň düzgünini kesgitlemeli.

facility.severity_level	destination (where to store log)

Nirede:

  • desga: proses/programma döredýän habaryň görnüşidir, olarda auth, kron, daemon, ýadro, ýerli0..local7 bar. * ulanmak ähli desgalary aňladýar.
  • severity_level: gündelik habaryň görnüşi: ýüze çykýan-0, duýduryş-1, tankytçy-2, ýalňyşlyk-3, duýduryş-4, duýduryş-5, maglumat-6, düzediş-7. * ulanmak ähli agyrlyk derejelerini aňladýar we hiç biri agyrlyk derejesini aňlatmaýar.
  • niýetlenen ýer: ýa-da ýerli faýl ýa-da uzakdaky rsyslog serweri (IP görnüşinde kesgitlenýär).

“RemoteLogs” şablonyny ulanyp, uzakdaky ýer eýelerinden gündelikleri ýygnamak üçin aşakdaky düzgünleri ulanarys. Bu düzgünleriň, skrinshotda görkezilişi ýaly ýerli habarlary gaýtadan işlemegiň islendik düzgünlerinden öň gelmelidigini unutmaň.

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

Aboveokardaky düzgünlere seretseň, birinji düzgün\$şablon RemoteLogs,/var/log /% HOSTNAME% /% PROGRAMNAME% .log .

Direktiw şablon rsyslog daemonyna alnan uzakdaky habarlaryň hemmesini host adyna (müşderiniň maşynynyň ady) we kesgitlenen habarlary döreden uzakdaky müşderi desgasyna (programma/programma) esaslanýan/var/log aşagyndaky aýratyn gündeliklere ýygnamagy we ýazmagy tabşyrýar. RemoteLogs şablonyndaky sazlamalar boýunça.

Ikinji setir\*. *? RemoteLogs, RemoteLogs şablon konfigurasiýasyny ulanyp, ähli agyrlyk derejesindäki ähli desgalardan habarlary ýazmagy aňladýar.

Iň soňky setir\& ~ rsyslog-a faýllara ýazylansoň habarlary gaýtadan işlemegi bes etmegi tabşyrýar. & ~ Goşmasaňyz, habarlar ýerli faýllara ýazylar.

Has giňişleýin maglumat üçin ulanyp boljak başga-da köp galyplar bar, has giňişleýin maglumat üçin rsyslog konfigurasiýa adam sahypasyna (man rsyslog.conf) serediň ýa-da Rsyslog onlaýn resminamalaryna serediň.

Bu rsyslog serwerini düzmek bilen. Sazlama faýly ýazdyryň we ýapyň. Soňky üýtgeşmeleri ulanmak üçin rsyslog daemonyny aşakdaky buýruk bilen täzeden açyň.

$ sudo systemctl restart rsyslog

Indi rsyslog tor rozetkalaryny barlaň. Rsyslogd birikmelerini süzmek üçin ss buýrugyny (ýa-da grep) ulanyň.

$ sudo ss -tulnp | grep "rsyslog"

Ondan soň, CentOS 7-de, eger SELinux açyk bolsa, tor rozetkasynyň görnüşine esaslanýan rsyslog traffigine rugsat bermek üçin aşakdaky buýruklary işlediň.

$ sudo semanage -a -t syslogd_port_t -p udp 514
$ sudo semanage -a -t syslogd_port_t -p tcp 514 

Ulgam gorag diwary açyk bolsa, işlemek arkaly UDP/TCP birikmeleriniň ikisini hem rsyslog serwerine birikdirmek üçin 514 port açmaly.

------------- On CentOS ------------- 
$ sudo firewall-cmd --permanent --add-port=514/udp
$ sudo firewall-cmd --permanent --add-port=514/tcp
$ sudo firewall-cmd --reload

------------- On Ubuntu -------------
$ sudo ufw allow 514/udp
$ sudo ufw allow 514/tcp
$ sudo ufw reload 

Rsyslog serwerine surnallary ibermek üçin Rsyslog müşderisini nädip sazlamaly

Indi müşderi ulgamynda rsyslog hyzmatynyň aşakdaky buýruk bilen işleýändigini ýa-da ýokdugyny barlaň.

$ sudo systemctl status rsyslog

Gurulmadyk bolsa, ony guruň we ozal görkezilişi ýaly hyzmaty başlaň.

$ sudo yum update && yum install rsyslog 	#CentOS 7
$ sudo apt update && apt install rsyslog	#Ubuntu 16.04, 18.04
$ sudo systemctl start rsyslog
$ sudo systemctl enable rsyslog
$ sudo systemctl status rsyslog

Rsyslog hyzmaty gutaransoň, esasy konfigurasiýa faýlyny açyň, şol ýerde deslapky konfigurasiýa üýtgeşmeler girizersiňiz.

$ sudo vim /etc/rsyslog.conf

Rsyslog daemonyny gündelik müşderisi hökmünde işlemäge we ýerli döredilen gündelik habarlary uzakdaky rsyslog serwerine ugratmaga mejbur etmek üçin, aşakdaky skrinshotda görkezilişi ýaly faýlyň soňuna bu ugratma düzgünini goşuň.

*. *  @@192.168.100.10:514

Aboveokardaky düzgün ähli desgalardan we ähli agyrlyk derejelerinden habar iberer. Belli bir desgadan mysal üçin auth habar ibermek üçin aşakdaky düzgüni ulanyň.

auth. *  @@192.168.100.10:514

Üýtgeşmeleri ýazdyryň we konfigurasiýa faýlyny ýapyň. Aboveokardaky sazlamalary ulanmak üçin rsyslog daemonyny täzeden açyň.

$ sudo systemctl restart rsyslog

Rsyslog serwerinde uzakdan girişlere nädip gözegçilik etmeli

Iň soňky ädim, rsyslog-yň hakykatdanam/var/log astynda, hostname/programname.log görnüşinde müşderiden habar alýandygyny we hasaba alynýandygyny barlamakdyr.

Esasy surnallar katalogynyň uzyn sanawyna ls buýrugyny işlediň we ip-172.31.21.58 atly bir katalogyň bardygyny ýa-da ýokdugyny anyklaň (ýa-da müşderiňiziň enjamynyň ady näme bolsa).

 
$ ls -l /var/log/

Katalog bar bolsa, içindäki log faýllaryny işledip barlaň.

$ sudo ls -l /var/log/ip-172-31-21-58/

Rsyslog, müşderi/serwer arhitekturasynda döredilen ýokary öndürijilikli gündelik işleýiş ulgamy. Rsyslog-ny merkezi/tor hasaba alyş serweri we bu gollanmada görkezilişi ýaly müşderi hökmünde gurup we sazlap bilersiňiz diýip umyt edýäris.

Şeýle hem has köp kömek üçin degişli rsyslog gollanma sahypalaryna ýüz tutup bilersiňiz. Bize haýsydyr bir jogap bermäge ýa-da sorag bermäge arkaýyn boluň.