22 votes

Comment envoyer syslog de manière *sécurisée* sur l'Internet public ?

J'ai donc quelques serveurs dont j'aimerais centraliser l'enregistrement, mais je ne veux évidemment pas transmettre les données de manière non sécurisée sur Internet.

J'ai essayé syslog-ng mais je n'arrive pas à le faire fonctionner de manière sécurisée, un système normal ssh -L PORT:localhost:PORT user@host Le tunnel SSH ne fonctionnera pas car je crois que cela fait apparaître les journaux comme provenant de la machine locale, et un VPN semble un peu exagéré.

2voto

jorfus Points 705

J'utilise rsyslog avec tls. Il y a quelques travaux préparatoires hors de portée : Déployer une AC locale, ajouter le certificat de l'AC à chaque hôte, générer des certificats individuels pour chaque hôte. (maintenant tous vos hôtes peuvent parler ssl entre eux)

J'ai également dû installer rsyslog-gnutls :

sudo apt-get install rsyslog-gnutls

J'ai également restreint la connexion syslog sortante (tcp 514) afin que mes hôtes puissent uniquement se connecter à mon serveur rsyslog, et j'ai créé une liste blanche entrante du côté du serveur rsyslog afin que seuls mes hôtes puissent se connecter.

dans /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

Il semble que la configuration de syslog-ng soit encore plus simple. (bien que je n'aie pas essayé) 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/"))
    );
};

1voto

Soldarnal Points 2646

Utilisez syslog-ng ou un autre démon syslog qui prend en charge TCP.

Envoyez les données sur un tunnel crypté. N'utilisez pas un tunnel ssh, c'est trop compliqué.

Le syslog UDP est un protocole historique malmené qui aurait dû être éliminé il y a longtemps. Si votre fournisseur le propose par défaut, appuyez vous sur lui.

Si votre fournisseur ne propose pas une solution syslog qui signe chaque message avant de l'envoyer, appuyez-vous sur lui.

Le logiciel est simple, les algorithmes sont simples. La politique pour qu'il soit installé par défaut ne l'est pas.

1 votes

Le syslog UDP présente certains avantages lorsqu'il s'agit de ne pas provoquer de pannes si la destination tombe en panne pendant de longues périodes. Ce n'est pas un gros problème avec syslog-ng, mais cela peut être un cauchemar avec rsyslog. Je ne remets pas en cause la valeur du cryptage en disant cela.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X