O que eu recomendo é escalonar suas soluções de segurança. A segurança é melhor implementada em Camadas , e ter uma solução significa que você terá um Ponto único de falha .
O Fail2Ban, como afirmado acima por Jeff Ferland, é uma boa solução para o primeiro passo. Ele irá monitorar seus arquivos de log em busca de sinais de um ataque de força bruta, e pode ser configurado para ouvir geralmente contra o PAM.
Mas o que acontece se esse arquivo de log for perdido? permissões mudam? se o destino do arquivo de log mudar? se o fail2ban caiu? se uma atualização muda a maneira como você pretende que as coisas funcionem? o padrão de expressão regular deve ser atualizado? o que acontece se a unidade ou partição de destino do arquivo de log ficar cheia? O fail2ban se torna inútil.
-
Introducing libpam_shield
Existe um módulo PAM chamado pam_shield . isso não é apenas mais eficiente (operando diretamente na camada Login), ele usa um banco de dados de acesso rápido, que pode persistir durante as reinicializações.
usa menos memória e não requer um serviço em execução que pode falhar. pam_shield
também pode ser configurado para trabalhar com sua tabela de roteamento, bem como com o IPTables.
Assim como o Fail2Ban, você dá um período de tempo para considerar o host para uma proibição. você fornece o máximo de tentativas que o host remoto pode fazer, e o período de tempo para bani-las.
Para que tudo funcione bem com o Fail2Ban, configure-os para 1,5 vezes o que está configurado no Fail2Ban. você também pode tornar o período de Banimento muito mais longo. Dessa forma, o fail2ban irá banir o usuário da primeira vez ... e se o banimento expirar, e ele for pego novamente, ele irá bani-lo por muito mais tempo na segunda vez.
Aqui está um link para a página de manual dos arquivos de configuração: shield.conf
-
Introducing pam_tally2
Você também pode considerar pam_tally2
para bloquear uma conta de usuário específica.
se uma conta de usuário estiver sendo especificamente segmentada , você precisará bloquear essa conta de usuário e impedir o login ou até que o ataque seja resolvido.
isso é útil especialmente em um servidor compartilhado, quando o ataque é originário de "dentro". quando não é possível bloquear o host local (por exemplo, 127.0.0.1).
Espero que isso ajude! Eu percebo que o post original é um pouco antigo agora, mas é muito importante implementar segurança em camadas ... e cobrir todas as suas bases! NÃO existe um pacote que você possa "apenas instalar" para tornar seu sistema seguro. nem mesmo Fail2Ban .