Home
» Hoe
»
Beveiligde SLES Syslog-doorsturing met rsyslog en Mutual TLS
Beveiligde SLES Syslog-doorsturing met rsyslog en Mutual TLS
Om SUSE Linux Enterprise Server (SLES) systeemlogboeken veilig door te sturen, configureert u rsyslog om berichten te verzenden via TLS-beveiligde TCP-poort 6514, controleert u de certificaatnaam van de collector en bevestigt u de levering met een testgebeurtenis. SLES 15 SP7 ontving op 27 maart 2026 een optionele rsyslog-update die een OpenSSL TLS-module toevoegde; de onderstaande configuratie gebruikt bewust de reeds bestaande GnuTLS- gtlsmodule.
Deze procedure beschrijft een SLES 15-zender met de naam sles01.example.neten een rsyslog-verzamelaar met de naam logs.example.net. Vervang beide namen en alle certificaatpaden door uw eigen waarden. Er wordt gebruikgemaakt van wederzijdse TLS, wat betekent dat de verzamelaar de zender authenticeert en de zender de verzamelaar authenticeert.
1. Controleer rsyslog en het SLES-logpad.
Installeer op beide hosts de rsyslog-daemon en de bijbehorende GnuTLS-module vanuit uw geregistreerde SUSE-repository's. Bestaande installaties bevatten mogelijk al het eerste pakket.
Bekijk /etc/rsyslog.confde bestaande codefragmenten /etc/rsyslog.d/voordat u regels toevoegt. Schakel met name alle oudere, niet-versleutelde *.* @@hostdoorstuurregels voor dezelfde bestemming uit; anders kunnen berichten twee routes volgen, waaronder één zonder TLS.
SLES gebruikt systemd-journaldlogboekgebeurtenissen, terwijl rsyslog syslog-inputs verwerkt. Controleer of de gebeurtenissen die u nodig hebt rsyslog bereiken via de bestaande inputconfiguratie. SUSE documenteert ForwardToSyslog=yeshet /etc/systemd/journald.confdoorsturen van logboek naar syslog; controleer uw implementatie voordat u dit wijzigt, omdat het afzonderlijk inschakelen van logboeklezers dubbele gebeurtenissen kan veroorzaken. Deze procedure stuurt berichten door die al door rsyslog zijn verwerkt, niet elk bestand onder /var/logautomatisch.
Controleer de rsyslog-installatie en bevestig dat de afzender aparte CA-, certificaat- en sleutelbestanden heeft voordat u TLS inschakelt.
2. Bereid vertrouwde server- en clientcertificaten voor.
Gebruik een door de organisatie beheerde certificeringsinstantie (CA) om een certificaat uit te geven met de alternatieve DNS-subjectnaam logs.example.netvoor de collector en een apart certificaat sles01.example.netvoor de afzender. Zorg ervoor dat de certificaten geldig zijn voor hun TLS-server- of clientrollen en dat beide machines de uitgevende CA vertrouwen. Volg uw PKI-procedure voor het genereren en vernieuwen van certificaten; hergebruik geen privésleutel op verschillende hosts.
Kopieer de juiste bestanden via een door de beheerder goedgekeurd beveiligd kanaal. In dit voorbeeld gebruiken beide machines /etc/rsyslog.d/tls/ca.pem. De collector heeft bovendien server-cert.pemen server-key.pem; de verzender heeft client-cert.pemen client-key.pem.
Beperk de toegang tot certificaten en sleutels tot de rsyslog-service-identiteit waar nodig. Stel privésleutels niet beschikbaar in diagnostische gegevens, shellgeschiedenis, Git-repositories of de geëxporteerde logstream. Controleer of uw rsyslog-proces de sleutel kan lezen voordat u de daemon opnieuw start.
3. Schakel een geauthenticeerde TLS-ontvanger in op de collector.
Voeg op logs.example.nethet volgende toe als /etc/rsyslog.d/30-tls-listener.conf. Als imtcphet al elders geladen is, behoud dan slechts één module-load statement. De speciale regelset plaatst op afstand ontvangen berichten in een apart bestand in plaats van ze te mengen met lokale systeemberichten.
StreamDriver.Mode="1"Schakelt TLS in x509/nameen PermittedPeerweigert clients zonder een geaccepteerd certificaat. De beperking tot één toegestane naam is opzettelijk; breid de lijst met goedgekeurde peers uit bij het toevoegen van andere verzenders in plaats van de authenticatie te verzwakken.
Voer de firewallopdrachten alleen uit als de collector firewalld gebruikt. Beperk inkomend TCP/6514 tot bekende zendernetwerken met behulp van uw host- of upstream-firewall; het openen van de poort vervangt geen certificaatverificatie. Controleer ook of er geen bestaande plaintext-listener onbedoeld wordt blootgesteld.
De collector TLS-listener gebruikt poort 6514, GnuTLS-modus 1 en authenticatie op basis van certificaatnaam; het artikel bevat de volledige configuratie voor de ontvanger.
4. Voeg TLS-doorsturen en een begrensde wachtrij toe aan SLES
Zorg er op sles01.example.netvoor dat de rsyslog-werkmap bestaat en beschrijfbaar is voor de service. De hier getoonde map is slechts een voorbeeld; behoud een reeds geconfigureerde map workDirectoryals uw installatiepakket er een bevat. Voeg dit codefragment toe als /etc/rsyslog.d/60-tls-forward.conf:
De TLS-instellingen authenticeren de collector voordat berichten worden verzonden. De actiewachtrij met schijfondersteuning buffert berichten tijdens korte storingen en probeert een mislukte doorstuuractie opnieuw uit te voeren, maar dit is geen oneindige buffer en biedt geen garantie tegen elk berichtverlies: beschikbare schijfruimte, wachtrijlimieten, het afsluitgedrag van processen en de status van de ontvanger blijven van belang. Controleer de effectieve werkmap van rsyslog en maak deze aan met de juiste eigenaar voordat u op schijfbuffering vertrouwt.
Valideer en herstart de verzender:
sudo rsyslogd -N1
sudo systemctl restart rsyslog
Als de configuratievalidatie mislukt, start dan niet opnieuw op; corrigeer de eerst gemelde fout. In een bestaande rsyslog-implementatie kunnen globale certificaatrichtlijnen andere TLS-acties beïnvloeden. Controleer andere uitgaande acties en gebruik ondersteunde certificaatparameters per actie als deze andere referenties vereisen.
Stuur systeemberichten door naar logs.example.net met behulp van een TLS-ingeschakelde omfwd-actie; voeg de certificaatinstellingen en de redundante wachtrij toe vanuit de bijbehorende code.
5. Controleer de ontvangst en onderzoek een mislukte handdruk.
Controleer eerst of de collector luistert op TCP/6514 en of de zender de host via de firewall kan bereiken. Voer vervolgens de volgende opdracht uit op de SLES-zender:
logger -t sles-tls-check "TLS forwarding probe"
Zoek op de collector naar het geconfigureerde externe logbestand:
Het vinden van de marker /var/log/remote-tls.logbevestigt dat het doorstuurpad op applicatieniveau voor deze test werkte. Het bewijst echter niet dat elk applicatiespecifiek logbestand wordt verzameld. Om de authenticatie onafhankelijk te testen, gebruikt u tijdelijk een ander, niet-vertrouwd certificaat of een afwijkende peernaam tijdens een gecontroleerd onderhoudsvenster en bevestigt u dat de TLS-verbinding mislukt; herstel de oorspronkelijke configuratie onmiddellijk.
Valideer rsyslog en verstuur een uniek getagd testbericht. Controleer vervolgens het collectorlogboek op de aanwezigheid van de probe in plaats van aan te nemen dat het bericht is bezorgd.
Als de markering niet verschijnt, volg dan de stappen voor het oplossen van het probleem:
Geen luisteraar of verbinding geweigerd: controleer systemctl status rsyslogde TCP/6514- en collector-firewallregels.
TLS- of certificaatfout: vergelijk de SAN's van het certificaat met PermittedPeeren StreamDriverPermittedPeers; controleer de CA-keten, vervaldatums, systeemklokken en machtigingen voor de privésleutel.
Verbinding gemaakt, maar geen gebeurtenissen: controleer op dubbele of ontbrekende logboek-/systeemlogboekvermeldingen, opgeschorte doorstuuracties en de capaciteit van de schijfwachtrij. Controleer dit journalctl -u rsyslogop beide hosts.