Вопрос или проблема
Сейчас sshd использует функционал authpriv
. Уровень логирования хороший, но я не хочу, чтобы он попадал в syslog, я хочу, чтобы он отправлялся в /var/log/sshd
(который еще не существует) на Red Hat Linux/Enterprise Linux. authpriv
настроен на отправку в syslog через syslogd.conf
. Мне нужно изменить функционал на sshd на local2
(или любой другой неиспользуемый локальный), например, и затем направить local2
в /var/log/sshd
, или есть лучший способ?
Используя ryslog, вы можете настроить фильтр для перенаправления сообщений журнала:
if $syslogfacility-text == 'authpriv' and $programname == 'sshd' then
action(type="omfile" file="/var/log/sshd")
if $programname == 'sshd' then ~
Ответ или решение
Для решения задачи разделения логов SSHD от других логов, связанных с авторизацией (authpriv), и перенаправления их в отдельный файл /var/log/sshd
в Red Hat Linux / Enterprise Linux, необходимо произвести несколько шагов. Важность правильной настройки логирования нельзя недооценивать, так как она способствует лучшему анализу и мониторингу системы безопасности.
Шаг 1: Установка rSyslog (если еще не установлен)
Во-первых, убедитесь, что на вашем сервере установлен rSyslog, так как именно этот инструмент будет использоваться для настройки фильтров логирования. Для установки rSyslog выполните команду:
sudo yum install rsyslog
Шаг 2: Создание нового файла журнала
Далее, создайте новый файл журнала, который будет использоваться для хранения логов SSHD. Сделать это можно следующей командой:
sudo touch /var/log/sshd
Не забудьте задать правильные права на файл:
sudo chown root:root /var/log/sshd
sudo chmod 600 /var/log/sshd
Шаг 3: Изменение конфигурации rSyslog
Теперь необходимо изменить конфигурацию rSyslog для перенаправления сообщений от sshd. Откройте файл конфигурации rSyslog в текстовом редакторе:
sudo nano /etc/rsyslog.conf
Добавьте следующий блок кода в конец файла:
if $syslogfacility-text == 'authpriv' and $programname == 'sshd' then {
action(type="omfile" file="/var/log/sshd")
stop
}
Этот код фильтрует сообщения, относящиеся к SSHD, и направляет их в /var/log/sshd
. Команда stop
предотвращает дальнейшую обработку таких записей.
Шаг 4: Перенаправление других сообщений authpriv
Для того чтобы другие сообщения, относящиеся к authpriv
, оставались в стандартном журнале сообщений, убедитесь, что конфигурация rSyslog правильно настраивает их. Если они уже перенаправлены в /var/log/messages
, вы можете оставить существующие настройки без изменений.
Шаг 5: Перезапуск службы rSyslog
После изменения конфигурации необходимо перезапустить службу rSyslog, чтобы изменения вступили в силу:
sudo systemctl restart rsyslog
Шаг 6: Проверка настройки логирования
Для проверки корректной работы логирования можно выполнить попытку входа по SSH. После этого выполните команду:
sudo tail -f /var/log/sshd
Вы должны увидеть новые записи логов, связанные с входами и ошибками SSHD.
Заключение
Следуя вышеописанным шагам, вы сможете четко разделить логи SSHD и перенаправить их в отдельный файл. Это улучшит управляемость логов и упростит их анализ, что особенно важно в контексте обеспечения безопасности и мониторинга системы. Основные принципы настройки логирования следует продумать заранее, чтобы избежать путаницы в будущем и обеспечить точное отслеживание событий безопасности.