# Registrar tentativas de login inválidas para Fail2ban e ação do servidor upstream

**URL:** <https://meta.discourse.org/t/log-invalid-login-attempts-for-fail2ban-and-upstream-server-action/171884>\
**Category:** Feature\
**Created:** [1 Dezembro , 2020 15:33 UTC](https://meta.discourse.org/t/log-invalid-login-attempts-for-fail2ban-and-upstream-server-action/171884 "2020-12-01T15:33:38Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![jieiku](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jieiku/32/201699_2.png) [@jieiku](https://meta.discourse.org/u/jieiku)\
**Post date:** [1 Dezembro , 2020 15:33 UTC](https://meta.discourse.org/t/log-invalid-login-attempts-for-fail2ban-and-upstream-server-action/171884/1 "2020-12-01T15:33:38Z")

</div>

Eu esperava que o Discourse pudesse registrar tentativas de login inválidas em um arquivo, mesmo que fosse algo que você precisasse configurar para fazer. Assim, eu poderia criar um filtro e um jail personalizados para o Discourse.

Eu uso um servidor fail2ban centralizado. O funcionamento é o seguinte: todos os meus Containers, imagens Docker e VMs têm uma ação de banimento personalizada:

No fail2ban, você especifica a ação a ser tomada no seu jail, por exemplo:  
`action = iptables-allports`

Depois, tudo o que você precisa fazer é editar essa ação:  
`sudo nano /etc/fail2ban/action.d/iptables-allports.conf`

```
actionban = <iptables> -I f2b-<name> 1 -s <ip> -j <blocktype>
      curl -s "https://fail2ban.SuaDominio.com:35553/fail2ban.php?token=D2f3Ydy45f6y5FRTfyeFrtYErt&action=add&source=TEST_HOST&reason=TEST_FILTER&ip=111.222.333.444"

```

Com essa configuração, seu container/docker/VM aplicará o fail2ban localmente, mas também repassará essas informações para o seu servidor fail2ban central. O servidor central também pode pegar todos os IPs coletados e disponibilizá-los como uma lista de banimento em texto, por exemplo: [https://fail2ban.SuaDominio.com/banned.txt](https://fail2ban.SuaDominio.com/banned.txt)

Daí, você pode fazer com que seu firewall pfSense assine essa lista de banimento, e até mesmo compartilhar a lista com outros roteadores pfSense. Assim, se alguém tentar invadir um aplicativo, será banido de tudo. Isso funcionou muito bem para mim há anos.

E tudo o que preciso para implementar isso no Discourse é que o Discourse escreva uma entrada em um arquivo de log quando houver uma tentativa de login inválida 🙂

---

_[View the full topic](https://meta.discourse.org/t/log-invalid-login-attempts-for-fail2ban-and-upstream-server-action/171884)._
