// Como proteger seu servidor Linux como um Hacker. - Parte 01.
Aprenda o passo a passo definitivo para endurecer a segurança de um servidor Linux Debian do zero.

A maior preocupação para um administrador infraestrutura é: Será que meu servidor está realmente seguro?
Eu como um profissional de infraestruturas, estou sempre buscando alternativas para melhorar a segurança do meu servidor, vou atrás de utilizar regras rígidas no Suricata, CrowdSec para bloquear ataques remotos, mas... E o principal?
Muitas vezes, acabamos nós preocupando tanto com a segurança do vetor de ataque externo que esquecemos um vetor principal:
A segurança primordial do primeiro acesso ao servidor. Esqueça crowdsec, fail2ban... Vamos para a parte mais trivial dessa configuração para manter nossos servidores seguro.
Esse tutorial aborda os primeiros passos da configuração de um servidor, baseado na distribuição do Linux Debian:
- Instalar o "sudo" e criar um usuário local
Por padrão, containers ou servidores VPS, vem com o usuário root com acesso total ao sistema. O que abre uma brecha de segurança fortíssima.
# Instale o sudo:
apt install sudo -y# Criar o usuário local
adduser franciscomonteiro# Adicionar permissões de administrador ao usuário local
usermod -aG sudo franciscomonteiro
- Teste de segurança
Vamos fazer uma checagem antes de desativar o usuário root? É melhor remediar do que ficar preso para fora da sua própria casa. ;)
# Testar usuário local
su - franciscomonteiro
# Testar se o usuário de fato está com poderes de administrador
sudo ls /root- Bloquear a conta root
Após realizarmos os testes, e confirmar que o usuário está funcionando e está com acesso a administrador local, vamos gerar uma senha matematicamente impossível de ser quebrada para o usuário "root".
passwd -l root- Atualizações automáticas de segurança
Muitas vezes, sabemos o quanto é difícil administrar vários servidores e manter todos atualizados, porém atualizações complexas podem quebrar serviços essenciais, para isso, iremos baixar e instalar apenas atualizações de segurança, mantendo a estabilidade que o Debian nós oferece, deixando possíveis atualizações complexas para serem feitas manualmente.
[Update: 20/08/26 - Por algum motivo, ao salvar o post no Ghost, a parte do tutorial simplesmente sumiu, coisa que antes da revisão estava aqui, então peço desculpas a todos.]
# Instalar o pacote de atualizações automáticas
sudo apt install unattended-upgrades -y
# Ativar e configurar o serviço no sistema
sudo dpkg-reconfigure --priority=low unattended-upgradesAo executar o último comando acima, irá abrir uma tela interativa no terminal perguntando se você deseja que as atualizações automáticas sejam baixadas e instaladas automaticamente. Basta confirmar.
Prontinho! Com isso, o servidor passa a aplicar atualizações críticas de segurança em segundo plano de forma automática, mantendo a estabilidade do Debian.
- Blindar o SSH
Agora que o seu usuário local está criado e com as permissões corretas, vamos proibir que o "root" seja usado para fazer login no sistema.
Isso impede que hackers da internet tentem chutar a senha do root.
# Abra o arquivo de configuração do SSH:
nano /etc/ssh/sshd_config
# Encontre a linha: "PermitRootLogin" e mude-e para "no", caso tenha um hashtag na frente, remova-o, ficando exatamente assim:
PermitRootLogin no
# Desativar a autenticação por senhas
PasswordAuthentication no
# Permitir a autenticação no SSH via chave privada
PubkeyAuthentication yes
# Salve e reinicie o serviço do SSH.
systemctl restart ssh
- Gerar um par de chaves seguro (ED25519)
Abra o seu terminal (Linux, macOS ou WSL no Windows) vamos gerar um par de chaves que utiliza o algoritmo Ed25519 e adiciona uma camada extra de segurança com um comentário de identificação.
Serão gerados dois arquivos;
"id_ed25519.pub" e "id_ed25519";
O id_ed25519.pub é sua chave pública que será copiada para seu servidor, a chave privada, deve manter protegida apenas com você! Se sua chave privada vazar, quem estiver posse dela, irá ter posse ao seu servidor.
Execute o comando abaixo para gerar seu par de chaves:
# Gerando o par de chaves (pública e privada) para se conectar ao servidor
# Dica: O terminal pedirá uma senha (passphrase). Se quiser máxima segurança, digite uma senha. Se preferir sem senha, basta apenas apertar Enter.
ssh-keygen -t ed25519 -C "ola@franciscomonteiro.com.br"
# Envie sua chave pública ao servidor
ssh-copy-id -i ~/.ssh/id_ed25519.pub franciscomonteiro@ip_do_servidor- O perigo da reutilização de senhas
Quando criamos uma senha para o nosso usuário, para a chave SSH (passphrase) ou para qualquer painel de controle, a tentação de usar uma senha "fácil de lembrar" ou de repetir aquela mesma senha que usamos em vários sites é grande.
Não faça isso!
Se um site menor que você utiliza sofrer um vazamento de dados, os hackers testarão essa mesma senha e e-mail no seu servidor Linux.
Para manter a sanidade e a segurança, nunca memorize senhas complexas. Utilize sempre um gerenciador de senhas confiável para gerar e armazenar códigos longos e aleatórios, como:
• Bitwarden
• 1Password
• KeePassXC
Conclusão
Com esses passos, seu servidor Debian sai do padrão vulnerável e ganha uma camada sólida de blindagem:
• Acesso root desativado;
• Chaves criptográficas (Ed25519) ativas;
• Senhas banidas do SSH, evitando ataques de brute-force.
Mas a segurança em infraestrutura é um caminho sem fim... Lembra do desenho do Tom e Jerry? Estamos frequentemente em uma caçada de gato e rato.

No próximo tutorial da série, vamos elevar o nível implementando Autenticação de Dois Fatores (2FA) com o Google Authenticator diretamente no SSH.

Beijo do Gordo. (Saudades do Jô Soares).
