Segurança · 4 min read · Jan 02, 2026
Configurando fail2ban Com SquirrelMail No CentOS 5.3/ISPConfig 3
Configurando fail2ban Com SquirrelMail No CentOS 5.3/ISPConfig 3
Introdução
Este tutorial mostra como você pode prevenir tentativas de login ilimitadas e, portanto, ataques de força bruta contra seu login Web do SquirrelMail usando fail2ban.
1. Requisitos
Certifique-se de que tanto fail2ban quanto SquirrelMail estão instalados em uma máquina CentOS v5.3/ISPConfig 3 detalhada aqui.
No entanto, a instalação é simples:
yum install fail2ban squirrelmailVocê deve estar usando ativamente iptables como seu firewall. O Fail2ban funciona criando uma regra de bloqueio temporária para o endereço IP de origem não autorizado.
2. Configuração de log do SquirrelMail
O SquirrelMail (imapd) sob CentOS v5.3/ISPConfig 3, por padrão, registra em /var/log/maillog, mas apenas como endereço IP 127.0.0.1 (localhost). Como estamos tentando banir um endereço de origem específico, o fail2ban não pode usar este arquivo. Portanto, instalamos e usamos o Squirrel Logger para capturar o verdadeiro endereço de origem da tentativa de login.
Baixe e instale o Squirrel Logger:
cd /usr/share/squirrelmail/plugins
wget http://squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fwww.squirrelmail.org%2Fplugins%2Fsquirrel_logger-2.3-1.2.7.tar.gz
tar zxvf squirrel_logger-2.3-1.2.7.tar.gz
cd squirrel_logger-2.3-1.2.7
cp config_example.php config.phpEmbora este plugin seja a versão mais recente do Squirrel Logger, se houve uma atualização de revisão, baixe-o diretamente do site de Plugins do SquirrelMail aqui.
Se sua máquina usa um horário local que não é GMT, use vi para mudar: $sl_use_GMT = 1 para $sl_use_GMT = 0 em config.php:
Configuração original config.php:
...
// Registrar datas em GMT? Se você não fizer isso, as datas serão
// registradas no fuso horário em que cada usuário está (ou
// definiu em suas preferências pessoais)
//
// 1 = sim
// 0 = não
//
$sl_use_GMT = 1;
...Configuração modificada config.php:
...
// Registrar datas em GMT? Se você não fizer isso, as datas serão
// registradas no fuso horário em que cada usuário está (ou
// definiu em suas preferências pessoais)
//
// 1 = sim
// 0 = não
//
$sl_use_GMT = 0;
...Exclua o arquivo gzip do Squirrel Logger baixado:
cd /usr/share/squirrelmail/plugins
rm squirrel_logger-2.3-1.2.7.tar.gzConfigure o SquirrelMail para usar o plugin Squirrel Logger:
/usr/share/squirrelmail/config/conf.plConfiguração do SquirrelMail : Ler: config.php (1.4.0)
---------------------------------------------------------
Menu Principal --
1. Preferências da Organização
2. Configurações do Servidor
3. Padrões de Pasta
4. Opções Gerais
5. Temas
6. Catálogos de Endereços
7. Mensagem do Dia (MOTD)
8. Plugins
9. Banco de Dados
10. Idiomas
D. Definir configurações pré-definidas para servidores IMAP específicos
C Ativar cores
S Salvar dados
Q Sair
Comando >>Selecione: PluginsConfiguração do SquirrelMail : Ler: config.php (1.4.0)
---------------------------------------------------------
Plugins
Plugins Instalados
1. delete_move_next
2. squirrelspell
3. newmail
Plugins Disponíveis:
4. listcommands
5. fortune
6. filters
7. translate
8. abook_take
9. spamcop
10. squirrel_logger
11. mail_fetch
12. calendar
13. sent_subfolders
14. message_details
15. administrator
16. info
17. bug_report
R Retornar ao Menu Principal
C Ativar cores
S Salvar dados
Q Sair
Comando >> Selecione: squirrel_loggerConfiguração do SquirrelMail : Ler: config.php (1.4.0)
---------------------------------------------------------
Plugins
Plugins Instalados
1. delete_move_next
2. squirrelspell
3. newmail
4. squirrel_logger
Plugins Disponíveis:
5. listcommands
6. fortune
7. filters
8. translate
9. abook_take
10. spamcop
11. mail_fetch
12. calendar
13. sent_subfolders
14. message_details
15. administrator
16. info
17. bug_report
R Retornar ao Menu Principal
C Ativar cores
S Salvar dados
Q Sair
Comando >> Selecione: Salvar dados, Sair3. Configuração do Fail2ban
Mude para o diretório de configuração do fail2ban:
cd /etc/fail2banAssumindo que você está usando transporte http para o SquirrelMail, use vi para adicionar as seguintes linhas ao arquivo jail.conf:
[squirrelmail-iptables]
enabled = true
filter = squirrelmail
action = iptables[name=SquirrelMail, port=http, protocol=tcp]
sendmail-whois[name=SquirrelMail, dest=you@your_domain.com, sender=fail2ban@your_domain.com]
logpath = /var/lib/squirrelmail/prefs/squirrelmail_access_log
maxretry = 4Certifique-se de que maxretry e os endereços de e-mail para dest e sender estão configurados de acordo com suas necessidades.
Mude para o diretório de filtros do fail2ban:
cd filter.dNo diretório filter.d, use vi para criar um arquivo squirrelmail.conf com o seguinte conteúdo:
# Arquivo de configuração do Fail2Ban
#
# Autor: Bill Landry ((email_protected))
#
# $Revision: 510 $
[Definition]
# Opção: failregex
# Notas.: regex para corresponder às mensagens de falha de senha no logfile. O
# host deve ser correspondido por um grupo chamado "host". A tag "" pode
# ser usada para correspondência padrão de IP/nome de host e é apenas um alias para
# (?:::f{4,6}:)?(?P\S+)
# Valores: TEXTO
failregex = \[LOGIN_ERROR\].*from : Usuário desconhecido ou senha incorreta
# Opção: ignoreregex
# Notas.: regex para ignorar. Se este regex corresponder, a linha é ignorada.
# Valores: TEXTO
ignoreregex = O Fail2ban precisa reconhecer o formato de data usado no arquivo squirrelmail_access_log.
cd /usr/share/fail2ban/serverUse vi para editar o arquivo datedetector.py e adicione as seguintes linhas entre as seções de formato Apache e Exim:
# SquirrelMail 09/13/2007 06:43:20
template = DateStrptime()
template.setName("Month/Day/Year Hour:Minute:Second")
template.setRegex("\d{2}/\d{2}/\d{4} \d{2}:\d{2}:\d{2}")
template.setPattern("%m/%d/%Y %H:%M:%S")
self.__templates.append(template)Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.