Videos selecionados

Loading...

21 de maio de 2009

ssh e segurança

Existem situações onde o ssh aberto pode ser prejudicial à máquina. Por "aberto", definimos quando é possível logar através de usuário root, login com senha em branco e, bem especialmente, login de uma base de dados de usuário externa.

Vou explicar cada um dos casos e como garantir a segurança neles. Todas elas são configuradas no arquivo /etc/ssh/sshd_config.

Quanto temos login através do usuário root, o problema consiste na possibilidade de tentarem, através de força bruta, um login bem sucedido. Para impedir isto, somente precisamos configurar o openssh. Fica assim:
$vi /etc/ssh/sshd_config
acrescentar "PermitRootLogin no" ou mudar o parâmetro, se existir, de "yes" para "no".

O segundo caso, senha em branco, é mais raro porque o próprio arquivo de configuração desaconselha este procedimento. Mas, caso esteja assim configurado, no mesmo arquivo, devemos mudar a opção "PermitEmptyPasswords" para "no", garantindo assim que usuários com senha em branco não possam logar.

O terceiro caso trata da possibilidade de autenticarmos em um servidor externo, isto é, não são necessariamente usuários do próprio sistema e quem garante a autenticação é um agente externo. Ocorre quando estamos fazendo uso de samba, ldap ou qualquer outro mecanismo de gerenciamento de autenticação que permite login. Para corrigirmos isto, acrescentamos o parâmetro "AllowUsers" seguida da lista de usuários permitidos, separados por espaços em branco, sendo estes pertencentes ao sistema ou não, considerando que a autenticação não é garantida pela própria máquina. Independente da autenticação externa, esta configuração também se aplica a restrição de usuários no caso de querermos que somente alguns tenham permissão de uso de ssh.

Obs: não esqueça de reiniciar o serviço ($/etc/init.d/ssh restart) após salvar o arquivo, para aplicar as alterações. Note que esta reinicialização não afeta usuários já conectados.

0 comentários: