Posted tagged ‘ssl’

Boas práticas na configuração de um servidor ssh

May 18, 2010

Na hora de configurar um servidor SSH, vulgo sshd, podemos habilitar/desabilitar algumas opções para que o uso do mesmo seja o mais seguro possível. É importante tomar um cuidado especial com essa configuração por ser um aplicativo que torna a sua máquina disponível para um acesso remoto!

O arquivo de configuração do sshd fica em /etc/ssh/sshd_config (no caso do Ubuntu/OpenBSD/Debian). Como root edite o arquivo:

# vim /etc/ssh/sshd_config

Uma das práticas é mudar a porta em que o sshd irá ouvir (tradicionalmente é a 22). A escolha de uma porta alta (maior que 1024) é importante pois muitos scanners procuram somente por portas até 1024 – num próximo post ensino a fazer isso ;]. Para mudar a porta, procure o parâmetro Port e mude-o. No caso utilizaremos a porta 1500.

Port 1500

Agora tiraremos o root para logar via ssh e listaremos os usuários que poderão logar-se.

PermitRootLogin no
AllowUsers johndoe marydoe

Agora reinicie o serviço:

# /etc/init.d/sshd restart

ou

# kill -HUP $(cat /var/run/sshd.pid)

Com apenas essas 3 regras já consegue alguma segurança extra. Agora fica com você a parte de fazer uma boa senha…

Referência: man sshd_config

Advertisements

Acessando máquinas remotas via SSH com troca de chaves

May 17, 2010

Acessar máquinas remotas com troca de chaves assimétricas é um procedimento que pode ajudar muito um administrador de sistemas, agilizando a sua vida. O primeiro passo é criar essas chaves na máquina cliente. Utilizaremos o comando ssh-keygen(1).

$ ssh-keygen -f /tmp/key

Note que ele perguntará se você deseja gerar uma chave assimétrica com senha. Inicialmente faremos uma chave sem senha (em um outro post explicarei melhor como criar com senha).
No final do programa, ele terá criado dois arquivos, no caso /tmp/key e /tmp/key.pub, que são as chaves privada e pública respectivamente.

Agora você deve liberar acesso à máquina servidor com a chave do cliente; para isso, mande a chave pública para a máquina servidor:

$ scp /tmp/key.pub usuario@maquina_servidor:/tmp/

Na máquina servidor adicione essa chave no arquivo authorized_keys (como o próprio nome diz, as chaves em quem ele confia):

$ cat /tmp/key.pub >> /home/usuario/.ssh/authorized_keys

Caso o arquivo não exista, você deve criá-lo (note que ele tem uma permissão específica):

$ mkdir /home/usuario/.ssh/
$ chmod 700 /home/usuario/.ssh/
$ touch /home/usuario/.ssh/authorized_keys
$ chmod 600 /home/usuario/.ssh/authorized_keys

Agora repita o passo de inserir a chave no arquivo.

Para testar, na máquina cliente tente:

$ ssh -i /tmp/key usuario@maquina_servidor

Se tudo ocorreu bem, você logou sem precisar colocar a senha :]

Fica ae a dica de hoje ;]
Qualquer dúvida mandem que eu tento ajudar!!

Referências: man ssh-keygen