Зупинити сповіщення про відмову від заборони2 / запуск


15

Якщо сервер перезавантажений або навіть якщо 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 зупиняє його, але воно також зупиняє сповіщення про заборону, як я можу змусити його перестати повідомляти мене, коли процес починається / зупиняється?

Спасибі

Відповіді:


10

Погляньте на action.d/mail.confабо, action.d/sendmail.confякі контролюють пошту для запуску / зупинки / заборони.


це не робить фокус. Я думаю, що є деякі інші файли для редагування, тому що я продовжую отримувати це докучливе повідомлення електронною поштою :(
Kreker

@Kreker Це працювало для мене і ОП, імовірно, саме тому вони позначили його як прийняте. Якщо це не працює для вас, можливо, у вас інша конфігурація або ви щось неправильно налаштували?
користувач9517

У конфігурації fail2ban я використовую sendmail як mta, щоб він завантажив action.d / sendmail.conf. У мене нормальна установка з apt-get
Крекер

9

Це не потрібно виправляти в жодному файлі. Це залежить від вашої конфігурації в jail.conf.

Якщо ви налаштували mta = sendmail, ви можете звузити файли action.d/sendmail-*.

Тоді ви повинні подивитися на своє action = %(action_*)s. Якщо ви налаштували

"action_": коментар "actionstart" & "actionstop" у action.d / sendmail .conf

"action_mw": коментар ... у action.d / sendmail -whois.conf

"action_mwl": коментар ... у action.d / sendmail -whois -lines.conf

Якщо ви налаштували mta на "пошту", то просто змініть sendmail на пошту та налаштуйте конкретний файл.

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


Отже, який файл я повинен редагувати? .confабо .local? Але, можливо, я просто не розумію, бо ця відповідь така стара. Відповідь Джима працює у 2019 році.
Джек Міллер

9

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

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

Це насправді не допомагає вирішити проблему, оскільки .localваріант буде завантажений після .confфайлу, але обидва все ще завантажуватимуться перед визначеннями у (send)mail-*.confфайлах, що налаштовують дії. Немає іншого способу, як редагувати файли дій, найчистіший / мінімалістичний - додавати afterгачок у ті файли, що вказують на те саме, що включають. Ср. osso.nl/blog/fail2ban-started-e-mail-disable . Ви також можете скопіювати всі ці файли та створити повну іншу гілку, тобто custommail-*.conf, що дозволяє уникнути зміни файлів за замовчуванням.
Бернард Россет

У centOS7 це була єдина порада, яка насправді допомогла. впевнений, що наступний перезапуск fail2ban все ще спричинить сповіщення про зупинки в'язниць, але не початкове. Тоді завантажується нова конф., І тому сповіщення про зупинку знову не спрацьовуватимуть
орендуйте

1
@BernardRosset Це дійсно працює, але він вимагає fail2ban 0,9 або новішої версії, і хтось не змінив відвантажені файли конфігурації та обмежив їх зміни .localфайлами. Все, що знаходиться в 0.9, може бути замінено з .localфайлів, але це не було правдою в 0,8 та попередньому.
Майкл Хемптон

Це правильна відповідь. Це звичайно потребує голосування!
Джек Міллер

7

Єдиний спосіб, коли я виявив відключення сповіщень про початок / зупинку, - це прокоментувати розділи actionstartта всі ці файли в :actionstopaction.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

3

Намагаючись зібрати шматочки та фрагменти попередніх відповідей, ще трохи деталей та довгих команд для ледачих.

Ви 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

1

Заміняйте визначення дії startsta та actionstop /etc/fail2ban/action.d/sendmail-common.conf, створивши файл /etc/fail2ban/action.d/sendmail-common.local.

Додайте текст у цей файл нижче

[Definition]
actionstart =
actionstop =

Тепер ви не отримуєте жодної пошти при запуску / зупинці послуги fail2ban.


Варто зазначити, що вам потрібно переконатися, що дозволи правильно встановлені у файлі (тобто 0644належать root). Це мене сьогодні покусало.
Пежоліо

0

Я знайшов швидкий і простий спосіб зробити це:

cdу свій /etc/fail2ban/action.dкаталог.

Потім просто замініть кожну операцію startstart своєю власною, яка для мене була порожньою.

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

Це додасть новий розділ старту дій та зупинки дій до кожного файлу, який надсилається поштою.

1 рядок, виконана робота.


0

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

Просто скопіюйте дію, яку ви використовуєте в цьому випадку, 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] 

0

По-перше, як згадували деякі люди, здається, що краще створити ".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

Заключна примітка. Уперше після застосування цих змін ви все одно побачите повідомлення "стоп", оскільки нові зміни ще не застосовуються.


0

Це моє рішення щодо того, чого воно варто, Створіть файл 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 .

Це можна зробити за допомогою одного коду / команди рядка, який повторює всі файли та петлі над словами, але я намагався зробити це максимально зрозумілим.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.