Introducao ao fail2ban

De Wiki do Ouro Minas Palace Hotel
Revisão de 03h11min de 8 de agosto de 2020 por imported>Admin (uma edição)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Retirado do Site <https://pop-ba.rnp.br/Site/ShowDoc?PR=IntranetPOPBA.PR-271>

PR-271 - Instalação de ferramenta de ataques brute-force em servidores GNU/Linux

Data Criação:

Data Revisão:

1. Objetivo

2. Aplicação

3. Definições

4. Descrição das etapas

Instalação do fail2ban

Configuração

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)

5. Responsabilidades e Autoridades

6. Fluxograma

7. Documentos Relacionados

8. Referências

1. Objetivo

Instalar e configurar o fail2ban para bloqueio de ataque brute-force.

2. Aplicação

Cabe aos funcionários do PoP-BA.

3. Definições

Conceitue todos os itens relevantes com este processo, a fim de tornar o texto do processo claro e sem duplas interpretações

4. Descrição das etapas

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.

Instalação do fail2ban

Para instalar o fail2ban basta o comando abaixo.

aptitude update

aptitude install fail2ban

Configuração

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).

cat > /etc/fail2ban/jail.local <<EOF

[<NOME DO SERVICO>]

enabled = true

port = <LISTA DE SERVICOS>

filter = <FILTRO>

logpath = <CAMINHO PRO LOG>

maxretry = <NUMERO>

findtime = <VALOR EM SEGUNDOS>

bantime = <VALOR EM SEGUNDOS>

  1. para enviar e-mail basta usar a action %(action_mw)s

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>

Configuração de bloqueio autenticação SASL (SMTP - Opcional)

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.

cat > /etc/fail2ban/jail.local <<EOF

  1. configuracoes para SASL

[sasl]

enabled = true

port = smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s

filter = sasl

logpath = /var/log/mail.log

maxretry = <NUMERO>

findtime = <VALOR EM SEGUNDOS>

bantime = <VALOR EM SEGUNDOS>

  1. para enviar e-mail basta usar a action %(action_mw)s

action = %(action_mw)s

EOF

Configuração de bloqueio para courier (IMAP, POP - Opcional)

É necessário apenas adicionar a respectiva configuração, abaixo o comando.

cat > /etc/fail2ban/jail.local <<EOF

  1. configuracoes para COURIER

[courier]

enabled = true

port = imap2,imap3,imaps,pop3,pop3s

filter = courierlogin

logpath = /var/log/mail.log

maxretry = <NUMERO>

findtime = <VALOR EM SEGUNDOS>

bantime = <VALOR EM SEGUNDOS>

action = %(action_mw)s

EOF

Configuração de bloqueio para apache (HTTP - Opcional)

É necessário apenas adicionar a respectiva configuração, abaixo o comando.

cat > /etc/fail2ban/jail.local <<EOF

  1. configuracoes para apache

[apache]

enabled = true

port = http, https

filter = apache-auth

logpath = /var/log/apache2/error.log

maxretry = <NUMERO>

findtime = <VALOR EM SEGUNDOS>

bantime = <VALOR EM SEGUNDOS>

action = %(action_mw)s

EOF

Configuração de bloqueio para webmail (Opcional)

TODO

Agora basta reiniciar o serviço.

invoke-rc.d fail2ban restart

5. Responsabilidades e Autoridades

Definição das pessoas e suas responsabilidades com relação a tarefas deste processo, inclusive a manutenção deste

6. Fluxograma


Fluxograma com os passos para a execução deste processo

7. Documentos Relacionados

Configurando fail2ban

8. Referências

Fail2ban - Manual

Fail2ban - Whitelist