0%
Segurança e Configuração de Sistemas Linux

Segurança e Configuração de Sistemas Linux

Guia completo para configurar e proteger seus sistemas Linux de forma eficaz

I

InSkillCoach

· min

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.

InSkillCoach

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+
1.2k
75

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!