Considerações sobre segurança do servidor SSH na Internet

4

Que passos devo tomar para proteger razoavelmente meu desktop linux antes de abrir o sshd na Internet para que eu possa me conectar de qualquer lugar?

    
por Steven 28.09.2011 / 20:09

4 respostas

6

Eu recomendo que você use chaves RSA em vez de senhas para logons de SSH remotos.

Em segundo lugar, você vai querer instalar o Fail2Ban ou algo semelhante para desencorajar tentativas de quebra de força bruta ( embora, novamente, desabilitar a autenticação de senha em favor da autenticação de chave pública / privada RSA para acesso SSH tornaria isso um ponto discutível.

Terceiro, é possível impedir que o root se conecte via ssh; Eu recomendo que você faça isso e use sudo uma vez conectado.

Quanto ao resto ... Bem, todas as precauções usuais ao disponibilizar um serviço pela internet se aplicam, embora o SSH seja, por natureza, mais seguro do que a maioria.

    
por 28.09.2011 / 21:04
4

Certifique-se de manter seu servidor SSH atualizado. O OpenSSH tem um bom registro de segurança, mas você não quer.

Considere cuidadosamente se você precisa permitir autenticação de senha . Normalmente, você deve estar efetuando login apenas em computadores confiáveis (não digite uma senha em um computador que esteja executando um keylogger), e esses computadores confiáveis geralmente estão sob seu controle e possuem sua chave privada ssh. Portanto, na maioria das circunstâncias, a autenticação por senha não é útil e você deve desativá-la . A principal razão para proibir a autenticação de senhas é que os usuários são pobres em gerenciar senhas: eles as reutilizam (e as senhas vazam) e são ruins na escolha de senhas difíceis de adivinhar (para que as senhas sejam forçadas). Se você é o único usuário na máquina, e sua senha é strong, e você não usa essa senha em nenhum outro lugar, e você não tem e nunca terá nenhum tipo de conta de teste com um fácil de adivinhar senha, e você nunca abrirá uma conta para um amigo, então não há problema em permitir a autenticação de senha.

Você pode querer restringir o conjunto de usuários com permissão para efetuar login no ssh. Em particular, desabilitar os logins raiz pode tornar os ataques mais lentos se você estiver enfrentando um atacante de sofisticação de baixo a médio. Este não é um grande negócio embora; escalar de uma conta de usuário para root raramente é a parte mais difícil.

Se possível, mantenha os registros em uma máquina separada ou em mídia somente leitura. Observe que há muitos bots que realizam tentativas de força bruta para efetuar login com senhas adivinhadas ou chaves fracas . Esses bots são inofensivos contra uma configuração adequadamente segura (senhas strongs, sem chave de baixa entropia), mas podem gerar entradas de log. Uma maneira de se livrar dessas tentativas de força bruta é executar o ssh em uma porta não padrão. Note que esta é apenas uma maneira de manter o volume de logs baixo (e talvez reduzir um pouco o tráfego de sondagem), ele não fornece nenhuma segurança adicional em si.

Veja também esta pergunta semelhante no Security Stack Exchange .

    
por 28.09.2011 / 23:39
2

Tenha uma boa leitura da pergunta Endurecimento do servidor Linux na segurança stackexchange . Abrange o fechamento de serviços fracos e a remoção de serviços desnecessários e desatualizados.

    
por 28.09.2011 / 21:45
1

Limite o SSH-Connection-Rate e siga o link mencionado no artigo para fortalecer ainda mais o seu SSH. config. Também limita o sshd a usar somente o protocolo 2, proíbe o login direto via ssh.

Permitir que apenas sua conta efetue login Desabilite a autenticação por senha. Não use a porta 22. Use uma frase secreta para sua chave privada.

    
por 28.09.2011 / 22:58