Veiligheid

Hoe Linux-logboeken naar een externe server te verzenden

Hoe Linux-logboeken naar een externe server te verzenden
De belangrijkste reden om logboekregistratie op afstand toe te passen is dezelfde reden waarom een ​​speciale /var-partitie wordt aanbevolen: een kwestie van ruimte, maar niet alleen. Door logboeken naar een speciaal opslagapparaat te sturen, kunt u voorkomen dat uw logboeken alle ruimte innemen terwijl u een enorme historische database behoudt om bugs te betalen.

Door logboeken naar een externe host te uploaden, kunnen we rapporten voor meer dan één apparaat centraliseren en een back-up van het rapport bewaren om te onderzoeken voor het geval er iets misgaat waardoor we geen toegang hebben tot logboeken lokaal.

Deze zelfstudie laat zien hoe u een externe server instelt om logboeken te hosten en hoe u deze logboeken verzendt vanaf clientapparaten en hoe u logboeken classificeert of verdeelt in mappen op clienthost.

Om de instructies te volgen, kun je een virtueel apparaat gebruiken. Ik heb een gratis VPS van Amazon genomen (als je hulp nodig hebt bij het instellen van een Amazon-apparaat, hebben ze geweldige speciale inhoud op LinuxHint op https://linuxhint.com/categorie/aws/). Merk op dat het openbare IP-adres van de server anders is dan het interne IP.

Voorafgaand aan het starten:

De software die wordt gebruikt om logs op afstand te verzenden is rsyslog, het wordt standaard geleverd op Debian en afgeleide Linux-distributies, voor het geval je het niet hebt uitgevoerd:

# sudo apt install rsyslog

U kunt de rsyslog-status altijd controleren door het volgende uit te voeren:

# sudo-service rsyslog-status

Zoals je kunt zien op de schermafbeelding is de status actief. Als je rsyslog niet actief is, kun je deze altijd starten door het volgende uit te voeren:

# sudo-service rsyslog start

Of

# systemctl start rsyslog

Opmerking: Voor aanvullende informatie over alle opties om Debian-services te beheren, check Stop, start en herstart services op Debian.

Het starten van rsyslog is op dit moment niet relevant omdat we het opnieuw moeten opstarten nadat we enkele wijzigingen hebben aangebracht.

Hoe Linux-logboeken naar een externe server te verzenden: de serverzijde

Bewerk eerst het bestand op de server /etc/resyslog.conf met nano of vi:

# nano /etc/rsyslog.conf

Maak in het bestand de opmerkingen ongedaan of voeg de volgende regels toe:

module(load="imudp")
invoer (type = "imudp" poort = "514")
module(load="imtcp")
invoer (type = "imtcp" poort = "514")

Hierboven hebben we logboekontvangsten verwijderd of toegevoegd via UDP en TCP, u kunt slechts één van hen of beide toestaan, als u geen commentaar heeft gegeven of toegevoegd, moet u uw firewallregels bewerken om inkomende logboeken toe te staan, om logboekontvangst via TCP-run toe te staan:

# ufw laat 514/tcp toe

Inkomende logboeken via het UDP-protocol laten uitvoeren:

# ufw laat 514/udp toe

Voer de twee bovenstaande opdrachten uit om zowel TCP als UDP door te laten:.

Opmerking: voor meer informatie over UFW kunt u lezen Werken met Debian Firewalls (UFW).

Start de rsyslog-service opnieuw door het volgende uit te voeren:

# sudo-service rsyslog opnieuw opstarten

Ga nu verder op de client om verzendlogboeken te configureren, dan gaan we terug naar de server om het formaat te verbeteren.

Hoe Linux-logboeken naar een externe server te verzenden: de clientzijde

Voeg op de client die logboeken verzendt de volgende regel toe, ter vervanging van de IP 18.223.3.241 voor uw server-IP.

*.* @@18.223.3.241:514

Sluit af en sla de wijzigingen op door op CTRL +X . te drukken.

Na het bewerken start u de rsyslog-service opnieuw door het volgende uit te voeren:

# sudo-service rsyslog opnieuw opstarten

Aan de serverkant:

Nu kun je logs in /var/log controleren, wanneer je ze opent, zie je gemengde bronnen voor je log, het volgende voorbeeld toont logs van Amazon's interne interface en van de Rsyslog-client (Montsegur):

Een zoom maakt het duidelijk:

Het is niet comfortabel om gemengde bestanden te hebben, hieronder zullen we de rsyslog-configuratie bewerken om logs te scheiden volgens de bron.

Om logboeken in een map met de naam van de clienthost te onderscheiden, voegt u de volgende regels toe aan de server /etc/rsyslog.conf om rsyslog te instrueren hoe logs op afstand op te slaan, om dit te doen binnen de rsyslog.conf voeg de regels toe:

$template RemoteLogs,"/var/log/%HOSTNAME%/.loggen"
*.* ?Logboeken op afstand
& ~

Sluit het opslaan van wijzigingen af ​​door op CTRL +X te drukken en start rsyslog opnieuw op de server:

# sudo-service rsyslog opnieuw opstarten

Nu kunt u nieuwe mappen zien, een genaamd ip-172.31.47.212, de interne interface van AWS en andere genaamd "montsegur" zoals de rsyslog-client.

In de mappen vindt u de logs:

Conclusie:

Logboekregistratie op afstand biedt een geweldige oplossing voor een probleem dat services kan uitschakelen als de serveropslag vol met logboeken raakt, zoals in het begin werd gezegd, het is ook een must in sommige gevallen waarin het systeem ernstig kan worden beschadigd zonder toegang tot logboeken te geven , in dergelijke gevallen garandeert een externe logserver sysadmin-toegang tot de servergeschiedenis.

Het implementeren van deze oplossing is technisch vrij eenvoudig en zelfs gratis, aangezien er geen hoge bronnen nodig zijn en gratis servers zoals AWS gratis tiers zijn goed voor deze taak, mocht u de logoverdrachtsnelheid verhogen, dan kunt u alleen het UDP-protocol toestaan ​​(ondanks het verlies van betrouwbaarheid). Er zijn enkele alternatieven voor Rsyslog, zoals: Flume of Sentry, maar rsyslog blijft de meest populaire tool onder Linux-gebruikers en sysadmins.

Ik hoop dat je dit artikel over het verzenden van Linux-logboeken naar een externe server nuttig vond.

Emuleer muisklikken door te zweven met Clickless Mouse in Windows 10
Het gebruik van een muis of toetsenbord in de verkeerde houding of overmatig gebruik kan leiden tot veel gezondheidsproblemen, waaronder spanning, car...
Voeg muisbewegingen toe aan Windows 10 met deze gratis tools
In de afgelopen jaren zijn computers en besturingssystemen sterk geëvolueerd. Er was een tijd dat gebruikers opdrachten moesten gebruiken om door best...
Beheer en beheer muisbewegingen tussen meerdere monitoren in Windows 10
Muisbeheer voor twee schermen laat je muisbewegingen tussen meerdere monitoren controleren en configureren door de bewegingen nabij de grens te vertra...