Skip to content


Hardening da semana: SSH

Bem vindo a nova seção sobre Administração de Sistemas e Segurança. A partir de agora, toda semana teremos um artigo sobre Hardening em nosso blog. A idéia é contribuir para que tanto para novatos quanto veteranos possam aprimorar a segurança de suas redes e sistemas.

Nosso primeiro artigo irá tratar de um dos serviços mais usados pelos sysadmins em seu dia-a-dia: O serviço SSH. Geralmente presente em todas as instalações de sistemas operacionais livres, o serviço ssh é responsável por permitir acesso remoto e criptografado a servidores geograficamente distribuídos.

Muitos administradores, contudo, acham que por se tratar de um serviço que utiliza criptografia tanto na autenticação do usuário quanto em todo o trafégo não seja necessário realizar nenhuma configuração adicional. Ledo engano. Desde ataques de força bruta em senha a coisas mais sofisticadas como “homem no meio”. Vejamos algumas medidas simples – mas eficientes – de prevenção.

Iremos implementar as seguintes funcionalidades:

  • proibir o login como super-usuário;
  • Utilizar apenas a versão 2(mais segura) do protocolo SSH;
  • Alterar a porta padrão (22) para uma outra qualquer;
  • Aplicar restrições de login: tempo de inatividade, utilização de PAM, etc;
  • Liberar acesso apenas para usuários específicos. Assim, você pode se certificar que apenas os administradores conseguirão logar no servidor;
  • Verificação de DNS;
  • Permitir login apenas de certos hosts de origem;
  • Bloquear as demais conexões;

Fase 1: configuração do daemon ssh

Abra com o seu editor preferido o arquivo de configuração do serviço ssh. No Debian, ele se encontra em /etc/ssh/sshd_config.
Adicione ou altere as seguintes linhas:

#proibir login como root
PermitRootLogin no

#Usar apenas o protocolo versão 2.
Protocol 2

#alterar a porta padrão para 444
Port 444

#restringir o endereco de escuta
ListenAddress #(endereço ip a ser utilizado para requisições ssh)

# restrições de login
LoginGraceTime 1m
PasswordAuthentication no
UsePAM yes
AllowUsers (usuario_ssh1) (usuario_ssh2)

PrintMotd no
UseDNS yes

Fase 2: Liberar apenas hosts de origem específicos

No arquivo /etc/hosts.allow, devemos liberar apenas os hosts que deverão ter acesso ao serviço ssh. Acrescente a seguinte linha, substituindo os valores para o endereço ip e a máscara do host a ser liberado:

sshd: ip/mascara

No arquivo /etc/hosts.deny, iremos bloquear as demais conexões. Acrescente a seguinte linha:

sshd: ALL

Fase 3: Alterando a porta padrão

Para que o tcp wapper reconheça a nova porta do ssh (no caso, alteramos para 444), devemos editar o arquivo /etc/services
e alterar a seguinte linha:

ssh 444/tcp

Fase 4: Aplicando as alterações

Para que as alterações tenham efeito, é necessário reiniciar o daemon ssh, com o comando:
/etc/init.d/ssh restart

Pronto! Seu servidor SSH agora está bem mais seguro. Caso você conheça alguma outra funcionalidade que possamos implementar, deixe seu comentário!

Na próxima semana teremos um artigo sobre os principais pontos a serem observados durante a instalação de um servidor. Fique ligado!

Posted in Admin. de Sistemas, Segurança.


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.