SSH Blindado - Protegendo o seu sistema de ataques SSH

SSH é, sem dúvida, uma grande ferramenta para quem trabalha em rede. Com ele você tem acesso direto à máquina, porém, é um grande vilão se mal configurado. Neste artigo, explico como deixar o seu SSH protegido de qualquer ataque. Nem todos os passos devem ser executados, mas sim implementados de acordo com sua necessidade.

[ Hits: 30.808 ]

Por: M4iir1c10 em 06/12/2012 | Blog: https://github.com/mauricioph


Testando



Lembre-se de que, para testar sua configuração, é necessário reiniciar o serviço do SSH, PORÉM, NÃO FECHE SUA CONEXÃO, OU VOCÊ PODE FICAR BLOQUEADO FORA DO COMPUTADOR SE ALGO DER ERRADO.

Abra uma aba no seu terminal, conecte ao servidor SSH "[email protected]_ip":

ssh [email protected]

Depois de feita as configurações e você ter duas abas abertas do terminal, na aba conectada ao servidor, digite:

sudo /etc/init.d/ssh restart

Ou, no Ubuntu:

sudo service ssh restart

Depois retorne à outra aba e tente conectar, caso você tenha mudado a porta para 2200:

ssh [email protected] -p 2200

Se conectou corretamente, então pode comemorar. Caso você queira fazer o par de chaves de autenticação, digite:

ssh-keygen -t rsa

Deve retornar o seguinte:
# Generating public/private rsa key pair.
# Enter file in which to save the key (/root/.ssh/id_rsa):


Caso você tenha usado o root, caso contrário o arquivo "id_rsa" vai estar na pasta ".ssh" na HOME do usuário. Você pode definir uma senha para sua chave, que não é necessariamente a senha do usuário, pode ser qualquer senha, ou você pode deixar sem senha se assim você configurou nos passos anteriores:

# Enter passphrase (empty for no passphrase):
# Enter same passphrase again:
# Your identification has been saved in /root/.ssh/id_rsa.
# Your public key has been saved in /root/.ssh/id_rsa.pub.
# The key fingerprint is: blablalbabla


Agora copie esse arquivo "id_rsa.pub" para o servidor, modificando o nome para "authorized_keys" dentro da mesma pasta no servidor:

scp -P 2200 /home/mauricio/.ssh/id_rsa.pub [email protected]:/home/mauricio/.ssh/autorized_keys

Observe que usei o "P" maiúsculo e 2200 porque, de acordo com os passos seguidos, estamos usando uma porta diferente da padrão. Caso você não tenha mudado a porta, esse "-P 2200" deve ser ignorado.

Agora tente conectar usando o "p" minúsculo.

ssh [email protected] -p 2200

Se você deixou sem senha, automaticamente receberá o prompt, caso tenha definido a senha da chave, digite essa senha e receba o prompt.

Beleza, tudo configurado e muito bem seguro, no melhor estilo James Bond de segurança.

Para evitar que alguém bagunce sua chave de autenticação, mude a permissão dela para 0600 (somente o usuário tem direitos nela):

sudo chmod 0600 ~/.ssh/id_rsa

Os demais arquivos devem ser 0655.


Obrigado pela leitura.

E se tiver algum comentário, crítica ou sugestão, escreva abaixo.

Página anterior    

Páginas do artigo
   1. Ingredientes
   2. Aumentando a segurança do servidor SSH - Continuação
   3. Testando
Outros artigos deste autor

Servidor de Mídia com 128 MB de RAM

Malware, Vírus e Hacking. Estamos seguros usando Linux?

Raios de luz explodindo atrás do texto

Criando vídeo com características de DVD

Enfeite o LILO com uma imagem de seu gosto

Leitura recomendada

Integração de servidores Linux com Active Directory

Chroot + Bind sem stress

Prevenção e rastreamento de um ataque

Servidor de DNS com DNS reverso, DHCP3 e wpad.dat

Encapsulando BIND 9 e Apache 2 para obter maior segurança

  
Comentários
[1] Comentário enviado por maiconramones em 06/12/2012 - 15:05h

Muito bom o artigo, simples, eficiente e direto.

Parabéns.

[2] Comentário enviado por m4iir1c10 em 06/12/2012 - 17:18h

So uma correcao na ultima linha da primeira pagina o comando nao e $ ssh [email protected]:2200 e sim $ ssh [email protected] -p 2200

E na Terceira Pagina o nome para o arquivo nao e autorized_keys e sim authorized_keys, percebeu o H entre o T e o O?

Desculpem pelos erros ;)

[3] Comentário enviado por removido em 10/12/2012 - 11:12h

Bom artigo, parabéns.
Uma outra dica é usar o fail2ban.

[4] Comentário enviado por mineirobr em 12/12/2012 - 09:42h

Excelente, parabéns :)

[5] Comentário enviado por m4cgbr em 13/12/2012 - 04:33h

Excelente, muito útil e claro nas colocações.

Obrigado

[6] Comentário enviado por voprach em 08/06/2016 - 08:50h

Recebi a seguinte mensagem após alteração da porta e reinicio do servidor: No route host
Peço a gentileza de alguém poder me ajudar. Desde já agradeço.

[7] Comentário enviado por removido em 27/07/2016 - 17:10h

Muito bom cara, muito bom mesmo.


Contribuir com comentário