Debaixo do Capô

Administrar um servidor Debian/Ubuntu sempre vai exigir saber exatamente o que está acontecendo "debaixo do capô" para obter um panorama completo do sistema.

Pilares da Administração de Sistemas

Para um controle total "debaixo do capô", foque nestas cinco áreas:

  • Rede: Monitoramento de portas, latência e tráfego.
  • Hardware: Consumo de CPU, memória e saúde dos discos.
  • Segurança: Auditoria de logs, permissões e firewalls.
  • Usuários: Gestão de acessos, privilégios (sudo) e sessões ativas.
  • Automação: Criação de scripts e agendamento de tarefas (cron).

1. Rede e Conectividade (IP e Portas)

Para saber onde o servidor está na rede e quem está "ouvindo" as conexões.

Endereço IP:

ip addr show

ou o comando curto

ip a

Ele mostra o IP interno de todas as interfaces de rede.

IP Público (Externo):

curl ifconfig.me

Útil se o servidor estiver atrás de um roteador ou NAT.

Portas Abertas e Serviços:

sudo ss -tulpn

Este comando substitui o antigo netstat. Ele lista as portas (TCP/UDP) que estão abertas e qual processo está usando cada uma.

Status do Serviço SSH:

sudo systemctl status ssh

Verifica se o servidor SSH está rodando.

Configurações de Segurança do SSH:

cat /etc/ssh/sshd_config | grep -E "Port|PermitRootLogin|PasswordAuthentication"

Isso mostra rapidamente em qual porta o SSH atua e se logins perigosos (como root direto) estão permitidos.

Quem está logado agora:

who ou w

2. Recursos do Sistema (Hardware)

Saber se o servidor está "sufocado" ou com folga:

Uso de Memória RAM:

free -h

O -h deixa os valores em formato legível, como GB e MB.

Espaço em Disco:

df -h

Mostra quanto de armazenamento você ainda tem nas partições.

Processador e Carga (Real-time):

htop

ou, se preferir listar tudo que está rodando:

ps aux

Versão do Sistema Operacional:

lsb_release -a

Versão do Kernel:

uname -a

HDs externos ou storages de rede:

lsblk ou `mount

3. Firewall, Serviços e Logs (Segurança)

Verifica o Firewall (se ativo):

sudo ufw status verbose

Verifique se apenas o necessário (como SSH 22, HTTP 80, HTTPS 443) está ALLOW. Se estiver inactive, seu servidor está exposto.

Mostra os últimos erros do sistema:

journalctl -xe

Descobrir problemas silenciosos:

sudo journalctl -p 3 -xb

Listar serviços ativos:

systemctl list-units --type=service --state=running

O servidor pode ter bancos de dados, servidores web ou Docker rodando. Você precisa saber o que deve iniciar automaticamente após um reboot.

Verificar serviços que falharam:

systemctl --failed

Busque erros em serviços críticos que podem estar tentando reiniciar em loop.

Atualizações pendentes:

/usr/lib/update-notifier/apt-check --human-readable

Verificar se precisa de reboot:

ls /var/run/reboot-required

Se este arquivo existir, o servidor precisa reiniciar para aplicar patches de kernel.

4. Acessos e Privilégios (Usuários)

Quem tem poder de sudo:

cut -d: -f1,3 /etc/passwd | egrep ':[0-9]{4}$'

Geralmente usuários criados por humanos têm ID acima de 1000.

Quem tem privilégios root:

grep '^sudo:.*$' /etc/group

Busque usuários antigos ou desconhecidos que ainda possuem acesso.

5. Criação de scripts e agendamento de tarefas (Automação)

Ver tarefas agendadas no Crontab (backups, scripts):

sudo crontab -l ou ls /etc/cron.*

6. Docker e Containers (Se aplicável)

Hoje em dia, muitos serviços rodam isolados. Se o servidor usa Docker ou Podman, as portas listadas no ip a podem não contar a história toda.

Listar containers:

sudo docker ps -a

Verificar redes virtuais:

sudo docker network ls

Rolar para cima