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: 35.053 ]

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 "usuario@servidor_ip":

ssh mauricio@192.168.30.33

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 mauricio@192.168.33.30 -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 mauricio@192.168.33.30:/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 mauricio@192.168.33.30 -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

Máquina Enigma e encriptação em XOR

Como controlar todas as mídias da sua casa somente com 1 controle remoto e 1 Linux

5 comandos que ninguém nunca deve executar no Linux

Letras brilhantes com Gimp

Colocando Windows, Linux e Mac Os X em um mesmo PC

Leitura recomendada

Auditando senhas com John The Ripper

Cliente "automágico" Linux logando no domínio NT/Samba

Sudo 1.8.12 - Parte II - Como sudo funciona

Sistema de gerenciamento de logs do Linux

Construindo um Log Server utilizando Linux, Unix e Windows

  
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 mauricio@192.168.34.70:2200 e sim $ ssh mauricio@192.168.34.70 -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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts