تنظیمات سمت سرور rsyslog
- ابتدا بستهی زیر را نصب نمایید.
# apt-get install rsyslog-gnutls
- پوشهی زیر را ایجاد نمایید.
# mkdir -p /etc/rsyslog.d/ssl # cd /etc/rsyslog.d/ssl
- به صورت زیر اقدام به ساخت کلیدها نمایید.
# openssl genrsa -out CA-key.pem 4096 # openssl req -x509 -new -nodes -key CA-key.pem -sha256 -days 3650 -out CA-cert.pem # openssl genrsa -out server-key.pem 4096 # openssl req -new -sha256 -key server-key.pem -out server-csr.pem # openssl x509 -req -in server-csr.pem -CA CA-cert.pem -CAkey CA-key.pem -CAcreateserial -out server-cert.pem -days 3650 -sha256 # rm server-csr.pem
- برای پوشهی ssl سطح دسترسی دلخواه در نظر بگیرید.
# chmod -R 777 /etc/rsyslog.d/ssl
- پروندهی زیر را ایجاد نمایید.
# vim /etc/rsyslog.d/00-config.conf
- محتویات زیر را برای آن در نظر بگیرید.
# load tcp listener
$ModLoad imtcp
# make gtls driver the default
$DefaultNetstreamDriver gtls
# certificate files
$DefaultNetstreamDriverCAFile /etc/rsyslog.d/ssl/CA-cert.pem
$DefaultNetstreamDriverCertFile /etc/rsyslog.d/ssl/server-cert.pem
$DefaultNetstreamDriverKeyFile /etc/rsyslog.d/ssl/server-key.pem
$InputTCPServerStreamDriverMode 1
$InputTCPServerStreamDriverAuthMode anon
$InputTCPServerRun 10514
- سرویس rsyslog را راهاندازی مجدد نمایید.
# systemctl restart rsyslog
- لاگها را به صورت همزمان مشاهده نمایید.
# journalctl -f -n 0
- نکته : در صورتی که سرویس بالا را بر روی کانتینر LXD راهاندازی میکنید، نیاز است قابلیت privileged برای کانتینر فعال باشد. برای این منظور به این مستند مراجعه نمایید.
- نکته : مراحل سرور بر روی Ubuntu Focal تست شده است.
تنظیمات سمت کلاینت
- ابتدا بستهی زیر را نصب نمایید.
# apt-get install rsyslog-gnutls
- پوشهی زیر را ایجاد نمایید.
# mkdir -p /etc/rsyslog.d/ssl # cd /etc/rsyslog.d/ssl
- کلید مورد نیاز را از سرور دریافت نمایید.
# scp root@rsyslog-server.homayouni.local:/etc/rsyslog.d/ssl/CA-cert.pem .
- برای پوشهی ssl سطح دسترسی دلخواه در نظر بگیرید.
# chmod -R 777 /etc/rsyslog.d/ssl
- پروندهی زیر را ایجاد نمایید.
# vim /etc/rsyslog.d/00-config.conf
- محتویات زیر را برای آن در نظر بگیرید.
# certificate files
$DefaultNetstreamDriverCAFile /etc/rsyslog.d/ssl/CA-cert.pem
$ActionSendStreamDriver gtls
$ActionSendStreamDriverMode 1
$ActionSendStreamDriverAuthMode anon
# send all messages to remote syslog server with tls
*.* @@rsyslog.homayouni.local:10514
- سرویس rsyslog را راهاندازی مجدد نمایید.
# systemctl restart rsyslog
- لاگها را به صورت همزمان مشاهده نمایید.
# journalctl -f -n 0
- نکته : مراحل کلاینت بر روی Ubuntu Xenial تست شده است.
- مطالعهی بیشتر در این خصوص در اینجا