Я настроил Rsyslog с TLS на двух машинах Debian и настроил удаленное ведение журнала (log-server
, log-shipper
). Однако я получаю "искаженный" текст в журналах на сервере:
Oct 22 07:58:45 log-shipper.example.org #000��}̪��#0009#000k#000�#000�#000��|��#0003#000g#000E#000�#000#026#001#000#000J#000#027#000#000#000#026#000#000#000#005#000#005#001#000#000#000#000�#001#000#001#000#000##000#000
Oct 22 07:58:45 log-shipper.example.org #000#014
Oct 22 07:58:46 log-shipper.example.org #026#003#001#000�#001#000#000�#003#003[̓#006�: �Q#035�'Q#035�o#014�#001V<��[��|ng�[ܴ#000#000r�,��̩���
В основном я следил за документами Rsyslog Вот, а также следил за другими руководствами в Интернете, но результат всегда один и тот же.
Потратив на это 2 дня, у меня нет идей. У кого-нибудь есть подсказка или тоже есть опыт?
Конфигурация сервера:
$ModLoad imtcp # TCP listener
# make gtls driver the default
$DefaultNetstreamDriver gtls
# certificate files
$DefaultNetstreamDriverCAFile /etc/ssl/certs/ca-cert.pem
$DefaultNetstreamDriverCertFile /etc/ssl/certs/server-cert.pem
$DefaultNetstreamDriverKeyFile /etc/ssl/certs/server-key.pem
$InputTCPServerStreamDriverMode 1 # run driver in TLS-only mode
$InputTCPServerStreamDriverAuthMode anon
$InputTCPServerRun 5822 # start up listener at port 5822
Конфигурация клиента:
# make gtls driver the default
$DefaultNetstreamDriver gtls
# certificate files
$DefaultNetstreamDriverCAFile /var/tmp/ca.pem
$DefaultNetstreamDriverCertFile /var/tmp/storage1-cert.pem
$DefaultNetstreamDriverKeyFile /var/tmp/storage1-key.pem
$ActionSendStreamDriverAuthMode anon
$ActionSendStreamDriverMode 1 # run driver in TLS-only mode
*.* @@(o)log-server.example.org:5822 # forward everything to remote server
Для Ubuntu 18.04 я использовал следующий синтаксис:
$DefaultNetstreamDriverCAFile /etc/ssl/certs/ca-cert.pem
$DefaultNetstreamDriverCertFile /etc/ssl/certs/server-cert.pem
$DefaultNetstreamDriverKeyFile /etc/ssl/certs/server-key.pem
# provides TCP syslog reception with encryption (TLS)
module(load="imtcp" StreamDriver.Name="gtls" StreamDriver.Mode="1" StreamDriver.AuthMode="anon")
input(type="imtcp" port="6514" )
Обычно я комментирую, но в этом сообществе недостаточно репутации. Я видел подобный искаженный текст раньше, когда выполнял сканирование сервера по протоколу NMAP и просматривал результаты в системном журнале. Кто-то опубликовал более длинный фрагмент атаки:
Пожалуйста, посмотрите, отражают ли журналы эту атаку.
Я также заметил при настройке регистрации на сервере Rsyslog включение #014
(т.е. когда я настроил преобразование событий Windows EventLog в сервер Rsyslog), но без искаженного текста. Когда я переключился на другой формат системного журнала (т.е. получение журналов в формате системного журнала BSD), я больше не получал #014
персонаж. Вы можете рассмотреть возможность использования другого программного обеспечения для сбора журналов, такого как NXLog, чтобы собирать и централизовать сбор журналов.
Обычно это означает, что с шифрованием что-то не так, проверьте, что syslog
говорит, когда rsyslog
служба запускается, если она на что-то жалуется. Помимо этого, как вы настраивали центр сертификации, ведь это самая сложная часть всей настройки? Кроме того, ваш $DefaultNetstreamDriverCAFile
одинаковые на обоих серверах?