Como você configura Fail2ban para WordPress (WP-Login, XMLRPC)

Em resumo, neste tutorial, você encontrará as linhas de comando através das quais você pode instalar e configurar o Fail2Ban para o WordPress. Secure WordPress Authentication e XMLRPC.php Bross Ass.

Blogs e sites desenvolvidos na plataforma WordPress geralmente são alvos de ataque cibernético. A maioria dos ataques é do tipo de força bruta e está direcionando a sessão de autenticação ou a exploração do XML-RPC (chamada de procedimento remoto usando XML). Felizmente, Fail2Ban é uma solução de segurança muito útil para essas situações. Se você deseja proteger um site WordPress com Fail2Ban, siga as etapas de configuração deste tutorial.

Primeiro de tudo, verifique se você tem acesso ao servidor da Web por conexão SSH e se o aplicativo Fail2Ban está instalado.

Fail2ban Configuração do WordPress no Debian

1. Primeiro, você deve garantir que o aplicativo Fail2Ban esteja instalado e que esteja em execução no servidor. Execute a linha de comando abaixo:

systemctl status fail2ban

Na saída, você deve ver algo do formulário:

● fail2ban.service - Fail2Ban Service
     Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; preset: enabled)
     Active: active (running) since Tue 2025-03-11 00:39:32 EET; 6 days ago
       Docs: man:fail2ban(1)
   Main PID: 917 (fail2ban-server)
      Tasks: 17 (limit: 76843)
     Memory: 33.2M
        CPU: 17min 1.752s
     CGroup: /system.slice/fail2ban.service
             └─917 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

Se Fail2Ban não estiver instalado no servidor, você precisará instalá -lo. Execute a linha de pedidos para instalação Fail2ban no Debian / Ubuntu:

sudo apt install fail2ban

2. A próxima etapa é criar o filtro Fail2ban para o WordPress. Execute no terminal a linha de comando para criar e editar o filtro wordpress.conf.

sudo nano /etc/fail2ban/filter.d/wordpress.conf

No arquivo wordpress.conf Define filtros de autenticação do WordPress e autenticação de arquivo xmlrpc.php, do seguinte modo:

[Definition]
failregex = ^<HOST> -.*"(GET|POST).*(/wp-login.php|/xmlrpc.php).*" 200
ignoreregex =

Isso significa que por qualquer método, GET ou POST, seria acessado os arquivos wp-login.php ou xmlrpc.php, uma regra para Fail2Ban pode ser criada. A condição é que esses arquivos existem e podem ser acessados ​​pelo invasor. Isto é, devolver o código 200 (OK) para acessar.

Salva o arquivo /etc/fail2ban/filter.d/wordpress.conf.

3. O próximo passo é configurar “cadeia” para WordPress. Nesta etapa, a maioria dos usuários está confusa, porque as regras devem ser estabelecidas de maneira diferente, dependendo do sistema de gerenciamento de hospedagem (se existir) ou da configuração do servidor da Web.

Se você usar o Hestiacp, Vestacp ou Myvesta, crie e edite o arquivo /etc/fail2ban/jail.local.

nano /etc/fail2ban/jail.local

Adicione este arquivo as linhas abaixo:

[wordpress]
enabled  = true
port     = http,https
filter   = wordpress
logpath  = /var/log/nginx/domains/*.log #or apache2.
maxretry = 5
findtime = 1800
bantime  = 3600
action   = hestia[name=WEB] #hestacp action.

Ajuste os parâmetros acima de acordo com suas necessidades. Na configuração fornecida por mim, se, em 1800 minutos, houver 5 tentativas repetidas do mesmo IP, ele será bloqueado por 3600 minutos com a ajuda do Hestiacp da Web. (hestia[name=WEB]). Aqui você precisará ajudar de acordo com o sistema que possui no servidor.

Também é muito importante e “logpath“. A partir desses logs, são extraídos os dados com base nos quais a ação será executada. Verifique se a localização está correta.

Se você não possui um sistema de gerenciamento instalado, precisará da ação de bloquear os IPs com Fail2ban para o WordPress ser feito diretamente por iptables. A linha de ação será a seguinte:

action   = iptables-multiport[name=wordpress, port="80,443", protocol=tcp]

Como suporte, em vez de /etc/fail2ban/jail.local Você também pode usar um arquivo de configuração separado, como: /etc/fail2ban/jail.d/wordpress.conf.

Depois de fazer os ajustes, aplique as alterações.

sudo systemctl restart fail2ban

4. Após reiniciar, verifique se Fail2Ban for WordPress funciona:

fail2ban-client status wordpress
Status for the jail: wordpress
|- Filter
|  |- Currently failed:	355
|  |- Total failed:	33873
|  `- File list: (log files per domain)
- Actions
   |- Currently banned:	127
   |- Total banned:	680
   `- Banned IP list:

Depois de encontrar nesta lista bloqueou os IPs, verifique se eles estão bloqueados e em iptables. Eu conheci a situação que, devido à configuração errada, em Fail2ban para ver que é um IP bloqueado, mas na realidade ainda pode acessar wp-login.php ou xmlrpc.php.

Para verificar se tudo funciona corretamente, escolha um IP bloqueado na lista Fail2ban e procure -o em iptables.

Execute a linha de comando:

iptables -L -v -n --line-numbers

Se o IP que aparecer bloqueado pelo Fail2Ban também for encontrado nesta lista, isso significa que você configurou o Fail2Ban correto para o WordPress.

Relacionado: Como redefinir a senha do usuário do administrador no WordPress. Sem acesso ao e -mail.

Ao mesmo tempo, é muito aconselhável verificar o log com as ações Fail2ban:

sudo tail -f /var/log/fail2ban.log

Dito isto, se você tiver alguma preocupação ou precisar de ajuda, eles podem ajudá -lo nos comentários.

Apaixonado por tecnologia, escrevo com prazer no StealthSetts.com começando em 2006. Tenho uma rica experiência em sistemas operacionais: macOS, Windows e Linux, mas também em linguagens de programação e plataformas de blog (WordPress) e para lojas on -line (Woocommerce, Magento, Presashop).

Lar Sua fonte de tutoriais de TI, dicas e notícias úteis. Como você configura Fail2ban para WordPress (WP-Login, XMLRPC)
Deixe um comentário