Alteração de porta padrão
Configure seu serviço SSH para ouvir em uma porta diferente da porta padrão 22. O daemon do SSH não vê problema algum nisso. :-)
Apenas certifique-se que seu firewall esteja liberando a porta para onde você irá direcionar o serviço. Para fazer o serviço ssh escutar conexões na porta 2222 por exemplo, basta editar o arquivo /etc/ssh/sshd_config e modificar o valor da porta para 2222, após isto, basta restartar o SSH daemon.
Este método irá parar atacantes que estejam apenas scaniando SSH servers na porta default, porém um scan avançado irá revelar o SSH. Apesar de simples, isto pode ajudar seu servidor a sair do escopo da maioria dos ataques e fazer o número de tentativas de login caírem dramaticamente.
Desabilite autenticação por senha
Passwords são mais fáceis de serem quebradas em relação à chaves privadas. Configure o SSH para autenticar usuários utilizando chaves privadas e desabilite totalmente a autenticação por senha. Isto irá garantir que apenas usuários portando credenciais de chave privada correta possam acessar o serviço. Para desabilitar autenticação via senha, edite o sshd_config e modifique o parâmetro PasswordAuthentication para "No".
Caso você prefira utilizar senhas à SSH Keys, certifique-se de usar senhas fortes para todos os usuários.
Limitar conexões
Este método limita o número de pacotes SYN (pacote solicitando nova conexão). O efeito disto será transparente para usuários válidos, mas com certeza irá atrasar bastante atacantes que estão efetuando conexões repetidamente. Para você estabelecer um limite de conexões por host na porta 2222 para 3 por minuto pode fazer da seguinte forma:
# iptables -A INPUT -p tcp --dport 2222 --syn -m limit --limit 1/m --limit-burst 3 -j ACCEPT
# iptables -A INPUT -p tcp --dport 2222 --syn -j DROP
Desabilite o acesso remoto para root
Se você permite o login remoto do usuário root em seus servidores, deve desabilitá-lo imediatamente. Será possível ainda logar como um usuário sem privilégios e depois obter uid=0 usando o comando su.
Para desabilitar o login do root no SSH edite o arquivo sshd_config e altere o valor PermitRootLogin para "No".
Com estas dicas, acredite ou não, você adicionou uma grande barreira para a maioria dos atacantes que rodam script ofensivos em hosts.
[1] Comentário enviado por
powerd0wn em 14/06/2007 - 13:36h:
Ae, mano... show de bola seu artigo hein?! =)
Achei interessante seus agradecimentos! ahaahauahu
Valeu!
[]'s
Rodrigo Martins
[2] Comentário enviado por
peregrino em 14/06/2007 - 14:20h:
tinha que ser um tutorial do y2h4ck mesmo rss
e aee tava sumido en
at+
[3] Comentário enviado por
removido em 14/06/2007 - 14:52h:
Belo artigo, apesar de alguns módulos do PAM apresentarem vulnerabilidades.
[4] Comentário enviado por
y2h4ck em 14/06/2007 - 15:01h:
Bom, oque vc disse ai é o mesmo que dizer assim :
"Legal seu artigo sobre Network, pena que o TCP/IP apresenta vulnerabilidades."
Bom, pesquisando no SecurityFocus, não encontrei nenhuma para pam_abl :)
Abraços amigo.
[5] Comentário enviado por
everton_ht em 14/06/2007 - 15:07h:
ótimo artigo!! congratz
logo me será útil :D
[6] Comentário enviado por
removido em 14/06/2007 - 15:44h:
Também não encontrei, mas é uma pena para o pacote do PAM ter uns módulos com vulnerabilidades. Sempre é bom dar uma pesquisada nesses módulos do PAM para ver se tem alguma vulnerabilidade. Que bom que o módulo pam_abl não tem.
Abraços, Leonardo.
[7] Comentário enviado por
fernoliv em 15/06/2007 - 00:21h:
Anderson, meus parabéns!
Seus artigos são muito bem escritos e oferecem uma grande ajuda aos seus leitores.
Com estas dicas podemos melhorar muito o nível de segurança dos nossos servidores Linux.
Abraços,
Fernando.
[8] Comentário enviado por
Journeyman em 15/06/2007 - 10:48h:
Realmente muito bom o artigo.
Eu pessoalmente estava sofrendo ataques por força bruta na porta 22, isso aocntecia principalmente quando eu estava baixando torrents de coisas pra linux. Quando eu estava baixando a última versão do debian, por exemplo, o arquivo de logs "enlouqueceu" de tantas tentativas de acesso na base da tentativa e erro!
Nunca mais tive esse problema depois que troquei a porta de acesso (na realidade fiz um redirect de porta no roteador pra n ter que alterar os arquivos de configuração, o que auxilia no caso de reinstalações) e limitei o número máximo de tentativas pra 3.
Abraços.
[9] Comentário enviado por
rndasi em 03/11/2007 - 11:17h:
Bom dia a todos.
Parabéns pelo artigo.
Segui o artigo a risca no Debian 4.0 Etch R0 e no R1 e em nenhum dos 2 ele bloqueava o host.
Pesquisando na net, achei o seguinte patch :
http://www.jikos.cz/~jbohac/goodies/pam_abl.patch
Fiz as alterações necessárias para que ele instalasse no diretório correto, apliquei o Patch e fiz a instalação seguindo todos os passos daqui.
Depois disso começou a funcionar.
Espero que ajude quem enfrenta o mesmo problema que eu.
Abraço