você está aqui: Home  → Arquivo de Mensagens

Reforçando a segurança do ssh

Colaboração: Fabiano Soarech Rech

Data de Publicação: 17 de Dezembro de 2005

Com a fácil disseminação e utilização por qualquer pessoa de ferramentas de brute force para ssh, fica comum encontrar nos logs varias mensagens de erro acusando tentativas frustradas de login. Para um sistema bem administrado com senhas fortes e medidas preventivas isto não deveria ser motivo de preocupação, mas como eu gosto de ter um log limpo e legível, busquei por alternativas que detivessem estes aprendizes de lammers na primeira ou segunda tentativa frustrada, foi ai que achei o programa escrito em python, o Daemon Shield (http://sourceforge.net/projects/daemonshield/).

Ele faz a varredura nos logs repetidamente e procura por strings que caracterizem ações de ataques com brute force e gera regras dinamicas do iptables que bloqueiam os endereços ip dos atacantes.

Para instalar o mesmo é fácil basta seguir a seqüência:

Ultima versão estável quando escrevia esta dica: http://ufpr.dl.sourceforge.net/sourceforge/daemonshield/daemonshield-0.4.0.tar.gz

O arquivo é pequeno mesmo depois do download descompacte o mesmo e repita os comandos de compilação.

Obs. Como o mesmo é desenvolvido em python e utiliza do iptables para criar as regras de bloqueio, pressuponho que você tenha os dois instalados e configurados em sua distribuição linux. Isto não será abordado aqui, mas qualquer duvida www.google.com.br

Para compilar:

  fabiano@obiwan:~> ./configure
  como root
  obiwan:~ #make install

Pronto se não apresentou erros em nenhumas das etapas basta agora configurar para iniciar juntamente com o boot do sistema operacional, nos red hat likes, simplesmente chkconfig add daemonshield

Mas antes da dar o start final, vejamos algumas configurações básicas do daemon shield: Edite o arquivo /usr/local/etc/daemonshield. conf com o seu editor preferido.

Note que o mesmo possui uma estrutura fácil e simples de se configurar, vamos configurar algumas opções que deixaram o mesmo funcional e já fazendo os bloqueios:

  # Amount of time ips are blocked, in minutes (0 = never expire)
  expireblocktime=180

Aqui você configura o tempo em que o daemon shield deixará bloqueado o ip do atacante eu deixei como 3 horas que é o tempo que acho suficiente para desencorajar o atacante.

  # List (space separated) of email addresses to send to
  # ex.
  #to=root hostmaster@domain.com joesmith@domain.com
  to=fabianorech@gmail.com fabiano@linuxbsd.com.br

Na linha acima configuramos o mesmo para que nos envie um email avisando o endereço que foi bloqueado.

  # Threshold value of failed logins to inititiate block.
  trigger=2

Aqui você determina a quantidade de mensagens de falhas que serão aceitas eu acredito que duas são o suficientes para você ter o lapso de confundir as senhas, como default ele traz o valor de cinco.

  # logfile searched
  logfile=/var/log/messages

Aqui é especificado o arquivo que será analisado, como default é setado para /var/log/secure eu preferi deixar direto no messages.

  # Regexp of log entry of attack
  failstring=sshd.*: Failed password

A expressão regular que corresponde à mensagem encontrada no log, adapte a mesma conforme a sua distribuição, utilizei a mesma para o conectiva 10 e suse 9.1.

O daemon shield também possui a opção de varreduras de logins com pam, mas não isto foge um pouco do escopo principal, mas nada impede que você programe o mesmo.

Efetuada as configurações de sua preferência é somente digitar iniciar o daemon shield. /etc/init.d/daemonshield start, pronto agora é pedir para alguém forjar um ataque para verificar o seu funcionamento.



 

 

Veja a relação completa dos artigos de Fabiano Soarech Rech

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script