Fazendo sua conexão remota por SSH mais segura
Esse artigo é uma compilação de dicas para otimizar a segurança de uma conexão remota via SSH. Aqui veremos como fazer limitações por usuários, alteração da porta padrão, restrição de acesso ao root dentre outras.
Introdução
O ssh é uma evolução do telnet, ferramenta essa criada
para administração remota que permite conexões seguras entre hosts. Essa
segurança é garantida com chaves de criptografia 1024 bits.
Uma ferramenta muito segura, porém que necessita de alguns cuidados na sua instalação e configuração. Existem várias ferramentas na internet que forçam um entrada na porta 22 (porta padrão SSH), ferramentas estas que exploram bugs em versões antigas do SSH. Para evitar este problema, vamos utilizar a versão 1.59 do daemon SSH. Rodando em um RH 9.0 o arquivo de configuração fica em /etc/ssh/sshd_config. Edite este arquivo com seu editor favorito.
Vamos iniciar mudando a porta padrão do nosso serviço para uma porta alta. Isto já ira dificultar um pouco uma invasão. Por exemplo, vamos usar a porta 2222 ou 2223.
NOTA: Para não ter problemas, faça um levantamento antes dos serviços e portas utilizados em seu servidor (nmap -oO localhost).
Agora vamos limitar o uso do serviço a determinados usuários. No arquivo de configuração /etc/ssh/sshd_config, adicione a linha:
Uma ferramenta muito segura, porém que necessita de alguns cuidados na sua instalação e configuração. Existem várias ferramentas na internet que forçam um entrada na porta 22 (porta padrão SSH), ferramentas estas que exploram bugs em versões antigas do SSH. Para evitar este problema, vamos utilizar a versão 1.59 do daemon SSH. Rodando em um RH 9.0 o arquivo de configuração fica em /etc/ssh/sshd_config. Edite este arquivo com seu editor favorito.
Vamos iniciar mudando a porta padrão do nosso serviço para uma porta alta. Isto já ira dificultar um pouco uma invasão. Por exemplo, vamos usar a porta 2222 ou 2223.
NOTA: Para não ter problemas, faça um levantamento antes dos serviços e portas utilizados em seu servidor (nmap -oO localhost).
Agora vamos limitar o uso do serviço a determinados usuários. No arquivo de configuração /etc/ssh/sshd_config, adicione a linha:
allowUsers leo ivan koji eduardo
Observe que aqui não coloco todos os meus usuários, mais sim os que realmente necessitam de acesso remoto a máquina.
Além disso você pode negar este serviço a determinados IPs, que são suspeitos ou que tiveram alguma tentativa de invasão:
denyhosts 210.143.110.XXX
Um outro parâmetro super importante é o acesso de SSH pelo root. Você pode barrá-lo usando o seguinte parâmetro:
PermitRootLogin no
Com isso você pode administrar seu servidor remotamente, transformando um dos usuários acima em root usando o comando "su -", forçando o conhecimento de uma segunda senha.
Claro, estas são algumas dicas para otimizar seu SSH. Se mesmo assim se sentir inseguro, você pode criar filtros de acesso pelo seu firewall ou mesmo criar VPNs, mais como nem sempre isto é possível, espero valer apenas as dicas acima.
Um abraço,
Leo Genilhu
Valeu,
Gustavo