मैं ts के साथ rsyslog का उपयोग कर रहा हूं। स्कोप प्रीप वर्क में से कुछ है: एक स्थानीय सीए को नियुक्त करें, प्रत्येक मेजबान के लिए सीए का प्रमाण पत्र जोड़ें, प्रत्येक मेजबान के लिए अलग-अलग सेर उत्पन्न करें। (अब आपके सभी मेजबान एक दूसरे से ssl बात कर सकते हैं)
मुझे rsyslog-gnutls स्थापित करने की आवश्यकता है:
sudo apt-get install rsyslog-gnutls
मैंने आउटगोइंग syslog कनेक्शन (tcp 514) को भी प्रतिबंधित कर दिया है, इसलिए मेरे होस्ट केवल मेरे rsyslog सर्वर से कनेक्ट कर सकते हैं, और rsyslog सर्वर साइड पर आने वाले श्वेतसूची का निर्माण किया है ताकि केवल मेरे होस्ट कनेक्ट हो सकें।
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
ऐसा लगता है कि syslog- एनजी के लिए कॉन्फ़िगरेशन और भी आसान है। (हालांकि मैंने यह कोशिश नहीं की है) 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/"))
);
};