Segurança no SSH via plugins da PAM

Neste artigo veremos como proteger nossos servidores Unix utilizando console de administração via SSH contra ataques de brute-force usando o plugin pam_abl para PAM (Pluggable Authentication Module).

[ Hits: 47.396 ]

Por: Anderson L Tamborim em 14/06/2007 | Blog: http://y2h4ck.wordpress.com


Melhores práticas: uso de serviço SSH



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.

Página anterior     Próxima página

Páginas do artigo
   1. Prólogo
   2. Introdução - Segurança no acesso remoto
   3. pam_abl: principais características
   4. Projeto sob-fogo: testando a segurança
   5. Melhores práticas: uso de serviço SSH
   6. Conclusão
Outros artigos deste autor

Jails em SSH: Montando sistema de Shell Seguro

Segurança extrema com LIDS: novos recursos

PHLAK :: [P]rofessional [H]acker's [L]inux [A]ssault [K]it

Snort avançado: Projetando um perímetro seguro

PSAD: Port Scan Attack Detector

Leitura recomendada

Jails em SSH: Montando sistema de Shell Seguro

Descobrir a senha de configuração pelo browser de um Access Point (AP)

SSH: Métodos e ferramentas para invasão

Definição de hacker

Ferramentas de detecção e NMAP

  
Comentários
[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


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts