Voltar aos artigos
Ubuntu

Ubuntu Server: primeiros passos e hardening básico

5 min de leitura por Equipe TRIAT
Saída de instalação de pacotes rolando em um terminal verde
Foto: Jake Walker · Unsplash

O Ubuntu Server é uma das portas de entrada mais tranquilas para o mundo Linux corporativo. Mas a instalação padrão é feita para funcionar em qualquer cenário, não para resistir à internet. Alguns passos de hardening separam um servidor exposto de um servidor seguro — e todos eles cabem na primeira hora depois da instalação.

Vale um contexto antes: um servidor com SSH aberto na internet começa a receber tentativas de login automatizadas em minutos. Não é um ataque direcionado à sua empresa; são varreduras contínuas que testam a internet inteira procurando senha fraca. É contra isso que os passos abaixo protegem.

1. Atualize antes de qualquer coisa

A imagem de instalação sempre está desatualizada em relação às correções publicadas. Antes de configurar qualquer serviço:

sudo apt update && sudo apt upgrade -y
sudo apt autoremove -y

Se o kernel foi atualizado, reinicie. É a única hora em que reiniciar é barato — não há nada em produção ainda.

2. Crie um usuário e desligue o login root

Trabalhar como root o tempo todo é convite a acidente: um comando digitado errado tem alcance total. Crie um usuário com sudo e use-o no dia a dia.

sudo adduser triat
sudo usermod -aG sudo triat

Há um segundo motivo, menos óbvio: rastreabilidade. Quando cada pessoa tem seu usuário, o log registra quem executou o quê. Com todo mundo entrando como root, o log diz apenas "root", e não há como reconstruir o que aconteceu.

3. Proteja o SSH

Este é o passo que elimina a maior parte do risco. Troque a autenticação por senha por chave SSH. Gere o par na sua máquina e envie a chave pública:

ssh-keygen -t ed25519 -C "triat-admin"
ssh-copy-id -i ~/.ssh/id_ed25519.pub triat@servidor

Confirme que o acesso por chave funciona e só então ajuste o /etc/ssh/sshd_config:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
Port 2222
AllowUsers triat
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2

O AllowUsers restringe quem pode sequer tentar autenticar. A troca de porta não é segurança de verdade — quem procura acha —, mas reduz drasticamente o ruído das varreduras automatizadas, deixando o log legível.

Antes de reiniciar o SSH, abra uma segunda sessão e confirme que a chave funciona nela. Aplique a mudança em uma janela e teste na outra. Perder o acesso a um servidor remoto por erro de configuração é mais comum do que parece — e a única saída costuma ser acesso físico ou console do provedor.

4. Firewall com UFW

O UFW é uma camada simples sobre o firewall do kernel. A postura correta é negar tudo e liberar o necessário:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp
sudo ufw allow from 192.168.10.0/24 to any port 3306
sudo ufw enable
sudo ufw status verbose

Repare na quarta linha: o banco de dados fica acessível só a partir da rede interna, nunca da internet. Serviço que não precisa ser público não deve ser público — e essa regra sozinha evita boa parte dos incidentes.

5. Fail2ban para o que sobrar

Mesmo com chave SSH, vale bloquear origens que insistem. O Fail2ban lê os logs e cria regras temporárias de bloqueio:

sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

Configure em /etc/fail2ban/jail.local — nunca no jail.conf, que é sobrescrito nas atualizações.

6. Atualizações automáticas de segurança

O pacote unattended-upgrades aplica correções de segurança sozinho — uma linha de defesa que trabalha enquanto você dorme.

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades
Deixe ativo apenas o repositório de segurança, não o de atualizações gerais. Correção de segurança é conservadora e feita para não quebrar nada; atualização geral pode mudar comportamento de aplicação sem aviso. E configure o envio de e-mail nos alertas, para saber o que foi aplicado.

7. Reduza o que está rodando

Todo serviço ativo é uma porta a mais. Veja o que está escutando na rede:

sudo ss -tulpn

Instalação padrão costuma trazer coisas que você não vai usar. Se um serviço não é necessário, desative-o em vez de apenas bloqueá-lo no firewall — regra de firewall pode ser alterada por engano; serviço desligado não escuta em lugar nenhum.

8. Registre e observe

Hardening sem observação é foto, não filme. Duas coisas simples fazem diferença:

  • Enviar os logs para fora do servidor. Se a máquina for comprometida, o atacante apaga os rastros locais. Log em servidor separado sobrevive;
  • Monitorar o básico — disco, memória, serviços essenciais e tentativas de login. O Zabbix resolve isso com um agente leve.

Checklist final

Antes de considerar o servidor pronto para produção, confira:

  1. sistema atualizado e reiniciado;
  2. usuário próprio criado, login root desativado;
  3. autenticação SSH por chave, senha desativada, testada em segunda sessão;
  4. firewall ativo, negando entrada por padrão;
  5. Fail2ban rodando;
  6. atualizações de segurança automáticas ligadas;
  7. serviços desnecessários desativados;
  8. backup configurado e testado com uma restauração;
  9. monitoramento reportando;
  10. horário sincronizado por NTP — log com hora errada atrapalha qualquer investigação.

Com isso, você já está à frente da maioria dos servidores expostos na internet. O resto é disciplina: revisar periodicamente, aplicar o que aparece de correção e não abrir exceção "só por hoje" que nunca é revertida.

A TRIAT implanta servidores Ubuntu com esse padrão de segurança e mantém o monitoramento e as atualizações sob contrato, com relatório do que foi aplicado.

Precisa disso rodando na sua empresa?

A TRIAT implanta e monitora Linux, storage, virtualização, redes e segurança — do projeto ao suporte 24/7.

Falar com um especialista