Sikkerhed

Sådan sendes Linux-logfiler til en ekstern server

Sådan sendes Linux-logfiler til en ekstern server
Hovedårsagen til at anvende fjernlogning er den samme grund, hvorfor en dedikeret / var-partition anbefales: et spørgsmål om plads, men ikke kun. Ved at sende logfiler til en dedikeret lagerenhed kan du forhindre, at dine logfiler tager al plads, mens du opbevarer en enorm historisk database for at give bugs.

Upload af logfiler til en ekstern vært giver os mulighed for at centralisere rapporter for mere end en enhed og holde en sikkerhedskopi af rapporten til forskning, hvis noget mislykkes, der forhindrer os i at få adgang til logfiler lokalt.

Denne vejledning viser, hvordan man opsætter en ekstern server til værtslogfiler, og hvordan man sender disse logfiler fra klientenheder, og hvordan man klassificerer eller deler logfiler i mapper efter klientvært.

For at følge instruktionerne kan du bruge en virtuel enhed, jeg tog et gratis niveau VPS fra Amazon (hvis du har brug for hjælp til at opsætte en Amazon-enhed, har de fantastisk dedikeret indhold på det på LinuxHint på https: // linuxhint.com / kategori / aws /). Bemærk, at serverens offentlige IP er forskellig fra den interne IP.

Før start:

Den software, der bruges til at sende logfiler eksternt, er rsyslog, den kommer som standard til Debian og afledte Linux-distributioner, hvis du ikke har den kørt:

# sudo apt installer rsyslog

Du kan altid kontrollere rsyslog-tilstanden ved at køre:

# sudo service rsyslog status

Som du kan se, er status på skærmbilledet aktiv, hvis din rsyslog ikke er aktiv, kan du altid starte den ved at køre:

# sudo service rsyslog start

Eller

# systemctl start rsyslog

Bemærk: For yderligere oplysninger om alle muligheder for at administrere Debian-tjek Stop, start og genstart tjenester på Debian.

At starte rsyslog er ikke relevant lige nu, fordi vi bliver nødt til at genstarte det efter nogle ændringer.

Sådan sendes Linux-logfiler til en ekstern server: Serversiden

Først og fremmest redigeres filen på serveren / etc / resyslog.konf ved hjælp af nano eller vi:

# nano / etc / rsyslog.konf

Fjern kommentarer eller tilføj følgende linjer inden for filen:

modul (load = "imudp")
input (type = "imudp" port = "514")
modul (load = "imtcp")
input (type = "imtcp" port = "514")

Ovenfor har vi ikke kommenteret eller tilføjet logmodtagelser gennem UDP og TCP, du kan kun tillade en af ​​dem eller begge dem, når du først er kommenteret eller tilføjet, skal du redigere dine firewallregler for at tillade indgående logfiler, for at tillade logmodtagelse gennem TCP-kørsel:

# ufw tillad 514 / tcp

Sådan tillades indgående logfiler gennem UDP-protokolkørsel:

# ufw tillad 514 / udp

For at tillade gennem både TCP og UDP kør de to kommandoer ovenfor.

Bemærk: for mere information om UFW kan du læse Arbejde med Debian Firewalls (UFW).

Genstart rsyslog-tjenesten ved at køre:

# sudo service rsyslog genstart

Fortsæt nu med klienten for at konfigurere afsendelseslogfiler, så vender vi tilbage til serveren for at forbedre formatet.

Sådan sendes Linux-logfiler til en ekstern server: Kundesiden

På klienten, der sender logfiler, skal du tilføje følgende linje, der erstatter IP 18.223.3.241 til din server-IP.

*.* @@ 18.223.3.241: 514

Afslut og gem ændringer ved at trykke på CTRL + X.

Når den er redigeret, genstart rsyslog-tjenesten ved at køre:

# sudo service rsyslog genstart

På serversiden:

Nu kan du kontrollere logfiler inde i / var / log, når du åbner dem, bemærker du blandede kilder til din log, følgende eksempel viser logfiler fra Amazons interne grænseflade og fra Rsyslog-klienten (Montsegur):

En zoom viser det klart:

At have blandede filer er ikke behageligt, nedenfor redigerer vi rsyslog-konfiguration for at adskille logfiler i henhold til kilden.

For at skelne logfiler inde i en mappe med navnet på klientværten skal du tilføje følgende linjer til serveren / etc / rsyslog.conf for at instruere rsyslog hvordan man gemmer fjernlogfiler, hvordan man gør det i rsyslog.conf tilføj linjerne:

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

Afslut gemme ændringer ved at trykke på CTRL + X og genstart rsyslog på serveren igen:

# sudo service rsyslog genstart

Nu kan du se nye mapper, en kaldet ip-172.31.47.212, som er AWS intern grænseflade og andet kaldet “montsegur” som rsyslog-klienten.

Inden i telefonbøgerne kan du finde logfilerne:

Konklusion:

Fjernlogning tilbyder en god løsning på et problem, der kan bringe tjenester ned, hvis serverlageret bliver fuld af logfiler, som det blev sagt i starten, er det også et must i nogle tilfælde, hvor systemet kan blive alvorligt beskadiget uden at give adgang til logfiler , i sådanne tilfælde garanterer en ekstern log-server sysadmin-adgang til serverhistorikken.

Implementering af denne løsning er teknisk ret let og endda gratis i betragtning af høje ressourcer er ikke nødvendigt, og gratis servere som AWS-gratis niveauer er gode til denne opgave, hvis du øger logoverførselshastigheden, kan du kun tillade UDP-protokol (på trods af at du mister pålidelighed). Der er nogle alternativer til Rsyslog som: Flume eller Sentry, men alligevel er rsyslog stadig det mest populære værktøj blandt Linux-brugere og sysadmins.

Jeg håber, du fandt denne artikel om Sådan sendes Linux-logfiler til en fjernserver nyttig.

HD Remastered-spil til Linux, der aldrig tidligere havde haft en Linux-udgivelse
Mange spiludviklere og udgivere kommer med HD-remaster af gamle spil for at forlænge franchisens levetid. Venligst fans, der anmoder om kompatibilitet...
Sådan bruges AutoKey til at automatisere Linux-spil
AutoKey er et desktopautomatiseringsværktøj til Linux og X11, programmeret i Python 3, GTK og Qt. Ved hjælp af dets scripting og MACRO-funktionalitet ...
Sådan vises FPS-tæller i Linux-spil
Linux-spil fik et stort skub, da Valve annoncerede Linux-support til Steam-klient og deres spil i 2012. Siden da har mange AAA- og indiespil fundet ve...