Como ativar o início de sessão Root via SSH no Ubuntu
Por padrão, o Ubuntu desativa o login do root no SSH por motivos de segurança. Essa restrição ajuda a proteger os servidores contra acesso não autorizado, pois a conta raiz tem controle total sobre o sistema. No entanto, em determinadas situações, como na solução de problemas ou na execução de tarefas administrativas, talvez seja necessário ativar o login do root via SSH. Neste guia, vamos examinar o processo de ativação do login do root por SSH no Ubuntu, enfatizando algumas considerações importantes de segurança.
Considerações importantes sobre segurança
Antes de ativar o login do root via SSH, lembre-se de que isso pode expor seu sistema a riscos de segurança significativos. Aqui estão algumas precauções que você deve tomar:
1️⃣ Use uma senha forte 🔑
Certifique-se de que sua senha root seja complexa, incorporando letras maiúsculas e minúsculas, números e caracteres especiais. Evite usar palavras ou padrões fáceis de adivinhar. Considere o uso de um gerenciador de senhas para gerar e armazenar uma senha segura.
2️⃣ Habilite um firewall 🔥
Configure um firewall, como o UFW (Uncomplicated Firewall) ou o iptables, para restringir o acesso a portas críticas. Limite o acesso SSH somente a endereços IP confiáveis e bloqueie serviços desnecessários para reduzir os possíveis vetores de ataque. Atualize regularmente as regras do firewall com base nas necessidades de segurança.
3️⃣ Use chaves SSH para autenticação 🛡️
Em vez de depender de senhas, use a autenticação por chave SSH, que oferece uma camada extra de segurança. Gere um par de chaves usando ssh-keygen
, armazene a chave privada com segurança e adicione somente a chave pública ao seu servidor. Desative totalmente a autenticação por senha para evitar ataques de força bruta.
4️⃣ Alterar a porta padrão do SSH 🔄
Por padrão, o SSH é executado na porta 22, o que o torna um alvo comum para ataques automatizados. Altere a porta para uma não padrão (por exemplo, 2222 ou 5822) no arquivo de configuração do SSH(/etc/ssh/sshd_config
). Certifique-se de que a nova porta esteja aberta em suas configurações de firewall.
5️⃣ Desativar o login do root após a configuração 🚫
Após a conclusão da configuração inicial e das tarefas administrativas, desative o login direto na raiz para minimizar os riscos de segurança. Em vez disso, crie um usuário separado com privilégios sudo. Modifique o arquivo /etc/ssh/sshd_config e defina PermitRootLogin no para evitar tentativas de acesso não autorizado.
6️⃣ Habilite o Fail2Ban para prevenção de intrusões 🔍
Instale o Fail2Ban para monitorar os registros de SSH e bloquear automaticamente os endereços IP após várias tentativas de login com falha. Isso ajuda a proteger contra ataques de força bruta e acesso não autorizado. Personalize as regras do Fail2Ban para aumentar a segurança.
7️⃣ Mantenha seu sistema atualizado ⚙️
Atualize regularmente o sistema operacional, o software instalado e os patches de segurança usando apt update && apt upgrade (para Debian/Ubuntu) ou yum update (para CentOS/RHEL). Softwares desatualizados podem conter vulnerabilidades que podem ser exploradas por invasores.
8️⃣ Implemente a autenticação de dois fatores (2FA) 🏆
Para obter uma camada adicional de segurança, ative a 2FA para acesso SSH usando ferramentas como Google Authenticator ou Duo Security. Isso garante que, mesmo que as credenciais sejam comprometidas, o acesso não autorizado ainda será bloqueado sem o segundo fator de autenticação.
Ao implementar essas medidas, você aumenta significativamente a segurança do seu VPS, protegendo-o contra ataques de força bruta, logins não autorizados e possíveis vulnerabilidades. 🚀
Pré-requisitos
- Uma conta de usuário com privilégios sudo.
- Acesso SSH ao seu servidor Ubuntu.
Etapa 1: habilitar a senha do usuário root
Se você ainda não definiu uma senha para o usuário root, é necessário fazê-lo. Por padrão, o Ubuntu desativa o login do root ao não definir uma senha para a conta root. Para definir ou alterar a senha do usuário root, execute o seguinte comando:
sudo passwd root
Será solicitado que você digite uma nova senha para o usuário root. Certifique-se de escolher uma senha forte. Depois que você confirmar a nova senha, a conta root será ativada.
Etapa 2: Editar o arquivo de configuração do SSH
Para habilitar o login do root via SSH, é necessário modificar o arquivo de configuração do daemon SSH, sshd_config.
- Abra o arquivo de configuração do SSH usando seu editor de texto preferido. Por exemplo:
sudo nano /etc/ssh/sshd_config
- Procure a seguinte linha no arquivo de configuração:
PermitRootLogin prohibit-password
Essa linha significa que o login do root está desativado para autenticação por senha, mas pode ser permitido com chaves SSH.
- Altere essa linha para:
PermitRootLogin yes
Essa alteração permitirá que o usuário root faça login usando uma senha.
- Salve as alterações e saia do editor. Se estiver usando o nano, você pode salvar pressionando CTRL O, depois pressionar Enter e sair com CTRL X.
Etapa 3: reiniciar o serviço SSH
Para que as alterações tenham efeito, você precisa reiniciar o serviço SSH:
sudo systemctl restart ssh
Como alternativa, você pode usar:
sudo service ssh restart
Esse comando aplicará as novas configurações e habilitará o login do root pelo SSH.
Etapa 4: testar o login SSH do root
Agora que você ativou o login de root, é hora de testá-lo:
- Abra um cliente ou terminal SSH.
- Conecte-se ao seu servidor usando o nome de usuário root:
ssh root@seu_ip_servidor
- Digite a senha de root que você definiu anteriormente.
Se tudo estiver configurado corretamente, você poderá fazer login como usuário root.
Etapa 5: reverter alterações após o uso (recomendado)
Por motivos de segurança, é melhor desativar o login do root por SSH depois de concluir as tarefas necessárias. Para fazer isso:
- Abra novamente o arquivo de configuração do SSH:
sudo nano /etc/ssh/sshd_config
- Altere a opção PermitRootLogin novamente para:
PermitRootLogin prohibit-password
- Reinicie o serviço SSH:
sudo systemctl restart ssh
Isso desativará o login de root novamente, permitindo o acesso somente por meio de contas de usuário com privilégios sudo.