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, dest=blah@foo.com, sender=blah@foo.com] 
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

Respostas:


10

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


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!


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

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

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

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.


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.


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, dest=blah@foo.com, sender=blah@foo.com] 

Para:

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

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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.