Как я могу настроить fail2ban для ведения журнала на внешнем сервере syslog?

Вопрос или проблема

Я управляю веб-сервером Ubuntu 16.04 (с установленным Webmin). У меня также есть Graylog, работающий на отдельном сервере в моей локальной сети.

Я хотел бы, чтобы fail2ban логировался как в /var/log/fail2ban.log, так и на мой внешний сервер syslog, но не уверен, как это сделать.

В конфигурационном файле fail2ban есть возможность изменить logtarget=/var/log/fail2ban.log на logtarget = SYSLOG, но не уверен, как перенаправить эти выводы на другой сервер.

Я полагаю, что по умолчанию Ubuntu использует rsyslog. Ознакомьтесь с опциями “imfile”, чтобы читать журналы fail2ban и настроить их перенаправление.

Смотрите аналогичный вопрос здесь для подробностей. Как перенаправить конкретный файл журнала из /var/log с помощью rsyslog на удалённый сервер?

Ответ или решение

Как отправлять логи fail2ban на внешний syslog сервер

Если вы управляете веб-сервером на Ubuntu 16.04 и хотите настраивать отправку логов fail2ban на внешний syslog сервер, такой как Graylog, вы можете следовать нижеприведенным шагам. Эта инструкция поможет вам правильно настроить вашу систему, с учетом того, что вы хотите, чтобы логи записывались как в локальный файл /var/log/fail2ban.log, так и на внешний сервер.

Шаг 1: Настройка fail2ban

Для начала необходимо убедиться, что fail2ban настроен правильно:

  1. Откройте конфигурационный файл fail2ban:

    sudo nano /etc/fail2ban/jail.local
  2. Найдите или добавьте строку, отвечающую за настройку логирования, и измените ее следующим образом:

    logtarget = SYSLOG

Шаг 2: Настройка rsyslog

Поскольку Ubuntu использует rsyslog по умолчанию, мы настроим его для передачи логов fail2ban на внешний syslog сервер.

  1. Откройте файл конфигурации rsyslog:

    sudo nano /etc/rsyslog.conf
  2. Добавьте следующую строку в конец файла, чтобы настроить отправку логов:

    *.* @IP_АДРЕС_СЕРВЕРА:514

    Замените IP_АДРЕС_СЕРВЕРА на IP-адрес вашего Graylog сервера. Порт по умолчанию для syslog — 514.

  3. Если вы хотите фильтровать только логи fail2ban, вы можете использовать следующую строку:

    if $programname == 'fail2ban-server' then @@IP_АДРЕС_СЕРВЕРА:514
  4. Чтобы включить поддержку UDP (если сервер принимает логи по UDP), добавьте @@, а для TCP используйте @.

Шаг 3: Перезапуск служб

После внесения изменений вам необходимо перезапустить службы fail2ban и rsyslog для применения новых настроек.

sudo systemctl restart fail2ban
sudo systemctl restart rsyslog

Шаг 4: Проверка логов

Для проверки того, что логи fail2ban успешно отправляются на ваш внешний сервер, можно использовать такие команды:

  1. На сервере с Graylog проверьте, поступают ли новые логи.
  2. На Ubuntu-сервере, где работает fail2ban, проверьте локальный файл логов:
    tail -f /var/log/fail2ban.log

Заключение

Следуя вышеописанным шагам, вы можете настроить свою систему так, чтобы fail2ban логировался как на локальный файл, так и на внешний syslog сервер, такой как Graylog. Убедитесь, что вы проверяете свои настройки и логи на предмет ошибок или предупреждений.

Эта инструкция обеспечит безопасность вашего сервера через эффективно управляемую систему логирования. Если у вас возникли дополнительные вопросы или проблемы, не стесняйтесь обращаться за поддержкой.

Оцените материал
Добавить комментарий

Капча загружается...