Segurança com o SSH

O SSH é o método mais utilizado pelos Sysadmins, para acesseram seus hosts remotamente. O que pouca gente sabe, é que ele pode ser a causa de seu servidor ser comprometido.

O protocolo SSH é muito seguro, mas isto não significa que você deva usar a configuração padrão do serviço cegamente.

Aviso importante

Não siga as dicas cegamente. Leia e entenda se ela se adequa a sua necessidade.

O arquivo de configuração

O arquivo de configuração do SSH fica em /etc/ssh/sshd_config. A maioria das dicas mencionadas neste tutorial, tem como base a edição deste arquivo. Então, antes de mais nada, faça seu backup.

1 – Senhas vazias

No linux é possivel você criar usuários sem senha. Se este usuário tentar acessar o SSH, ele também não precisará digitar uma senha.

Isso é um risco a segurança. Para proibir o acesso a senhas vazias, edite no arquivo /etc/ssh/sshd_config a opção:

PermitEmptyPasswords no 

2 – Alterando a porta padrão

A porta SSH padrão é 22. A maioria dos scripts de ataque são escritos com esta porta. Alterar esta porta é uma camada a mais de segurança para seu servidor.

Dentro do arquivo de configuração, altere a porta, para um número diferente, exemplo:

Port 2345

3 – Desative o login de root via SSH

O root em servidores deveria ser proibido. Uma política bem escrita com o sudo já proporciona uma segurança melhor. Para desativar o acesso do root no SSH, no arquivo de configuração, defina:

PermitRootLogin no

4 – Desative o protocolo ssh 1

Isto é somente para distribuições mais antigas. As atuais oferecem apenas suporte ao protocolo 2. Se você tem dúvidas, adicione no arquivo:

Protocol 2

5 – Tempo de inatividade

O tempo de inatividade é quanto tempo uma conexão SSH pode ficar ativa sem nenhuma atividade. O intervalo de tempo limite é contado em segundos e, por padrão, é o 0. Você pode alterá-lo para 300 para manter um intervalo de tempo limite de cnco minutos.

Após este intervalo o servidor SSH enviará uma mensagem ativa ao cliente. Se não receber resposta, a conexão é fechada.

Você pode também, controlar quantas vezes ele envia a mensagem ativa, antes de desconectar:

ClientAliveCountMax 2

6 – Acesso SSH apenas para usuários selecionados

Só de permissão a quem é realmente necessário. Lembre-se. Menos é mais, quando tratamos de segurança.

Você pode definir os usuários que podem fazer acesso, restringindo os demais:

AllowUsers usuario1 usuario2 

Você pode criar um grupo somente para usuários que usam SSH e definir:

AllowGroups ssh_grupo

7 – Desative o encaminhamento X11

O encaminhamento X11 permite que você use aplicativos GUI via SSH. O protocolo X11 não é orientado para a segurança. Se você não precisa, desabilite:

X11Forwarding no

8 – Desative login SSH baseado em senha

Um excelente medida de segurança é usar uma chave pública para seu cliente acessar o servidor SSH. Assim o cliente acessa o servidor sem senha.

Conclusão

Além destas dicas, existem outras, como autenticação em dois fatores (que exigem um tutorial próprio). Mas, estas aqui, já garantem uma camada extra de segurança ao seu servidor.

Se você gostou deste tutorial, comente, sua opinião e incentivo é importante para o meu trabalho.

Print Friendly, PDF & Email