Introdução
A maioria dos administradores de rede toma alguma ação com relação ao serviço de ssh, como, por exemplo, não permitir login como root, alterar a porta default do serviço, tudo isso pode e deve ser feito, mas o objetivo dessa documentação é implementar uma camada a mais de segurança, o uso de chaves.Isso deve ser implementado em todos os seus servidores, pois mesmo sendo um servidor interno da sua rede, ele ainda está exposto aos atacantes internos e aos ataques automatizados através de botnet. Algum usuário da sua rede pode estar atacando seu servidor sem nem suspeitar disso.
Gerar a chave no Windows
Para gerar a chave no Windows vamos utilizar um utilitário chamado Puttygen. Baixe o executável e inicie o mesmoA tela inicial já nos vem configurada para chave SSH-2 RSA de 2048 bits, clique no botão Generate.
Movimente o mouse na área sem dados para gerar a senha.
Na parte superior temos a chave pública que será colocada no servidor, selecione o seu conteudo e copie para um txt temporário.
A segunda seleção é onde você deve cadastrar uma senha para sua chave privada, crie a maior senha que você consiga lembrar, se alguém quebrar essa senha você perdeu sua chave privada.
E na última seleção temos a opção de salvar a chave pública e privada. Salve apenas a chave privada.
Configurações no Servidor Linux
Criar o usuário e configurar o acesso via chave
Crie o usuário no Linux# adduser teste
Entre no diretório do usuário
# cd /home/teste/
Crie o diretório.ssh
# mkdir .ssh
Acesse o diretório
# cd .ssh/
Crie o arquivo.
# vi authorized_keys
Dentro desse arquivo você vai colocar o conteúdo da chave pública, aquela que você colou em um arquivo temporário. Tenha certeza de que não houve quebra de linha (Se você colar no Word já era) - Dica do meu amigo Gesiel.
Altere as permissões do diretório
# chmod 700 .
E do arquivo
# chmod 600 authorized_keys
E por último de todo o diretório .ssh
# chown -R teste:teste /home/teste/.ssh
Testar a conexão
Para se conectar ao servidor Linux vamos utilizar outro utilitário o Putty. Baixe o executável e inicie o mesmoEm Session informe o IP e Porta do Servidor
Em Connection // Data informe o nome do usuário
Em Connection // SSH // Auth informe o caminho da sua chave privada e clique em Open.
Observe que ele não pede a senha do meu usuário, mas sim a senha da minha chave privada. Aquela que nós definimos no momento da criação da chave.
E agora estamos logados.
Incrementar a segurança do SSH
Uma vez logados com sucesso, chegou a hora de incrementarmos a segurança do SSH no servidor Linux. Para isso execute o login como root e edite o arquivo sshd_config# vi /etc/ssh/sshd_config
# Alterar a porta padrao
#Port 22
Port 2891
# Proibir login como root, os usuarios devem usar o su -
#PermitRootLogin yes
PermitRootLogin no
# Liberar acesso via chave
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# Proibir o acesso via senha
#PasswordAuthentication yes
PasswordAuthentication no
Se o servidor em questão for um FreeBSD altere também a diretiva abaixo:
ChallengeResponseAuthentication no
# service sshd restart
Testar acesso com usuário e senha
Ao tentar se logar passando um nome de usuário a mensagem abaixo é exibidaPronto! Basta acessar passando a sua chave privada e a porta correta ;-)
Referências
LocawebMan sshd_config
Fórum FreeBSD
Nenhum comentário:
Postar um comentário