Introducao ao fail2ban: mudanças entre as edições
2532252>Jefferson Sem resumo de edição |
imported>Admin m uma edição |
||
(Sem diferença)
| |||
Edição atual tal como às 03h11min de 8 de agosto de 2020
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>
- 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
- 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>
- 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
- 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
- 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