Назад | Перейти на главную страницу

Остановить уведомления об остановке / запуске fail2ban

Если сервер перезагружен, или даже если fail2ban остановлен / запущен, он отправляет уведомление.

[asterisk-iptables]
enabled  = true
filter   = asterisk
action   = iptables-allports[name=ASTERISK, protocol=all]
           sendmail-whois[name=ASTERISK, dest=blah@foo.com, sender=blah@foo.com] 
logpath  = /var/log/asterisk/messages
maxretry = 5
bantime = 259200

Удаление sendmail-whois останавливает его, но также останавливает уведомления о запрете, как я могу заставить его перестать уведомлять меня, когда процесс запускается / останавливается?

Спасибо

Взгляните на action.d/mail.conf или action.d/sendmail.conf которые управляют почтой на запуск / остановку / бан.

Чтобы исправить это в Fail2Ban v0.9.1 (из репозитория epel) в CentOS 7 (RHEL 7), вы можете переопределить действия запуска и остановки sendmail (установить для них нулевое значение) в /etc/fail2ban/action.d/sendmail-common. местный. Я создаю этот файл, выполнив эти команды от имени пользователя root:

cat << EOF >> /etc/fail2ban/action.d/sendmail-common.local
# Override the Fail2Ban defaults in sendmail-common.conf with these entries

[Definition]
# Disable email notifications of jails stopping or starting
actionstart =
actionstop =
EOF
cat /etc/fail2ban/action.d/sendmail-common.local

Не обязательно исправлять это в каком-либо файле. Это зависит от вашей конфигурации в jail.conf.

Если вы настроили mta = sendmail, вы можете сузить файлы action.d/sendmail-*.

Тогда вы должны посмотреть на свой action = %(action_*)s. Если вы настроили

"action_": комментарий "actionstart" и "actionstop" в action.d /Отправить почту.conf

"action_mw": комментарий ... в действии.d /Отправить почту-whois.conf

"action_mwl": комментарий ... в действии.d /Отправить почту-whois-lines.conf

Если вы настроили mta на "почту", то просто измените Отправить почту к почта и настройте конкретный файл.

Не забудьте перезапустить после комментирования файла!

Я нашел единственный способ отключить уведомления о запуске / остановке - это закомментировать actionstart и actionstop разделы в все этих файлов в action.d/:

mail-buffered.conf
mail.conf
mail-whois.conf
mail-whois-lines.conf
sendmail-buffered.conf
sendmail.conf
sendmail-whois.conf
sendmail-whois-lines.conf

Пытаюсь собрать воедино по кусочкам предыдущих ответов, с некоторыми подробностями и длинными командами для ленивых.

Ваш jail.{conf,local} определяет, как отправляются письма. По умолчанию это sendmail. Проверить с:

grep 'mta *=' jail.{conf,local}

Чтобы узнать, какие действия запуска / остановки настроены для ваших тюрем, используйте fail2ban-client -d.

Собираем оба вместе:

mta=$(grep 'mta *=' /etc/fail2ban/jail.{conf,local} | awk '{print $NF}')
fail2ban-client -d | awk "/action(start|stop).*$mta/ {print \$4}" | sort -u

В моей конфигурации вывод 'sendmail-whois-lines', так что это файл для редактирования. Предполагая, что ваша конфигурация находится в / etc / fail2ban, полное имя файла /etc/fail2ban/action.d/sendmail-whois-lines.conf.

Однако, как упоминает Рабин, не редактируйте этот файл напрямую, потому что он будет перезаписан во время обновлений. Вместо этого создайте /etc/fail2ban/action.d/sendmail-whois-lines.local (или что-то еще action.d/file-name.local прямо в вашей конфигурации) и добавьте эти строки:

[Definition]
actionstart =
actionstop  =

Или для действительно ленивых людей, которым не нужно искать и создавать нужный файл:

mta=$(grep 'mta *=' /etc/fail2ban/jail.{conf,local} | awk '{print $NF}')
fail2ban-client -d \
| awk "/action(start|stop).*$mta/ {print \$4}" \
| sort -u \
| while read f; do \
    f=${f//\'/}
    f="/etc/fail2ban/action.d/${f/%,/}.local"
    cat <<EOF >>"$f"
[Definition]
actionstart =
actionstop  =
EOF
done

Переопределить определения actionstart и actionstop в /etc/fail2ban/action.d/sendmail-common.conf создав файл /etc/fail2ban/action.d/sendmail-common.local.

Добавьте в этот файл приведенный ниже текст

[Definition]
actionstart =
actionstop =

Теперь вы не получаете почту при запуске / остановке службы fail2ban.

Я нашел простой и быстрый способ сделать это:

cd в ваш /etc/fail2ban/action.d каталог.

Затем просто замените каждый оператор actionstart своим собственным, который для меня был пустым.

for FILE in *mail* ; do echo -e "actionstart =\nactionstop =\n" >> $FILE ; done

Это добавит новый раздел actionstart и actionstop к каждому отправляемому по почте файлу.

1 линия, работа сделана.

я не рекомендую изменить файлы по умолчанию, которые поставляются с пакетом (как некоторые предлагают здесь), они будут перезаписаны при следующем обновлении.

Просто скопируйте действие, которое вы используете в этом случае sendmail-whois в новый файл, назовите его как хотите, например sendmail-mod и в этом файле вам нужно закомментировать (или удалить) части actionstart / actionstop.

Затем измените действие в файле конфигурации (jail.conf / jail.local), чтобы использовать новое действие.

Из:

action   = iptables-allports[name=ASTERISK, protocol=all]
           sendmail-whois[name=ASTERISK, dest=blah@foo.com, sender=blah@foo.com] 

Кому:

action   = iptables-allports[name=ASTERISK, protocol=all]
           sendmail-mod[name=ASTERISK, dest=blah@foo.com, sender=blah@foo.com] 

Во-первых, как упоминали некоторые люди, кажется, лучше создать файл «.local» и внести в него изменения, чем редактировать исходный файл «.conf», который может быть переопределен в будущих обновлениях.

Итог, на основе этой отличной ссылки: http://tonesworld.co.uk/fail2ban-disable-stop-and-start-emails/, Я сделал следующие шаги, и проблема была решена:

1. Создайте новый файл и отредактируйте его:

sudo nano /etc/fail2ban/action.d/stop-start.local

2. Вставьте внутрь (затем выйдите и сохраните):

[Definition]

actionstart =

actionstop =

3. Если fail2ban использует "почту" для отправки писем:

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/mail-buffered.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/mail-whois-common.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/mail-whois-lines.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/mail-whois.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/mail.local

Если fail2ban использует sendmail для отправки писем:

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-buffered.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-common.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-geoip-lines.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-whois-ipjailmatches.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-whois-ipmatches.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-whois-lines.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-whois-matches.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-whois.local

sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail.local

4. Перезагрузите, чтобы применить изменения:

sudo service fail2ban restart

Заключительное примечание: В первый раз после применения этих изменений вы все равно будете видеть сообщения «стоп», потому что новые изменения еще не применяются.

Это мое решение, которое стоит того, создайте файл bash и запустите его:

#!/bin/bash
echo Start ...
BASE_PATH="/etc/fail2ban/action.d/"
FILES="${BASE_PATH}mail-buffered.conf
${BASE_PATH}mail.conf
${BASE_PATH}mail-whois.conf
${BASE_PATH}mail-whois-lines.conf
${BASE_PATH}sendmail-buffered.conf
${BASE_PATH}sendmail.conf
${BASE_PATH}sendmail-whois.conf
${BASE_PATH}sendmail-whois-lines.conf"
echo $FILES
for f in $FILES
    do
        temp1=${f}.temp1
        awk '/^[^   ]/ { comment=0 }
             /^actionstart/ { comment=1 } 
             comment {$0 = "#" $0}
             { print }' $f > $temp1 && mv -f $temp1 $f || rm -f $temp1
        temp2=${f}.temp2
        awk '/^[^   ]/ { comment=0 }
             /^actionstop/ { comment=1 } 
             comment {$0 = "#" $0}
             { print }' $f > $temp2 && mv -f $temp2 $f || rm -f $temp2
    done

Первая часть кода определяет список файлов, которые вы хотите изменить, вторая половина в основном комментирует эти разделы с помощью awk команда.

Это можно было сделать в однострочном коде / команде, которая перебирает все файлы и перебирает слова, но я постарался сделать это как можно более ясным.

Это зависит от нескольких вещей:

  1. В mta указано в /etc/fail2ban/jail.local. Обратите внимание, если у вас есть sendmail или mail. По умолчанию - sendmail.

  2. Значение переменной "действие" в /etc/fail2ban/jail.local. У вас может быть одно из этих значений в зависимости от информации, которую вы хотите получать по почте:

    действие_, действие_mw, действие_mwl, действие_xarf, действие_cf_mwl ...

Каждый из вариантов объясняется в самом файле. В моем случае у меня action =% (aciton_mwl) s. По умолчанию это действие_ Запишите значение.

В зависимости от того, какой у вас mta sendmail или mail, вы должны посмотреть файлы в / etc / fail2ban / actions / sendmail * или / etc / fail2ban / actions / mail *

В зависимости от значения «действия» вы должны редактировать тот или иной файл. Например, если у меня mta = mail и action =% (action_) s, я должен отредактировать mail.conf. Если у меня mta = mail и action =% (action_mwl) s, я должен отредактировать mail-whois-lines.conf. Если у меня mta = sendmail и action =% (action_mw) s, я должен отредактировать sendmail-whois.conf

В файле я изменяю значение actionstart и actionstop на

actionstart = 
actionstop =