Frage Wie würden Sie syslog * sicher über das öffentliche Internet senden?


Ich habe also ein paar Server, die ich gerne zentral aufzeichnen würde, aber ich möchte die Daten natürlich nicht unsicher über das Internet weitergeben.

Ich habe syslog-ng ausprobiert, kann es aber nicht auf eine sichere Art und Weise arbeiten lassen ssh -L PORT:localhost:PORT user@host SSH-Tunnel wird nicht funktionieren, weil ich glaube, dass die Logs scheinen von der lokalen Maschine zu kommen, und ein VPN scheint ein bisschen wie Overkill.


18
2018-06-05 20:52


Ursprung




Antworten:


Hast du syslog-ng und stunnel ausprobiert?

  1. Installieren Sie Stunnel
  2. Erstellen Sie Zertifikatsdateien für syslog-ng über Stunnel
  3. Konfigurieren Sie Stunnel für die Verwendung mit syslog-ng
  4. Installieren Sie syslog-ng
  5. Konfigurieren Sie syslog-ng
  6. ERLEDIGT!

HINWEIS:

Stunnel (http://www.stunnel.org) ist ein Programm, mit dem Sie beliebige TCP-Verbindungen innerhalb von SSL (Secure Sockets Layer) verschlüsseln können, die sowohl unter Unix als auch unter Windows verfügbar sind. Stunnel ermöglicht es Ihnen, Nicht-SSL-fähige Daemons und Protokolle (wie POP, IMAP, LDAP usw.) zu sichern, indem Stunnel die Verschlüsselung bereitstellt und keine Änderungen am Daemon-Code erfordert.


18
2018-06-05 21:01



Das ist es, was wir verwenden, um syslog von unserer DMZ an unser internes Netzwerk zu senden. Funktioniert gut. - Kamil Kisiel
Für das, was es wert ist, unterstützt syslog-ng 3.x nativ TLS, so dass kein Stunnel mehr benötigt wird. - synthesizer


Kurze Antwort: VPN

Es mag übertrieben erscheinen, aber es ist die richtige Antwort und nicht so kompliziert einzurichten.


12
2018-06-05 20:53



Recht!; openvpn.de ist wirklich einfach einzurichten und funktioniert einfach. - pQd
Nicht nur das, aber es gibt Ihnen auch ein Menge mehr Flexibilität, um die Remote-Maschinen sicher zu verwalten und zu überwachen. OpenVPN (oder sogar IPSec) wird auf lange Sicht viel besser sein. - Christopher Cashell


Rsyslog kann dies tun. Syslog-Verkehr mit TLS verschlüsseln


8
2018-06-05 21:15



Öffnen Sie mit dieser Lösung nicht immer noch einen Port ins Internet? Ich würde es immer noch verabscheuen, das für so etwas zu tun. - Kevin Kuphal
Kevin: Es wird angenommen, dass Ihr Syslog-Server Datenverkehr von bestimmten vorgegebenen IPs erwartet, was über iptables einfach zu bewerkstelligen ist - Matt Simmons
Die meisten Cloud-Anbieter erlauben auch flexible Sicherheitsgruppen, mit denen Sie bestimmte Ports von bestimmten IPs auf die Whitelist setzen können. - jorfus


Sie können auch den kostenlosen Kiwi Secure Tunnel ausprobieren http://www.solarwinds.com/products/kiwi_syslog_server/related_tools.aspx


2
2018-06-05 21:54





Verwenden Sie syslog-ng oder einen anderen syslog-Daemon, der TCP unterstützt.

Senden Sie die Daten über einen verschlüsselten Tunnel. Verwenden Sie keinen SSH-Tunnel, es ist zu fummelig.

UDP Syslog ist ein historisches Braindamaged-Protokoll, das schon vor langer Zeit beseitigt sein sollte. Wenn Ihr Lieferant sie standardmäßig anbietet, lehnen Sie sich an sie.

Wenn Ihr Anbieter keine Syslog-Lösung bereitstellt, die jede Nachricht vor dem Senden signiert, lehnen Sie sich an sie.

Die Software ist einfach, die Algorithmen sind einfach. Die Politik, es standardmäßig zu installieren, ist es nicht.


1
2018-06-06 00:43



UDP-Syslog hat bestimmte Vorteile, wenn es nicht zu Ausfällen kommt, wenn das Ziel für längere Zeit ausfällt. Kein zu großer Deal mit syslog-ng, kann aber in rsyslog ein Albtraum sein. Der Wert der Verschlüsselung ist nichts, was ich in Frage stellen möchte. - Florian Heigl


Wahrscheinlich würde ich keine Protokolldaten über das Internet senden, sondern einen zentralen Loghost an den entsprechenden Stellen installieren.

In diesen Tagen bevorzuge ich rsyslog zu syslog-ng. Es ist ein fast Tropfen in Ersatz, und hat eine Vielzahl von Papieren und Howtos, einschließlich einer auf Senden verschlüsselte Daten mit TLS / SSL (ab v3.19.0) können ältere Versionen immer noch Stunnel benutzen.

Nach meiner Erfahrung mit rsyslog und syslog-ng gewinnt rsyslog in der Einfachheit der Konfigurierbarkeit, zumal Sie Ihre vorhandene syslog.conf verwenden und hinzufügen können.

Für was es wert ist, Rsyslog ist der Standard-Syslog-Daemon auf Debian Lenny (5,0), Ubuntu und Fedora.


1
2018-06-06 06:56



Es ist einfach zu schade, dass rsyslog die neue (geplante) Konfigurationsdatei-Syntax noch nicht hinzugefügt hat. Im Augenblick ist das Konfigurieren von rsyslog für alles, was nicht trivial ist schmerzlich im Vergleich zu syslog-ng. - Christopher Cashell


Ich benutze rsyslog mit tls. Es gibt einige Vorbereitungsarbeiten außerhalb des Geltungsbereichs: Bereitstellen einer lokalen Zertifizierungsstelle, Hinzufügen des Zertifikats der Zertifizierungsstelle zu jedem Host, Generieren einzelner Zertifikate für jeden Host. (Jetzt können alle deine Gastgeber miteinander reden)

Ich musste auch rsyslog-gnutls installieren:

sudo apt-get install rsyslog-gnutls

Ich habe auch die ausgehende Syslog-Verbindung (tcp 514) eingeschränkt, so dass meine Hosts nur eine Verbindung zu meinem rsyslog-Server herstellen können und eine eingehende Whitelist auf der rsyslog-Serverseite erstellt wurde, sodass nur meine Hosts eine Verbindung herstellen können.

in /etc/rsyslog.conf

# make gtls driver the default
$DefaultNetstreamDriver gtls

# certificate files
$DefaultNetstreamDriverCAFile /etc/my_keys/internal_CA.crt
$DefaultNetstreamDriverCertFile /etc/my_keys/my_hostname.crt
$DefaultNetstreamDriverKeyFile /etc/my_keys/my_hostname.key

$ActionSendStreamDriverAuthMode x509/name
$ActionSendStreamDriverPermittedPeer my_syslog_server.com
$ActionSendStreamDriverMode 1 # run driver in TLS-only mode
*.* @@my_syslog_server.com:514 # forward everything to remote server

Es sieht so aus, als sei die Konfiguration für syslog-ng noch einfacher. (obwohl ich das nicht versucht habe) Syslog-ng /etc/syslog-ng/conf.d/99-graylog2.conf

destination remote-server {  
    tcp ("my_syslog_server.com" port(514)
        tls(ca_dir("/etc/my_keys/"))
    );
};

0
2018-03-26 00:26