Como posso proteger meu acesso SSH?

2

Então eu tenho um VPS e não tenho ideia de como administrá-lo. Eu entendo que uma das primeiras coisas a fazer é protegê-lo, e o primeiro passo concreto nessa direção que eu encontrei até agora é em moshen comentar :

Also, you should secure your SSH access as soon as possible. I recommend changing the default port, using key-based authentication and disabling password authentication and root logins (basically create a standard user account for you to log in with)

Até agora, tudo o que sei fazer é usar a interface da web do meu provedor VPS para abrir um console com acesso root. Então, como eu sigo o conselho de Moshen?

    
por brentonstrine 24.08.2012 / 10:10

3 respostas

6

  

Portanto, tenho um VPS e não tenho ideia de como administrá-lo.

Esse é o maior argumento para hospedagem gerenciada que eu já vi. Servidores hackeados são responsáveis por uma grande parte do absurdo que torna a internet um lugar ruim. Hospedagem de páginas de phishing, espalhando malwares. Se você for fazer isso, espero que faça isso corretamente.

Para dar uma idéia do empreendimento de longo prazo, eu li através disso: O que pode ser feito para proteger o servidor Ubuntu? Há outras perguntas como essa no site (dúzias) com boas respostas, mas essa tem algumas boas respostas.

Para o SSH, passei por tudo isso em formato longo no meu blog , mas o pontos-chave são:

  • Mova-o para outra porta. Algo alto, na faixa de 10.000 a 60.000.
  • Instale fail2ban .
  • Use a autenticação baseada em chave.
  • Desativar a autenticação de senha.
  • Desative o login root (verifique se seu usuário está no grupo admin).
  • Certifique-se de que seu usuário não tenha um nome que possa ser adivinhado (por exemplo, administrador).

Basta mover a porta para desviar 99,99% das tentativas de invasão. fail2ban impedirá que qualquer tentativa bruta seja viável. Forçar a autenticação baseada em chave significa que o número de palpites que um bruto levaria agora está na faixa de bilhões de bilhões. Desabilitar o login root e ter um nome de usuário mais difícil de adivinhar significa que ele nem sequer tem um nome de usuário para começar a bruting: ele precisa brutar pelo nome de usuário antes mesmo de chegar ao elemento de senha.

Isso resulta em um servidor SSH razoavelmente seguro. Teria que haver uma exploração horrível para as pessoas passarem por isso ... Mas não se preocupe em deixar a porta tão impenetrável quanto possível e depois ignorar a janela aberta.

  • Aplicativos da Web (de todas as linguagens dinâmicas) são hackíveis. Se você estiver usando scripts de código aberto, precisará manter-se atualizado sobre as atualizações.
  • Um firewall deve impedir que as pessoas acessem serviços que não devem ser expostos à Internet (o MySQL, por exemplo).
  • Caso contrário, os serviços seguros permitirão que as pessoas entrem em contato se você não estiver aplicando patches nelas (e as reiniciando após o patch).
por Oli 24.08.2012 / 10:59
0

Para começar, o que você realmente precisa fazer é adicionar seu usuário, digitando:

adduser username
usermod -a -G sudo username

Depois de fornecer sua senha e outros dados, você pode fazer login no seu servidor como usuário usando ssħ username@yourserverip . Você ainda pode executar comandos root usando sudo por exemplo.

sudo apt-get install something

Eu recomendo tornar a senha do root strong usando o comando:

passwd

... como root, que emitirá a alteração da senha.

Não há necessidade de alterar a porta ssh se você tiver senhas strongs, o ssh é seguro o suficiente e é totalmente correto executá-lo na porta padrão. Ssh será a última coisa que hackers hackearão se esse for o caso.

    
por offlinehacker 24.08.2012 / 10:40
0

Para alterar as configurações do sshd, abra o arquivo de alteração do arquivo /etc/ssh/sshd_config conforme necessário. Para alterar a pesquisa de porta, fort Port 22 line e altere o 22 para outro valor, por exemplo, 4530 .

Então, quando você se conecta ao seu servidor via ssh, você tem que usar ssh user@host -p 4530

Desative a alteração de login raiz PermitRootLogin yes to PermitRootLogin no

Na maioria das vezes, a autenticação baseada em chave é ativada por padrão, mas verifique se está ativada PubkeyAuthentication yes .

Antes de desabilitar a autenticação por senha, crie uma chave ssh para você usando ssh-keygen , se você não tiver antes, e adicione-a à sua conta de usuário do VPS. geralmente ~/.ssh/authorized_keys

Primeiro, verifique se a autenticação baseada em chave está funcionando e, em seguida, desative a autenticação de senha - PasswordAuthentication yes

Em seguida, instale uma ferramenta como denyhosts para impedir que os IPs acessem o sshd.

    
por Manula Waidyanatha 24.08.2012 / 10:41