Parar fail2ban parar / iniciar notificações

14

Se o servidor for reiniciado, ou mesmo se fail2ban estiver parado / iniciar, ele enviará uma notificação.

[asterisk-iptables]
enabled  = true
filter   = asterisk
action   = iptables-allports[name=ASTERISK, protocol=all]
           sendmail-whois[name=ASTERISK, [email protected], [email protected]] 
logpath  = /var/log/asterisk/messages
maxretry = 5
bantime = 259200

A remoção do sendmail-whois o interrompe, mas também interrompe as notificações de proibição. Como posso interromper a notificação quando o processo é iniciado / interrompido?

obrigado

Michael
fonte

Respostas:

10

Dê uma olhada no action.d/mail.confou action.d/sendmail.confque controla o correio para iniciar / parar / banir.

user9517
fonte
isso não faz o truque. Eu acho que existem alguns outros arquivos para editar, porque eu continuo recebendo este e-mail chato :(
Kreker
@Kreker Funcionou para mim e para o OP, provavelmente por isso o marcou como aceito. Se isso não funcionar para você, talvez você tenha uma configuração diferente ou tenha configurado algo errado?
User9517 9/12/12
Na configuração do fail2ban, estou usando o sendmail como mta para carregar o action.d / sendmail.conf. Eu tenho uma instalação normal do apt-get
Kreker
9

Não é necessário corrigir isso em nenhum arquivo. Depende da sua configuração no jail.conf.

Se você configurou mta = sendmail, poderá restringir os arquivos action.d/sendmail-*.

Então você tem que olhar para o seu action = %(action_*)s. Se você configurou

"action_": comente "actionstart" e "actionstop" em action.d / sendmail .conf

"action_mw": comentário ... em action.d / sendmail -whois.conf

"action_mwl": comentário ... em action.d / sendmail -whois-lines.conf

Se você configurou o mta para "mail", basta alterar sendmail para mail e configurar o arquivo específico.

Não se esqueça de reiniciar depois de comentar o arquivo!

boesing
fonte
Então, qual arquivo devo editar? .confou .local? Mas talvez eu não entenda porque essa resposta é muito antiga. A resposta de Jim funciona em 2019.
Jack Miller
9

Para corrigir isso no Fail2Ban v0.9.1 (do repositório epel) no CentOS 7 (RHEL 7), você pode substituir as ações de início e parada do sendmail (configurá-las para nada) em /etc/fail2ban/action.d/sendmail-common. local. Eu crio este arquivo executando estes comandos como 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
Jim
fonte
Na verdade, isso não ajuda a resolver o problema, pois a .localvariante será carregada após o .confarquivo, mas ambas ainda serão carregadas antes das definições nos (send)mail-*.confarquivos que configuram as ações. Não há outra maneira senão editar os arquivos de ação, sendo o mais limpo / mais minimalista adicionar um aftergancho nos arquivos que apontam para a mesma inclusão. Cf. osso.nl/blog/fail2ban-started-e-mail-disable . Você também pode duplicar todos esses arquivos e criar uma outra ramificação completa, ou seja custommail-*.conf, que evite modificar os arquivos padrão.
Bernard Rosset
No centOS7, esse foi o único conselho que realmente ajudou. com certeza, a próxima reinicialização fail2ban ainda acionará a (s) notificação (ões) das prisões de parada, mas não a (s) inicial (is). Em seguida, o novo conf é carregado e, portanto, nem as notificações de parada serão acionadas novamente #
lese
1
@BernardRosset Isso realmente funciona, mas requer fail2ban 0.9 ou superior e alguém não modificou os arquivos de configuração enviados e limitou suas alterações aos .localarquivos. Tudo em 0,9 pode ser substituído nos .localarquivos, mas isso não era verdade no 0.8 e versões anteriores.
Michael Hampton
Essa é a resposta correta. Certamente precisa votar!
Jack Miller
7

A única maneira que encontrei para desativar as notificações de início / parada foi comentar as seções actionstarte actionstopem todos esses arquivos em 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
chronon
fonte
3

Tentando reunir os trechos das respostas anteriores, com mais alguns detalhes e comandos longos para os preguiçosos.

Seu jail.{conf,local}define como os e-mails são enviados. Por padrão, é sendmail. Verificar com:

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

Para ver quais ações de início / parada estão configuradas para suas cadeias, use fail2ban-client -d.

Colocando os dois juntos:

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

Na minha configuração, a saída é 'sendmail-whois-lines',para que seja o arquivo a editar. Supondo que sua configuração esteja em / etc / fail2ban, o nome completo do arquivo é /etc/fail2ban/action.d/sendmail-whois-lines.conf.

No entanto, como Rabin menciona, não edite esse arquivo diretamente, pois ele será substituído durante as atualizações. Em vez disso, crie /etc/fail2ban/action.d/sendmail-whois-lines.local(ou o que action.d/file-name.localestiver certo na sua configuração) e adicione estas linhas:

[Definition]
actionstart =
actionstop  =

Ou, para os realmente preguiçosos que não podem se preocupar em procurar e criar o arquivo certo:

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
mivk
fonte
1

Substitua as definições actionstart e actionstop /etc/fail2ban/action.d/sendmail-common.confcriando um arquivo /etc/fail2ban/action.d/sendmail-common.local.

Adicione o texto abaixo a este arquivo

[Definition]
actionstart =
actionstop =

Agora você não está recebendo nenhum email na inicialização / parada do serviço fail2ban.

BJ de Jong
fonte
Vale ressaltar que você precisa se certificar de que as permissões estejam definidas corretamente no arquivo (isto é, de 0644propriedade de root). Isso me mordeu hoje.
Pezholio 27/09/17
0

Encontrei uma maneira rápida e fácil de fazer isso:

cdno seu /etc/fail2ban/action.ddiretório.

Em seguida, simplesmente substitua cada instrução do início da ação com a sua, que para mim estava em branco.

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

Isso acrescentará uma nova seção de ação e início de ação a cada arquivo enviado.

1 linha, trabalho feito.

Peter Hubberstey
fonte
0

Eu não recomendo mudar os arquivos padrão que vem com o pacote (como alguns sugeriram aqui), eles serão substituídos próxima vez que você atualizá-los.

Apenas copie a ação que você está usando nesse caso sendmail-whoispara um novo arquivo, nomeie como quiser, por exemplo, sendmail-mode neste arquivo você precisará comentar (ou excluir) as partes actionstart / actionstop.

Em seguida, altere a ação no arquivo de configuração (jail.conf / jail.local), para usar a nova ação.

A partir de:

action   = iptables-allports[name=ASTERISK, protocol=all]
           sendmail-whois[name=ASTERISK, [email protected], [email protected]] 

Para:

action   = iptables-allports[name=ASTERISK, protocol=all]
           sendmail-mod[name=ASTERISK, [email protected], [email protected]] 
Rabin
fonte
0

Primeiro, como algumas pessoas mencionaram, parece melhor criar um arquivo ".local" e fazer as alterações nele, do que editar o arquivo ".conf" original, que poderá ser substituído em futuras atualizações.

Resumindo, com base neste excelente link: http://tonesworld.co.uk/fail2ban-disable-stop-and-start-emails/ , executei as seguintes etapas e resolveu o problema:

1. Crie um novo arquivo e edite-o:

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

2. Cole dentro (depois saia e salve):

[Definition]

actionstart =

actionstop =

3. Se fail2ban usa "mail" para enviar emails:

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

Se fail2ban usa "sendmail" para enviar e-mails:

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. Reinicie para aplicar as alterações:

sudo service fail2ban restart

Nota final: na primeira vez após a aplicação dessas alterações, você ainda verá as mensagens "parar", porque as novas alterações ainda não foram aplicadas.

TheNG
fonte
0

Esta é a minha solução para o que vale, crie um arquivo bash e execute-o:

#!/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

A primeira parte do código define uma lista de arquivos que você deseja alterar, a segunda metade basicamente comentando essas seções usando o comando awk .

Isso poderia ser feito em um código / comando de linha que itera todos os arquivos e loops sobre as palavras, mas tentei deixar o mais claro possível.

malloc
fonte