IntroduçãoUm boa opção para a prevenção a ataques de força bruta é o 
Fail2Ban, disponível para distribuições Linux.  Este artigo abordará a instalação e configuração baseada na distribuição Debian Etch, porém, este artigo se aplica a todas a distribuições baseadas no Debian(Kurumin, Ubuntu etc).
O 
Fail2Ban é um analisador de logs que verifica constantemente os arquivos /var/log/pwdfail, /var/log/apache/error_log ou qualquer outro log de algum serviço que esteja em execução. Através da análise desses logs o 
Fail2Ban atualiza dinamicamente as regras de firewall para rejeitar conexões oriundas do IP em questão que tenha falhado algumas vezes durante a autenticação.
InstalaçãoAbra o terminal e digite o seguinte comando:
  # sudo apt-get install fail2ban
Configuração           Durante a instalação é ativada apenas a configuração para a porta de 
SSH. As demais portas podem ser configuradas, como será mostrado a seguir.  Os arquivo de configuração encontra-se em /etc/fail2ban/jail.conf , mas de acordo com a documentação do programa é aconselhável  que as configurações estejam num arquivo .local, ao invés de .conf, então, vamos copiar o arquivo digitando o seguinte comando:
# cp /etc/fail2ban/jail.conf  /etc/fail2ban/jail.local
Feito isto, vamos iniciar a configuração apartir do arquivo jail.local                          
# vim /etc/fail2ban/jail.local
Bom, antes de prosseguirmos com a configuração alguns parâmetros precisam ser explicados.
Ignoreip  –  endereços IPs que devem ser ignorados durante o monitoramento, ou seja, não serão bloqueados caso haja várias tentativas de acesso.
Bantime – especifica quanto tempo o IP será bloqueado. O tempo é especificado em segundos.  
Maxretry – número de tentativas até o bloqueio do IP.
Inicio do arquivo jail.local:
# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1 (própria maquina) 192.168.1.1 (endereço utilizado para administração do Servidor )
obs: na opção acima você pode adicionar redes a serem ignoradas, como por exemplo, se fosse colocado lá 192.168.1.0/24 estaria ignorando todos os IP desta faixa de endereço, porém, aconselho a liberar apenas os endereços ao qual você usará para acessar esse PC em sua administração.
bantime  = 600 (o default é 600 o que equivale a 10 minutos, porém,  você pode alterar para um valor que achar melhor)
maxretry = 3 (número de tentativas antes do bloqueio).
O restante da configuração está pronta, basta apenas trocar os valores de false para true, como segue abaixo:
[ssh-ddos]
enabled = false (mudando o valor para true, fará com que o Fail2ban comece a analisar os logs para esse serviço.
port  = ssh,sftp
filter  = sshd-ddos
logpath  = /var/log/auth.log
maxretry = 6
    Existe a possibilidade de um aviso ser enviando ao administrador do sistema caso seja criada alguma regra devido a erros de autenticação.
    # [...]
    #
  # Destination email address used solely for the interpolations in
  # jail.{conf,local} configuration files.
  destemail = root@localhost(altere o endereco)
    # Default action to take: ban only
  # action = iptables[name=%(__name__)s, port=%(port)s]
    # Following actions can be chosen as an alternatives to the above action.
  # To activate, just copy/paste+uncomment chosen 2 (excluding comments) lines
  # into jail.local
    # Default action to take: ban & send an e-mail with whois report
  # to the destemail.
  # action = iptables[name=%(__name__)s, port=%(port)s]
  #          mail-whois[name=%(__name__)s, dest=%(destemail)s]
    # Default action to take: ban & send an e-mail with whois report
  # and relevant log lines to the destemail.
  action = iptables[name=%(__name__)s, port=%(port)s]
          mail-whois-lines[name=%(__name__)s, dest=%(destemail)s, logpath=%(logpath)s]
    # [...]
obs: Não esqueça de reiniciar o serviço após qualquer alteração, com o seguinte comando:
# /etc/init.d/fail2ban restart
  
Conclusão
    Dentre as soluções de segurança disponíveis, podemos observar que o Fail2Ban é um programa simples de ser implementado  e configurado, visto que não é necessário grandes conhecimentos para sua implementação. Um outro ponto positivo é que ele poupa o tempo do administrador da rede, fazendo com que o cara nao precise ficar horas na frente do PC analisando logs, pois o Fail2Ban faz isso automaticamente e com muita eficiência. 
fonte 
Fail2Ban.orgAbraço a todos.