În calitate de administratori, personal de asistență IT sau manageri ai rețelelor și sistemelor, avem ceva fundamental care să ne ajute să ținem evidența fiecărui eveniment care are loc în sistem, atât la nivelul utilizatorilor, al aplicațiilor sau al sistemului în sine, iar acestea sunt evenimente.
Fiecare eveniment înregistrează o serie de elemente care ne ajută să determinăm în detaliu fiecare activitate cu valori precum data, ora, ID-ul, utilizatorul și evenimentul care a avut loc, permițându-ne astfel o gestionare și administrare mult mai centralizată.
Putem vedea că fiecare înregistrare aparține unei categorii diferite, cum ar fi sistemul, securitatea etc.
În mediile Linux avem la dispoziție utilitarul Rsyslog cu care va fi posibil să gestionăm aceste evenimente într-un mod simplu și complet.
Ce este RsyslogRsyslog (sistem rachetă rapidă pentru jurnal - sistem rapid pentru procesarea jurnalelor) este un utilitar conceput pentru a oferi performanțe ridicate, caracteristici de securitate excelente și un design modular care îi permite să fie scalabil pentru a se potrivi fiecărei companii.
Rsyslog este capabil să accepte intrări dintr-o mare varietate de surse, să le transforme și să genereze rezultate pentru diverse destinații, optimizând managementul IT.
RSYSLOG este capabil să livreze mai mult de un milion de mesaje pe secundă către destinații locale atunci când se aplică o prelucrare limitată, inclusiv destinații la distanță.
Caracteristici RsyslogCând utilizați Rsyslog, vom avea caracteristici precum:
- Directiva $ LocalHostName [nume]: Această directivă ne permite să suprascriem numele gazdei sistemului cu cel specificat în directivă. Dacă directiva este dată de mai multe ori, toate cu excepția ultimei vor fi ignorate.
- S-a adăugat suport Hadoop HDFS.
- Are un modul impstat pentru a rula statistici periodice pe contoare Rsyslog.
- Are pluginul imptcp.
- Include un nou tip de modul "generator de șiruri", utilizat pentru a accelera procesarea ieșirilor.
- Suportă OSX și Solaris.
- Abilitatea de a crea analize de mesaje personalizate.
- Suport multi-reguli pentru imudp.
- Noua interfață a modulului de ieșire tranzacțională care oferă performanțe superioare.
- Multi-threading
- Suportă protocoale TCP, SSL, TLS, RELP
- Suportă MySQL, PostgreSQL, Oracle și multe altele
- Filtrează orice parte a mesajului syslog
- Format de ieșire complet configurabil
- Potrivit pentru rețelele de difuzare de clasă business
Filtrare rsyslogRsyslog poate filtra mesajele syslog pe baza proprietăților și acțiunilor selectate, aceste filtre sunt:
- Instalație sau filiere prioritare
- Filtre bazate pe proprietăți
- Filtre bazate pe expresii
Filtrul facilității este reprezentat de subsistemul Linux intern care este responsabil pentru producerea înregistrărilor, avem următoarele opțiuni:
- auth / authpriv = Sunt mesajele produse de procesele de autentificare
- cron = Sunt înregistrări asociate cu sarcini cron
- daemon = Acestea sunt mesaje legate de serviciile de sistem care rulează
- kernel = Indică mesajele kernel Linux
- mail = Include mesaje de pe serverul de mail
- syslog = Sunt mesaje legate de syslog sau de alți demoni
- lpr = Acoperă imprimante sau mesaje server de imprimare
- local0 - local7 = Numărați mesajele personalizate sub controlul administratorului
- emerg = Emergency - 0
- alert = Alerte - 1
- err = Erori - 3
- warn = Warnings - 4
- notice = Notice - 5
- info = Informații - 6
- debbug = Depanare - 7
1. Cum se configurează și se verifică starea Rsyslog în Linux
Pasul 1
Demonul Rsyslog este instalat automat pe majoritatea distribuțiilor Linux, dar dacă nu, trebuie să executăm următoarele comenzi:
Pe sistemele Debian
sudo apt-get install Rsyslog
Pe sistemele RedHat sau CentOS
sudo yum instalați Rsyslog
Pasul 2
Putem verifica starea curentă a Rsyslog executând următoarea linie:
Pe distribuțiile Linux care utilizează Systemd
statusctl status rsyslog.service
În versiunile mai vechi de Linux
service rsyslog status /etc/init.d/rsyslog status
MARI
Pasul 3
În cazul în care starea serviciului Rsyslog este inactivă, o putem începe executând următoarele:
În noile versiuni de Linux
systemctl pornește rsyslog.service
În versiunile mai vechi de Linux
service rsyslog start /etc/init.d/rsyslog start
MARI
2. Configurare Rsyslog pe Linux
Pentru a configura un program rsyslog pentru a rula în modul server, trebuie să edităm fișierul de configurare din directorul /etc/rsyslog.conf.
Pasul 1
Putem accesa folosind editorul dorit:
sudo nano /etc/rsyslog.conf
MARI
Pasul 2
Acolo vom face următoarele modificări. Localizați și decomentați, eliminând semnul (#), de pe următoarele linii pentru a permite primirea mesajelor jurnal UDP pe portul 514. În mod implicit, portul UDP este utilizat de syslog pentru a trimite și primi mesaje:
$ ModLoad imudp $ UDPServerRun 514Pasul 3
Protocolul UDP nu este fiabil pentru schimbul de date printr-o rețea, așa că putem configura Rsyslog pentru a trimite mesaje jurnal către un server la distanță prin protocolul TCP. Pentru a activa protocolul de recepție TCP, vom elimina următoarele linii:
$ ModLoad imtcp $ InputTCPServerRun 514Pasul 4
Acest lucru va permite demonului rsyslog să se lege și să asculte pe un socket TCP pe portul 514.
Ambele protocoale pot fi activate în rsyslog pentru a rula simultan pe Linux.
Dacă este necesar să specificăm ce expeditori au acces la demonul rsyslog, trebuie să adăugăm următoarele linii:
$ AllowedSender TCP, 127.0.0.1, 192.168.0.5/24, * .domain.com
MARI
Pasul 5
În acest moment va fi necesar să creați un nou șablon care va fi analizat de demonul rsyslog înainte de a primi jurnalele primite. Acest șablon ar trebui să informeze serverul local Rsyslog unde să stocheze mesajele jurnal primite. Acest șablon va merge după linia $ AllowedSender:
$ template Jurnale de intrare, "/ var / log /% HOSTNAME% /% PROGRAMNAME% .log" *. *? Jurnale de intrare & ~
MARI
Pasul 6
Pentru a înregistra numai mesajele generate de kern vom adăuga următoarele. Cu cele de mai sus, înregistrările primite sunt analizate de șablon și vor fi stocate în sistemul de fișiere local din directorul / var / log /, în calea:% HOSTNAME% și% PROGRAMNAME%.
kern. *? Jurnale de intrarePasul 7
Putem salva modificările folosind următoarea combinație de taste:
Ctrl + O
Lăsăm editorul folosind:
Ctrl + X
3. Reporniți serviciul și verificați porturile Rsyslog pe Linux
Pasul 1
Când facem orice tip de modificare, trebuie să repornim serviciul executând una dintre următoarele opțiuni:
sudo service rsyslog reporniți sudo systemctl reporniți RsyslogPasul 2
Pentru a verifica porturile utilizate de Rsyslog vom executa următoarele:
sudo netstat -tulpn | grep rsyslogPasul 3
După cum am indicat, portul utilizat va fi 514, trebuie să-l activăm în firewall pentru a fi utilizat cu următoarele linii.
Pe RedHat și CentOS
firewall-cmd --permanent --add-port = 514 / tcp firewall-cmd -reload
În Debian
ufw allow 514 / tcp ufw allow 514 / udpDacă folosim IPTables:
iptables -A INPUT -p tcp -m tcp --dport 514 -j ACCEPT iptables -A INPUT -p udp --dport 514 -j ACCEPT
MARI
În acest fel, am instalat Rsyslog în Linux pentru a gestiona diferitele tipuri de jurnale care sunt generate în mod constant în acesta.