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: bashRecolherEncapsularCopiar
sudo passwd root
- Desative login direto no SSH em /etc/ssh/sshd_config (PermitRootLogin no) e reinicie com: bashRecolherEncapsularCopiar
sudo systemctl restart sshd
- Prefira sudo para tarefas administrativas, adicionando usuários ao grupo sudo: bashRecolherEncapsularCopiar
sudo 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: bashRecolherEncapsularCopiar
curl -fsSL https://updates.safing.io/latest/linux_amd64/install.sh | sudo bash
- Inicie o Portmaster com: bashRecolherEncapsularCopiar
sudo 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: bashRecolherEncapsularCopiar
sudo apt install flatpak
- Adicione o repositório Flathub: bashRecolherEncapsularCopiar
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
- Instale o Flatseal: bashRecolherEncapsularCopiar
flatpak 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: bashRecolherEncapsularCopiar
flatpak 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.