Hardening em Linux: Como Fortalecer seu Sistema contra Ameaças

LinuxSegurançaTecnologia

Introdução

O hardening (ou endurecimento) é um processo essencial para aumentar a segurança de qualquer sistema operacional, e o Linux não é exceção. Com sua crescente adoção em servidores, ambientes corporativos e até mesmo em desktops, implementar práticas de segurança robustas tornou-se indispensável para proteger o sistema contra ataques. Neste artigo, exploraremos como realizar o hardening em Linux, com medidas práticas para reduzir a superfície de ataque e aumentar a resiliência do sistema.


1. Mantenha o Sistema Atualizado

Atualizações regulares são a base da segurança. O Linux recebe patches e correções constantemente, e aplicá-los é crucial para evitar vulnerabilidades conhecidas. A escolha da sua distro tambem é algo importante, para segurança de modo mais pratico eu recomendo Ubuntu ou Fedora.

Dicas:

  • Use apt update && apt upgrade (Debian/Ubuntu) ou yum update (Red Hat).
  • Configure atualizações automáticas para receber correções rapidamente.

2. Configure Permissões de Arquivos e Diretórios

Permissões mal ajustadas podem expor dados sensíveis ou permitir alterações indevidas. O princípio do menor privilégio (principle of least privilege) é chave.

Dicas:

  • Ajuste permissões com chmod e chown.
  • Defina um umask restritivo (ex.: 027) para novos arquivos.

3. Desative Serviços e Portas Desnecessárias

Serviços ativos são potenciais portas de entrada. Identifique e elimine o que não é essencial.

Dicas:

  • Desative serviços com systemctl disable ou service.
  • Verifique portas abertas com ss ou netstat e feche as desnecessárias.
  • Restrinja acesso a serviços críticos por IP.

4. Use SELinux ou AppArmor

Esses sistemas de controle de acesso adicionam uma camada extra de proteção.

  • AppArmor: Simples e ideal para desktops (padrão em Ubuntu).
    • Verifique com sudo aa-status.
    • Ative com sudo systemctl enable apparmor && sudo systemctl start apparmor.
  • SELinux: Robusto e granular, perfeito para servidores (comum em Red Hat).
    • Habilite editando /etc/selinux/config para SELINUX=enforcing e reinicie com sudo reboot.

Nota: SELinux pode ser complexo; AppArmor é mais amigável para iniciantes.


5. Configure um Firewall (UFW/Gufw)

Um firewall bem ajustado bloqueia tráfego indesejado.

  • UFW: Simples e poderoso.
    • Instale com sudo apt install ufw.
    • Ative com sudo ufw enable.
    • Exemplo: sudo ufw allow ssh.
    • Veja regras com sudo ufw status.
  • Gufw: Interface gráfica para UFW.
    • Instale com sudo apt install gufw.

Dicas:

  • Bloqueie tudo por padrão e libere apenas o essencial.

6. Monitore e Audite o Sistema

Logs e ferramentas de monitoramento detectam atividades suspeitas.

Dicas:

  • Use auditd para registrar eventos críticos.
  • Instale fail2ban para bloquear tentativas de login maliciosas.

7. Fortaleça o SSH

O SSH é um alvo comum; configure-o com cuidado.

Dicas:

  • Desative login de root em /etc/ssh/sshd_config (PermitRootLogin no).
  • Use autenticação por chave, não senhas.
  • Mude a porta padrão (ex.: de 22 para 2222).
  • Limite tentativas com MaxAuthTries.

8. Criptografe o Disco

Proteja dados sensíveis contra acesso físico.

Dicas:

  • Use LUKS para criptografar volumes.
  • Criptografe também os backups.

9. Restrinja o sudo

O sudo concede poderes elevados; limite seu uso.

Dicas:

  • Configure apenas usuários confiáveis em /etc/sudoers.
  • Revise permissões regularmente.

10. Gerencie a Conta Root com Segurança

A conta root tem acesso irrestrito e deve ser protegida. Defina uma senha forte e única, diferente do usuário padrão, e evite seu uso direto.

Por que isso importa?

  • Senhas iguais facilitam escalonamento de privilégios em caso de comprometimento.
  • Logins diretos como root são alvos óbvios para ataques.

Dicas:

  • Altere a senha do root com: bashRecolherEncapsularCopiarsudo passwd root
  • Desative login direto no SSH em /etc/ssh/sshd_config (PermitRootLogin no) e reinicie com: bashRecolherEncapsularCopiarsudo systemctl restart sshd
  • Prefira sudo para tarefas administrativas, adicionando usuários ao grupo sudo: bashRecolherEncapsularCopiarsudo usermod -aG sudo nome_do_usuario
  • Opcional: Bloqueie a conta root com sudo passwd -l root.

11. Use o Portmaster para Controle de Rede

O Portmaster é um firewall de código aberto que oferece controle granular sobre o tráfego de rede, bloqueando conexões indesejadas e monitorando atividades em tempo real.

Por que usar o Portmaster?

  • Facilidade de uso: Interface gráfica intuitiva para gerenciar regras de firewall.
  • Privacidade: Bloqueia trackers e conexões suspeitas automaticamente.
  • Flexibilidade: Permite regras por aplicativo, complementando ferramentas como UFW.

Dicas:

  • Instalação: Baixe o pacote do site oficial (https://safing.io/portmaster/) ou instale via repositório: bashRecolherEncapsularCopiarcurl -fsSL https://updates.safing.io/latest/linux_amd64/install.sh | sudo bash
  • Inicie o Portmaster com: bashRecolherEncapsularCopiarsudo systemctl start portmaster
  • Configure regras na interface gráfica ou via terminal para permitir/bloquear tráfego específico.
  • Ative o modo “bloquear por padrão” e libere apenas conexões confiáveis.

Nota: O Portmaster é ideal para usuários que desejam uma solução leve e visual, mas requer conexão à internet para atualizações iniciais.


12. Use Flatpaks com Flatseal para Isolamento de Aplicativos

Os Flatpaks são uma forma moderna de instalar aplicativos no Linux, oferecendo isolamento via sandboxing. Combinados com o Flatseal, você pode ajustar permissões para aumentar a segurança.

Por que usar Flatpaks e Flatseal?

  • Isolamento: Flatpaks executam aplicativos em contêineres, limitando o acesso ao sistema.
  • Controle granular: Flatseal permite ajustar permissões específicas (ex.: acesso a arquivos, rede).
  • Atualizações independentes: Reduz dependências do sistema base.

Dicas:

  • Instale o suporte a Flatpaks: bashRecolherEncapsularCopiarsudo apt install flatpak
  • Adicione o repositório Flathub: bashRecolherEncapsularCopiarflatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
  • Instale o Flatseal: bashRecolherEncapsularCopiarflatpak install flathub com.github.tchx84.Flatseal
  • Use o Flatseal para restringir permissões (ex.: bloqueie acesso à webcam ou ao diretório home para apps que não precisam disso).
  • Exemplo: Instale o Firefox como Flatpak: bashRecolherEncapsularCopiarflatpak install flathub org.mozilla.firefox

Nota: Flatpaks são ideais para desktops e aumentam a segurança ao isolar apps potencialmente arriscados.


13. Escaneie com ClamAV

Embora raro, malware pode afetar o Linux, especialmente em ambientes mistos.

Dicas:

  • Instale com sudo apt install clamav clamav-daemon.
  • Atualize com sudo freshclam.
  • Escaneie com clamscan -r /diretorio.

Conclusão

O hardening em Linux combina atualizações, configurações seguras e ferramentas como AppArmor, UFW, Portmaster, Flatpaks com Flatseal e ClamAV para proteger seu sistema. Gerenciar a conta root com cuidado, preferindo sudo, é mais um passo para minimizar riscos. Escolha uma distribuição confiável (ex.: Ubuntu, Fedora) e aplique essas práticas para enfrentar ameaças com confiança.


Principais Referencias:
Linux Security Hardening Checklist – LinuxHint
https://www.debian.org/doc/manuals/securing-debian

Profissional de cibersegurança, ex-desenvolvedor, atualmente atuando como Pentester, buscando evolução contínua na carreira e explorando áreas de liderança, compliance e gestão.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *