Como proteger o acesso remoto a um servidor Linux (sem chaves SSH)

Uma das tarefas mais importantes ao configurar qualquer novo servidor público é garantir que ele seja seguro!

Antes de prosseguir, quero salientar que estou totalmente ciente das chaves SSH e de sua finalidade; no entanto, este guia é um conjunto básico de etapas de baixo nível para proteger seu servidor. 

Eu escolho adotar esse método em vez de chaves por uma questão de preferência porque, assim como tudo o mais, chaves SSH versus senhas têm prós e contras para cada uma.

Agora, é claro que as chaves SSH são uma maneira sólida de proteger seu servidor Linux, assim como todas as coisas.

Etapa 1: crie um novo usuário com privilégios

A primeira coisa que faço sempre que provisiono um novo servidor para qualquer finalidade é o acesso seguro a ele. Para fazer isso, vou criar uma nova conta de usuário chamada 'admin' com privilégios sudo que sempre será usada para acessar o servidor e executar comandos. O acesso root remoto será desativado.

Execute o comando adduser e siga as instruções na tela para definir sua senha e outras informações, se necessário.

  • Comando:
  • sudo adduser admin

Agora que configuramos o usuário 'admin', é hora de conceder privilégios sudo.

  • Comando:
  • sudo usermod -aG sudo admin

Agora você criou um novo usuário chamado ‘admin’ com privilégios sudo que permitirão acessar seu servidor via SSH.

Observação: eu recomendaria testar o novo usuário antes de prosseguir, abrindo uma nova sessão SSH em seu servidor.

Etapa 2: alterar a porta SSH padrão

É provável que em breve (se ainda não) alguém capture o endereço IP do seu servidor e tente forçar a porta 22. Portanto, vamos alterar a porta de escuta do SSH da porta 22 para 22334.

  • Comando:
  • sudo nano /etc/ssh/sshd_config

Conforme você avança na configuração, você verá que a linha para o número da porta está comentada. Simplesmente descomente, altere o número da porta e salve o arquivo.

  1. Antes:
  2. Porta 22
  3. Depois:
  4. Porta 22334

Agora que alteramos o número da porta para algo diferente, vamos desabilitar o acesso root remoto antes de abrir uma nova sessão com a nova porta, pois estamos atualmente conectados na porta 22.

Etapa 3: desative o acesso root remoto

Nem é preciso dizer, mas você realmente não quer que ninguém tenha acesso não autorizado e indesejado ao seu servidor, especialmente acesso root, então vamos evitar que isso aconteça.

Para fazer isso vamos editar o arquivo `sshd_config` novamente.

  • Comando:
  • sudo nano /etc/ssh/sshd_config

Desta vez estamos procurando a linha que diz 'PermitRootLogin yes’ e simplesmente vamos alterá-la para 'no’.

  1. Antes:
  2. PermitRootLogin yes
  3. Depois:
  4. PermitRootLogin no

Essas alterações não terão efeito até que você reinicie o serviço sshd.

  • Comando:
  • sudo service sshd restart

Agora podemos testar o novo número da porta e fazer login com o usuário 'admin'.

  • Se estiver usando PuTTY no Windows: insira a porta 22334 no campo porta.
  • Se estiver usando terminal no Mac:'ssh -p 22334 admin@your-server-ip'

Etapa 4: configurar o firewall do Linux (ufw)

O Ubuntu vem com o ufw pré-instalado, porém, se por algum motivo você não tiver o pacote instalado, você pode instalá-lo usando o apt-get.

  • Comando:
  • sudo apt-get install ufw

Agora vamos definir a regra de entrada padrão para negar tráfego, a menos que seja explicitamente permitido.

  • Comando:
  • sudo ufw default deny incoming

Se nesta fase você ativar o firewall, ele bloqueará todas as conexões de entrada, incluindo SSH (22), FTP (21), etc., então espere até criarmos mais algumas regras.

Vamos habilitar sua porta recém-configurada (22334) para acesso de entrada.

  • Comando:
  • sudo ufw allow 22334

Finalmente precisamos habilitar o firewall.

  • Comando:
  • sudo ufw enable

É isso. Agora você tem um servidor que só pode ser acessado usando uma porta personalizada e um usuário não root.

Provavelmente adicionarei algumas outras medidas de segurança no futuro. Este guia é apenas uma visão geral para proteger seu servidor em um nível básico.

Postar um comentário

Postagem Anterior Próxima Postagem

Formulário de contato