Segurança e Configuração de Sistemas Linux
Guia completo para configurar e proteger seus sistemas Linux de forma eficaz
InSkillCoach
Segurança e Configuração de Sistemas Linux
A segurança e a configuração adequada de um sistema Linux são essenciais para garantir sua estabilidade, seu desempenho e sua resistência a ameaças. Este guia apresenta as melhores práticas para configurar e proteger seus sistemas Linux de forma eficaz.
Configuração do sistema
Gerenciamento de usuários e grupos
O gerenciamento de usuários é fundamental para a segurança e a organização de um sistema Linux.
Criação e gerenciamento de usuários
# Criar um novo usuário
sudo useradd -m username
# Definir uma senha
sudo passwd username
# Adicionar um usuário a um grupo (ex: sudo)
sudo usermod -aG sudo username
# Excluir um usuário
sudo userdel -r username
Gerenciamento de grupos
# Criar um novo grupo
sudo groupadd groupname
# Adicionar um usuário a um grupo
sudo usermod -aG groupname username
# Excluir um grupo
sudo groupdel groupname
Configuração de rede
Uma configuração de rede adequada é essencial para a conectividade e a segurança.
Configuração de IP estático (Ubuntu/Debian com Netplan)
# Editar o arquivo de configuração
sudo nano /etc/netplan/01-netcfg.yaml
Exemplo de configuração:
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
Aplicar as alterações:
sudo netplan apply
Configuração de DNS
# Editar o arquivo resolv.conf
sudo nano /etc/resolv.conf
Exemplo de configuração:
nameserver 8.8.8.8
nameserver 8.8.4.4
Serviços do sistema
O gerenciamento de serviços é crucial para controlar o que é executado no seu sistema.
Gerenciamento com systemd
# Verificar o status de um serviço
sudo systemctl status service-name
# Iniciar um serviço
sudo systemctl start service-name
# Parar um serviço
sudo systemctl stop service-name
# Habilitar um serviço na inicialização
sudo systemctl enable service-name
# Desabilitar um serviço na inicialização
sudo systemctl disable service-name
# Reiniciar um serviço
sudo systemctl restart service-name
Verificar os serviços ativos
# Listar todos os serviços ativos
systemctl list-units --type=service --state=active
Segurança no Linux
Firewall com UFW (Uncomplicated Firewall)
O UFW é uma interface simplificada para o iptables, que facilita a configuração do firewall.
# Instalar o UFW
sudo apt install ufw
# Verificar o status
sudo ufw status
# Ativar o UFW
sudo ufw enable
# Permitir SSH (porta 22)
sudo ufw allow 22/tcp
# Permitir HTTP e HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Bloquear uma porta específica
sudo ufw deny 3306
# Bloquear um endereço IP
sudo ufw deny from 192.168.1.10
# Remover uma regra
sudo ufw delete deny 3306
Proteção do SSH
O SSH costuma ser a principal porta de entrada para o seu servidor, por isso é crucial protegê-lo.
# Editar a configuração do SSH
sudo nano /etc/ssh/sshd_config
Alterações recomendadas:
# Desabilitar o login como root
PermitRootLogin no
# Desabilitar a autenticação por senha
PasswordAuthentication no
# Limitar os usuários autorizados
AllowUsers user1 user2
# Alterar a porta padrão (opcional)
Port 2222
# Limitar as tentativas de autenticação
MaxAuthTries 3
Reinicie o SSH para aplicar as alterações:
sudo systemctl restart sshd
Autenticação por chave SSH
A autenticação por chave é mais segura do que as senhas.
# Na sua máquina local, gerar um par de chaves
ssh-keygen -t ed25519 -C "votre_email@exemple.com"
# Copiar a chave pública para o servidor
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server
Atualizações de segurança
Manter o sistema atualizado é uma das medidas de segurança mais importantes.
# Atualizar a lista de pacotes
sudo apt update
# Instalar as atualizações
sudo apt upgrade
# Atualizar o sistema completo
sudo apt dist-upgrade
# Remover os pacotes obsoletos
sudo apt autoremove
Para atualizações automáticas (Ubuntu/Debian):
# Instalar o unattended-upgrades
sudo apt install unattended-upgrades
# Configurar as atualizações automáticas
sudo dpkg-reconfigure unattended-upgrades
Fail2ban - Proteção contra ataques de força bruta
O Fail2ban monitora os logs e bloqueia temporariamente os endereços IP que apresentam sinais de ataque.
# Instalar o Fail2ban
sudo apt install fail2ban
# Criar um arquivo de configuração local
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
Configuração recomendada para SSH:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
Reiniciar o Fail2ban:
sudo systemctl restart fail2ban
Verificar o status:
sudo fail2ban-client status sshd
Monitoramento e registro de logs
Logs do sistema
Os logs são essenciais para diagnosticar problemas e monitorar a segurança.
# Exibir os logs recentes do sistema
journalctl -xe
# Acompanhar os logs em tempo real
tail -f /var/log/syslog
# Procurar tentativas de login malsucedidas
grep "Failed password" /var/log/auth.log
# Rotação de logs
sudo logrotate -f /etc/logrotate.conf
Ferramentas de monitoramento
# Monitoramento de processos e recursos
htop
# Monitoramento de E/S de disco
iotop
# Monitoramento de rede
nethogs
# Monitoramento completo do sistema
glances
Auditorias de segurança com Lynis
O Lynis é uma ferramenta de auditoria de segurança para sistemas Unix/Linux.
# Instalar o Lynis
sudo apt install lynis
# Executar uma auditoria completa
sudo lynis audit system
Backup e recuperação
Backup com rsync
# Fazer backup de um diretório localmente
rsync -av --delete /source/directory/ /destination/directory/
# Fazer backup para um servidor remoto
rsync -avz -e ssh /source/directory/ user@remote:/destination/directory/
Backup com Duplicity
# Instalar o Duplicity
sudo apt install duplicity
# Fazer backup para um servidor FTP
duplicity /home/user ftp://user:password@ftp.example.com/backup
Conclusão
Proteger e configurar adequadamente um sistema Linux são processos contínuos que exigem vigilância constante. Seguindo as melhores práticas descritas neste guia, você pode melhorar consideravelmente a segurança e o desempenho dos seus sistemas Linux.
Lembre-se de que a segurança é um equilíbrio entre funcionalidade e proteção. Sempre adapte essas recomendações às suas necessidades específicas e ao seu ambiente.
Mantenha-se informado sobre as vulnerabilidades e atualizações de segurança mais recentes para manter seu sistema protegido contra novas ameaças.
Sobre InSkillCoach
Especialista em treinamento e tecnologias
Coach especializado em tecnologias avançadas e IA, apoiado pela GNeurone Inc.
Certificações:
- AWS Certified Solutions Architect – Professional
- Certificações Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
Comentários
Os comentários são alimentados pelo GitHub Discussions
Conecte-se com o GitHub para participar da discussão