Come invieresti syslog * in modo sicuro * su Internet pubblico?


20

Quindi ho alcuni server che mi piacerebbe accedere centralmente ma ovviamente non voglio passare i dati in modo sicuro su Internet.

Ho provato syslog-ng ma non riesco a farlo funzionare in modo sicuro, un normale ssh -L PORT:localhost:PORT user@hosttunnel SSH non funzionerà perché credo che i log sembrino provenire dal computer locale e una VPN sembra un po 'eccessiva .

Risposte:


19

Hai provato syslog-ng e stunnel?

  1. Installa Stunnel
  2. Creare file di certificati per syslog-ng su Stunnel
  3. Configura Stunnel per l'uso con syslog-ng
  4. Installa syslog-ng
  5. Configura syslog-ng
  6. FATTO!

NOTA:

Stunnel ( http://www.stunnel.org ) è un programma che consente di crittografare connessioni TCP arbitrarie all'interno di SSL (Secure Sockets Layer) disponibile sia su Unix che su Windows. Stunnel può consentire di proteggere daemon e protocolli non certificati SSL (come POP, IMAP, LDAP, ecc.) Facendo in modo che Stunnel fornisca la crittografia, senza richiedere modifiche al codice del demone.


Questo è ciò che utilizziamo per inviare syslog dalla nostra DMZ alla nostra rete interna. Funziona bene.
Kamil Kisiel,

3
Per quello che vale, syslog-ng 3.x supporta TLS in modo nativo, quindi non è più necessario utilizzare lo stunnel.
sintetizzatore

12

Risposta breve: VPN

Può sembrare eccessivo, ma è la risposta giusta e non è così complicato da configurare.


giusto!; openvpn.net è davvero semplice da configurare e funziona.
pQd

Non solo, ma ti dà anche molta più flessibilità per gestire e monitorare le macchine remote in modo sicuro. OpenVPN (o persino IPSec) sarà molto meglio a lungo termine.
Christopher Cashell,

9

Non stai ancora aprendo una porta su Internet con questa soluzione? Sarei ancora detestabile farlo per qualcosa del genere.
Kevin Kuphal,

3
Kevin: Si presume che il tuo server syslog si aspetti il ​​traffico da determinati IP predefiniti, che è facile da realizzare tramite iptables
Matt Simmons,

La maggior parte dei provider cloud consente anche gruppi di sicurezza flessibili che consentono di autorizzare porte specifiche da IP specifici.
Jorfus,


1

Usa syslog-ng o un altro demone syslog che supporti TCP.

Invia i dati su un tunnel crittografato. Non usare un tunnel ssh, è troppo complicato.

UDP syslog è un protocollo storico Braindamaged che avrebbe dovuto essere eliminato molto tempo fa. Se il tuo fornitore lo fornisce di default, ti preghiamo di appoggiarti a loro.

Se il tuo fornitore non fornisce una soluzione syslog che firma ogni messaggio prima di inviarlo, affidati a loro.

Il software è semplice, gli algoritmi sono facili. Le politiche per installarlo di default non lo sono.


Il syslog di UDP presenta alcuni vantaggi quando non si verificano interruzioni se la destinazione scende per periodi più lunghi. Non è un grosso problema con syslog-ng, ma può essere un incubo in rsyslog. Il valore della crittografia non è nulla su cui voglio mettere in discussione affermandolo.
Florian Heigl,

1

Probabilmente non avrei inviato i dati di registro su Internet in primo luogo, ma avrei installato un loghost centralizzato nelle posizioni dove necessario.

In questi giorni, preferisco rsyslog a syslog-ng. È un calo quasi sostitutivo e ha una varietà di documenti e howtos, incluso uno sull'invio di dati crittografati con TLS / SSL (a partire dalla v3.19.0), le versioni precedenti possono ancora utilizzare lo stunnel .

Nella mia esperienza con rsyslog e syslog-ng, rsyslog si distingue per la facilità di configurabilità, soprattutto perché è possibile utilizzare syslog.conf esistente e aggiungerlo.

Per quello che vale, Rsyslog è il demone syslog predefinito su Debian Lenny (5.0), Ubuntu e Fedora .


È davvero un peccato che rsyslog non abbia ancora aggiunto la nuova sintassi del file di configurazione (pianificata). In questo momento, configurare rsyslog per qualsiasi cosa non banale è doloroso rispetto a syslog-ng.
Christopher Cashell,

0

Sto usando rsyslog con tls. Esiste un lavoro di preparazione fuori ambito: distribuire una CA locale, aggiungere il certificato della CA a ciascun host, generare certificati individuali per ciascun host. (ora tutti i padroni di casa possono parlare tra loro ssl)

Avevo anche bisogno di installare rsyslog-gnutls:

sudo apt-get install rsyslog-gnutls

Ho anche limitato la connessione syslog in uscita (tcp 514) in modo che i miei host possano connettersi solo al mio server rsyslog e ho creato una whitelist in entrata sul lato server rsyslog in modo che solo i miei host possano connettersi.

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

Sembra che la configurazione di syslog-ng sia ancora più semplice. (anche se non l'ho provato) 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/"))
    );
};
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.