PR-271 - Instalação de ferramenta de ataques brute-force em servidores GNU/Linux
Configuração de bloqueio autenticação SASL (SMTP - Opcional)
Configuração de bloqueio para courier (IMAP, POP - Opcional)
Configuração de bloqueio para apache (HTTP - Opcional)
Configuração de bloqueio para webmail (Opcional)
Instalar e configurar o fail2ban para bloqueio de ataque brute-force.
Cabe aos funcionários do PoP-BA.
Conceitue todos os itens relevantes com este processo, a fim de tornar o texto do processo claro e sem duplas interpretações
Qualquer servidor que rode um serviço sujeito a ataques brute-force é necessário planejar a implementação de uma ferramenta de identificação e contenção, que nesse caso será o fail2ban.
O fail2ban é uma ferramenta que provê uma solução automatizada de contenção de ataques brute-force a sistemas protegidos por senha. Basicamente o fail2ban verifica os logs dos serviços e identifica padrões e a partir destes bloqueia origens de tentativas indevidas de login.
Para instalar e configurar a ferramenta basta seguir os passos abaixo logado no servidor em questão.
Para instalar o fail2ban basta o comando abaixo.
Usaremos o fail2ban para conter ataques brute-force no serviço de autenticação de serviços como ssh, smtp, imap, pop, http e etc. Para cada serviço é necessário configurar uma classe de serviço, que contem parâmetros específicos para identificar e conter o ataque.
Por padrão o fail2ban vem configurado no arquivo /etc/fail2ban/jail.conf para conter ataques ao SSH, mas podemos estender ou modificar a configuração padrão criando um arquivo chamado /etc/fail2ban/jail.local (arquivos .local no fail2ban são usados para configurações locais do administrador do sistema).
[<NOME DO SERVICO>]
port    = <LISTA DE SERVICOS>
filter   = <FILTRO>
logpath  = <CAMINHO PRO LOG>
maxretry = <NUMERO>
findtime = <VALOR EM SEGUNDOS>
bantime  = <VALOR EM SEGUNDOS>
# para enviar e-mail basta usar a action %(action_mw)s
Abaixo a descrição de cada um dos parâmetros acima:
enabled: Habilita e desabilita a checagem do serviço
port: Porta do serviço no qual o bloqueio será realizado, usa-se o nome do protocolo associado (ex: smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s)
filter: Arquivo com a expressão regular pela qual o fail2ban usará para checar o log do serviço (as expressões são separadas por arquivos no diretório /etc/fail2ban/filter.d/)
logpath: Caminho completo até o arquivo com o log do serviço que será monitorado
maxretry: Número de tentativas que serão usadas para bloquear um usuário do serviço
findtime: Tempo em segundos que o fail2ban usa como intervalo para checar a quantidade de tentativas do usuário
bantime: Tempo que será usado para bloquear um IP de origem (usuário do serviço)
action: Ação que será aplicada a quem for identificado como atacante (geralmente bloqueio, mas também pode agregar notificação ao administrado do sistema - por exemplo na ação '%(action_mw)s')
Por padrão enviamos notificações de bloqueio à nossa lista de monitoramento, sendo necessário editar o e-mail de destino padrão no arquivo /etc/fail2ban/jail.conf, A variável destemail deve possuir o seguinte conteúdo.
destemail = <ENDEREÇO DE E-MAIL>
Para configurar a checagem e bloqueio de autenticações invalidas no SMTP, usa-se o log produzido pelo SASL. Basta adicionar no arquivo /etc/fail2ban/jail.local a seguinte configuração.