Als beheerders, IT-ondersteunend personeel of managers van het netwerk- en systeemgebied hebben we iets fundamenteels om ons te helpen elke gebeurtenis die zich binnen het systeem voordoet bij te houden, zowel op het niveau van gebruikers, applicaties of het systeem zelf, en dit zijn de evenementen.
Elke gebeurtenis registreert een reeks elementen die ons helpen elke activiteit in detail te bepalen met waarden zoals datum, tijd, ID, gebruiker en gebeurtenis die heeft plaatsgevonden, waardoor we een veel meer gecentraliseerd beheer en beheer hebben.
We kunnen zien dat elk record tot een andere categorie behoort, zoals systeem, beveiliging, enz.
In Linux-omgevingen hebben we de beschikking over het hulpprogramma Rsyslog waarmee het mogelijk wordt om deze gebeurtenissen op een eenvoudige en volledige manier te beheren.
Wat is RsyslogRsyslog (razendsnel systeem voor log - snel systeem voor logverwerking) is een hulpprogramma dat is ontworpen om hoge prestaties, uitstekende beveiligingsfuncties en een modulair ontwerp te bieden waardoor het schaalbaar is om aan elke bedrijfsbehoefte te voldoen.
Rsyslog kan invoer van een grote verscheidenheid aan bronnen accepteren, deze transformeren en resultaten genereren voor verschillende bestemmingen, waardoor het IT-beheer wordt geoptimaliseerd.
RSYSLOG is in staat om meer dan een miljoen berichten per seconde af te leveren aan lokale bestemmingen wanneer beperkte verwerking wordt toegepast, inclusief externe bestemmingen.
Rsyslog-functiesBij het gebruik van Rsyslog hebben we functies zoals:
- $ LocalHostName [naam] richtlijn: Met deze richtlijn kunnen we de hostnaam van het systeem overschrijven met de naam die in de richtlijn is gespecificeerd. Als de instructie meerdere keren wordt gegeven, worden alle behalve de laatste genegeerd.
- Hadoop HDFS-ondersteuning toegevoegd.
- Het heeft een impstat-module om periodieke statistieken op de Rsyslog-tellers uit te voeren.
- Het heeft de imptcp-plug-in.
- Bevat een nieuw type "stringgenerator"-module, die wordt gebruikt om de uitvoerverwerking te versnellen.
- Ondersteunt OSX en Solaris.
- Mogelijkheid om aangepaste berichtparsers te maken.
- Ondersteuning voor meerdere regels voor imudp.
- Nieuwe transactionele exit-module-interface die superieure prestaties biedt.
- Multi-threading
- Ondersteunt TCP, SSL, TLS, RELP-protocollen
- Ondersteunt MySQL, PostgreSQL, Oracle en meer
- Filter elk deel van het syslog-bericht
- Volledig configureerbaar uitvoerformaat
- Geschikt voor zakelijke omroepnetwerken
Rsyslog-filteringRsyslog kan syslog-berichten filteren op basis van geselecteerde eigenschappen en acties, deze filters zijn:
- Faciliteit of Priority Files
- Op eigenschappen gebaseerde filters
- Op expressies gebaseerde filters
Het faciliteitsfilter wordt vertegenwoordigd door het interne Linux-subsysteem dat verantwoordelijk is voor het produceren van de records, we hebben de volgende opties:
- auth / authpriv = Dit zijn de berichten die worden geproduceerd door authenticatieprocessen
- cron = Dit zijn records die zijn gekoppeld aan cron-taken
- daemon = Dit zijn berichten met betrekking tot de draaiende systeemservices
- kernel = Geeft Linux-kernelberichten aan
- mail = Bevat berichten van de mailserver
- syslog = Het zijn berichten gerelateerd aan syslog of andere daemons
- lpr = Omvat printers of printserverberichten
- local0 - local7 = Tel aangepaste berichten onder beheerderscontrole
- Emerg = Noodgeval - 0
- waarschuwing = waarschuwingen - 1
- err = fouten - 3
- waarschuwen = Waarschuwingen - 4
- kennisgeving = kennisgeving - 5
- info = Informatie - 6
- debbug = Debuggen - 7
1. Hoe de status van Rsyslog in Linux te configureren en te controleren
Stap 1
De Rsyslog-daemon wordt automatisch geïnstalleerd op de meeste Linux-distributies, maar als dat niet het geval is, moeten we de volgende opdrachten uitvoeren:
Op Debian-systemen
sudo apt-get install Rsyslog
Op RedHat- of CentOS-systemen
sudo yum installeer Rsyslog
Stap 2
We kunnen de huidige status van Rsyslog controleren door de volgende regel uit te voeren:
Op Linux-distributies die Systemd . gebruiken
systemctl-status rsyslog.service
In oudere versies van Linux
service rsyslog-status /etc/init.d/rsyslog-status
VERGROTEN
Stap 3
Als de status van de Rsyslog-service inactief is, kunnen we deze starten door het volgende uit te voeren:
In nieuwe versies van Linux
systemctl start rsyslog.service
In oudere versies van Linux
service rsyslog start /etc/init.d/rsyslog start
VERGROTEN
2. Rsyslog-configuratie op Linux
Om een rsyslog-programma te configureren om in servermodus te draaien, moeten we het configuratiebestand in de map /etc/rsyslog.conf bewerken.
Stap 1
We hebben toegang met de gewenste editor:
sudo nano /etc/rsyslog.conf
VERGROTEN
Stap 2
Daar zullen we de volgende wijzigingen aanbrengen. Lokaliseer en verwijder commentaar, verwijder het teken (#) van de volgende regels om de ontvangst van UDP-logberichten op poort 514 mogelijk te maken. Standaard wordt de UDP-poort door syslog gebruikt om berichten te verzenden en ontvangen:
$ ModLoad imudp $ UDPServerRun 514Stap 3
Het UDP-protocol is niet betrouwbaar om gegevens over een netwerk uit te wisselen, dus we kunnen Rsyslog configureren om logberichten via het TCP-protocol naar een externe server te sturen. Om het TCP-ontvangstprotocol in te schakelen, zullen we de volgende regels verwijderen:
$ ModLoad imtcp $ InputTCPServerRun 514Stap 4
Hierdoor kan de rsyslog-daemon binden en luisteren op een TCP-socket op poort 514.
Beide protocollen kunnen in rsyslog worden ingeschakeld om gelijktijdig op Linux te draaien.
Als het nodig is om aan te geven welke afzenders toegang hebben tot de rsyslog-daemon, moeten we de volgende regels toevoegen:
$ AllowedSender TCP, 127.0.0.1, 192.168.0.5/24, * .domain.com
VERGROTEN
Stap 5
Op dit punt is het nodig om een nieuwe sjabloon te maken die door de rsyslog-daemon zal worden geanalyseerd voordat de inkomende logs worden ontvangen. Deze sjabloon moet de lokale Rsyslog-server vertellen waar inkomende logberichten moeten worden opgeslagen. Deze sjabloon komt na de regel $ AllowedSender:
$ template Inkomende-logs, "/ var / log /% HOSTNAME% /% PROGRAMNAME% .log" *. *? Inkomende-logs & ~
VERGROTEN
Stap 6
Om alleen de berichten op te nemen die door kern zijn gegenereerd, voegen we het volgende toe. Met het bovenstaande worden de ontvangen records geanalyseerd door de sjabloon en opgeslagen in het lokale bestandssysteem in de / var / log / directory, in het pad:% HOSTNAME% en% PROGRAMNAME%.
kern.*?Inkomende-logsStap 7
We kunnen de wijzigingen opslaan met behulp van de volgende toetsencombinatie:
Ctrl + O
We verlaten de editor met:
Ctrl + X
3. Start de service opnieuw en controleer de Rsyslog-poorten op Linux
Stap 1
Wanneer we een wijziging aanbrengen, moeten we de service opnieuw starten door een van de volgende opties uit te voeren:
sudo service rsyslog herstart sudo systemctl herstart RsyslogStap 2
Om de poorten te controleren die door Rsyslog worden gebruikt, voeren we het volgende uit:
sudo netstat -tulpn | grep rsyslogStap 3
Zoals we hebben aangegeven, zal de gebruikte poort 514 zijn, we moeten deze in de firewall inschakelen voor gebruik met de volgende regels.
Op RedHat en CentOS
firewall-cmd --permanent --add-port = 514 / tcp firewall-cmd -reload
In Debian
ufw 514 toestaan / tcp ufw 514 toestaan / udpAls we IPTables gebruiken:
iptables -A INPUT -p tcp -m tcp --dport 514 -j ACCEPTEREN iptables -A INPUT -p udp --dport 514 -j ACCEPTEREN
VERGROTEN
Op deze manier hebben we Rsyslog in Linux geïnstalleerd om de verschillende soorten logs te beheren die er constant in worden gegenereerd.