Estou configurando o fail2ban para minhas instâncias do EC2, cada uma com serviços diferentes em execução. Portanto, estou configurando as jails especificamente para cada serviço. Tenho duas perguntas (para as quais não consegui encontrar resposta em outro lugar):
- Se um IP for bloqueado pelo fail2ban por falha na autenticação em uma porta, esse usuário ainda poderá entrar por outras portas abertas?
- Como o bloqueio de portas específicas se compara ao bloqueio de todas as portas usando a configuração mencionada aqui? Não seria mais seguro bloquear todas as portas abertas, já que não quero que o hacker entre?
Responder1
(Supondo que o sistema operacional seja Linux)
fail2bané uma ferramenta bem feita, abençoada com um alto nível de configuração.
No Linux Ubuntu, a configuração está em/etc/fail2ban
Questão 1
A menos que você altere a configuração, apenas as portas mencionadas jail.conf
para o serviço específico serão bloqueadas.
Questão 2
Você também pode bloquear todas as portas. Depende do nível de segurança que você deseja, mas bloquear todas as portas pode ter desvantagens.
Pessoalmente, prefiro bloquear apenas a porta que foi abusada. Porque
- se outras portas também forem abusadas (e se forem declaradas em
jail.conf
), elas também serão bloqueadas - alguns endereços IP são compartilhados por uma empresa inteira ou por muitas pessoas; então, ao bloquear todas as portas por abuso de
ssh
, você impedirá que todos nesse endereço acessem,http/s
por exemplo - você também pode ser afetado por um bloqueio total. Por exemplo, você comete alguns erros de senha usando
ssh
, e outra porta que permitiria um acesso diferente, do provedor por exemplo, não estará acessível.
Para bloquear mais ou todas as portas, você pode modificar o jail.conf
arquivo.
Alguns dos atributos padrão são, (in [DEFAULT]
)
# "bantime" is the number of seconds that a host is banned.
bantime = 10m
# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 10m
# "maxretry" is the number of failures before a host get banned.
maxretry = 5
# Ports to be banned (Usually should be overridden in a particular jail)
port = 0:65535
ou seja, todas as portas.
Por [sshd]
exemplo (e todos os serviços) port
é redefinido
[sshd]
port = ssh
Você poderia simplesmente comentar a port
linha para voltar aos padrões, mas eu adicionaria um comentário e uma nova linha de porta para facilitar a manutenção (outras pessoas/você em 3 anos)
[sshd]
# 25 Aug 2020 Rohit, block all ports
#port = ssh
port = 0:65535
Alterando o padrão
Você verá no action.d
diretório a lista de ações possíveis. O padrão em jail.conf
,
banaction = iptables-multiport
que também pode ser alterado para
banaction = iptables-allports
isso afetaria todos os serviços que não fossem redefinidos banaction
.
Reiniciando o fail2ban
Em seguida, reinicie o serviço, para systemd
systemctl restart fail2ban.service
ou
service fail2ban restart
(Para sua informação, o filter.d
diretório lista para cada serviço da maneirafail2bandetecta uma tentativa de intrusão)
Verifique também os comentários abaixo que podem fornecer informações valiosas.