Proteger seu servidor Ubuntu é essencial para proteger seus dados, aplicativos e infraestrutura contra ataques maliciosos. Esteja você hospedando sites, bancos de dados ou aplicativos, a adoção de práticas de segurança robustas garante que seu servidor seja resiliente contra vulnerabilidades. Neste artigo, veremos etapas práticas para proteger seu servidor Ubuntu, incluindo configurar firewalls, configurar o SSH com segurança e usar ferramentas como fail2ban, e outras dicas de reforço.
Artigo anterior:
01. Introdução ao Ubuntu Server – SysOSX: AI & Cloud
02. Como configurar seu primeiro servidor Ubuntu: guia para iniciantes – SysOSX: AI & Cloud
03. Dominando a linha de comando do Linux para Ubuntu Server – SysOSX: AI & Cloud
04. Gerenciamento de usuários e permissões no Ubuntu Server: guia completo – SysOSX: AI & Cloud
05. Fundamentos de rede para Ubuntu Server: guia completo – SysOSX: AI & Cloud
06. Instalação e gerenciamento de software no Ubuntu Server: guia completo – SysOSX: AI & Cloud
07.Aplicação de patches e atualização do Ubuntu Server: guia completo – SysOSX: AI & Cloud
Por que a segurança do servidor é importante?
Os servidores geralmente armazenam dados confidenciais e são essenciais para as operações comerciais. Sem medidas de segurança adequadas, invasores podem explorar vulnerabilidades para obter acesso não autorizado, interromper serviços ou roubar informações. Seguindo estas etapas práticas, você pode reduzir significativamente o risco de ataques e garantir que seu servidor permaneça seguro.
1. Mantenha seu sistema atualizado
Atualizações regulares são essenciais para corrigir vulnerabilidades de segurança e manter seu servidor seguro. O Ubuntu fornece atualizações oportunas para seus pacotes e kernel.
Etapas para atualizar seu servidor:
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
Além disso, habilite unattended-upgrades para automatizar as atualizações de segurança:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
2. Configure um firewall com UFW
Um firewall é sua primeira linha de defesa contra acesso não autorizado. O Ubuntu inclui UFW (Uncomplicated Firewall), que simplifica o gerenciamento do firewall.
Etapas para configurar o UFW:
- Habilite o UFW:
sudo ufw enable
- Permitir conexões SSH:
sudo ufw allow ssh
- Permitir portas específicas (por exemplo, HTTP e HTTPS para servidores web):
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
- Verifique o status do firewall:
sudo ufw status
Por padrão, o UFW bloqueia todas as conexões de entrada, exceto as explicitamente permitidas, garantindo a proteção do seu servidor.
3. Proteja o acesso SSH
O SSH é o principal método de gerenciamento remoto de servidores, mas costuma ser alvo de ataques de força bruta. Proteger o SSH é fundamental para reduzir o risco de acesso não autorizado.
Dicas para proteger o SSH:
- Altere a porta SSH padrão:
- Edite o arquivo de configuração do SSH:
sudo nano /etc/ssh/sshd_config
- Altere a porta padrão (por exemplo, de
22para2222) e reinicie o serviço SSH:
sudo systemctl restart ssh
- Atualize a regra do UFW para permitir o acesso à porta nova:
sudo ufw allow 2222/tcp
- Desabilite o login como root:
Em/etc/ssh/sshd_config, defina:
PermitRootLogin no
- Use autenticação por chave SSH:
- Gere um par de chaves SSH:
ssh-keygen -t rsa -b 4096
- Copie a chave pública para o seu servidor:
ssh-copy-id username@server-ip
- Limite o acesso SSH:
Restrinja o acesso SSH a endereços IP específicos editando os arquivos/etc/hosts.allowe/etc/hosts.deny.
4. Instale e configure o Fail2Ban
Fail2Ban é uma ferramenta que protege seu servidor contra ataques de força bruta monitorando arquivos de log e banindo endereços IP com comportamento suspeito.
Etapas para configurar o Fail2Ban:
- Instale o Fail2Ban:
sudo apt install fail2ban
- Crie um arquivo de configuração local:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
- Configure a proteção SSH:
Edite/etc/fail2ban/jail.locale habilite o jail SSH:
[sshd]
enabled = true
port = 2222
maxretry = 5
bantime = 3600
- Reinicie o Fail2Ban:
sudo systemctl restart fail2ban
O Fail2Ban agora monitorará os logs SSH e banirá IPs após repetidas tentativas de login malsucedidas.
5. Desabilite serviços desnecessários
A execução de serviços desnecessários aumenta a superfície de ataque do seu servidor. Identifique e desabilite os serviços de que você não precisa.
Etapas para desabilitar serviços:
- Liste os serviços ativos:
sudo systemctl list-units --type=service
- Pare e desabilite serviços não utilizados:
sudo systemctl stop service-name
sudo systemctl disable service-name
6. Use senhas fortes e contas de usuário
Senhas fracas são uma vulnerabilidade comum. Verifique se todas as contas de usuário usam senhas fortes e exclusivas.
Dicas para a segurança de contas de usuário:
- Use um gerenciador de senhas para gerar e armazenar senhas fortes.
- Audite regularmente as contas de usuário e remova as contas não utilizadas:
sudo awk -F: '{ print $1}' /etc/passwd
7. Habilite a autenticação de dois fatores (2FA)
A autenticação de dois fatores adiciona uma camada extra de segurança ao seu processo de login SSH. Você pode habilitar a 2FA usando Google Authenticator.
Etapas para habilitar a 2FA:
- Instale o Google Authenticator:
sudo apt install libpam-google-authenticator
- Configure a 2FA para seu usuário:
Execute o comando a seguir e siga as instruções:
google-authenticator
- Habilite a 2FA no SSH:
Edite/etc/pam.d/sshde adicione:
auth required pam_google_authenticator.so
Reinicie o serviço SSH:
sudo systemctl restart ssh
8. Monitore logs e atividades do sistema
Monitorar regularmente os logs do servidor ajuda a detectar atividades suspeitas com antecedência.
Ferramentas para monitoramento de logs:
- Syslog: Verifique os logs gerais do sistema:
sudo less /var/log/syslog
- Log de autenticação: Revise as tentativas de autenticação:
sudo less /var/log/auth.log
Considere usar ferramentas como Logwatch ou OSSEC para análise automatizada de logs e alertas.
9. Faça backups regulares
Mesmo com medidas de segurança fortes, os backups são essenciais para a recuperação de ataques ou perda de dados.
Opções de backup:
- Use rsync para criar backups locais:
rsync -av /data /backup/
- Automatize backups com ferramentas como Duplicity ou integre soluções baseadas em nuvem, como AWS S3 ou Google Cloud Storage.
10. Dicas adicionais de reforço
- Instale software antivírus: Use ferramentas como ClamAV para verificar a presença de malware.
sudo apt install clamav
sudo clamscan -r /path/to/scan
- Proteja aplicativos web: Se hospedar sites, use ferramentas como ModSecurity para proteger contra vulnerabilidades web comuns.
- Habilite o AppArmor: O AppArmor fornece controle de acesso obrigatório para aplicativos.
sudo apt install apparmor
sudo aa-status
Conclusão
Proteger seu servidor Ubuntu exige uma abordagem proativa que combine atualizações do sistema, configuração de firewall, reforço do SSH e ferramentas como o Fail2Ban. Seguindo estas etapas e monitorando seu servidor regularmente, você pode criar uma defesa robusta contra ameaças potenciais.
Para mais informações, consulte o Guia de Segurança do Ubuntu.
A seguir: Auditoria e registro no Ubuntu Server
Embora proteger seu servidor seja essencial, manter a visibilidade de suas operações é igualmente importante. A auditoria e o registro permitem que você monitore as atividades do sistema, identifique anomalias e solucione problemas com eficácia.
Na próxima seção, abordaremos:
- A importância da auditoria do sistema e dos logs.
- Uso de auditd para rastrear e registrar eventos do sistema.
- Configuração da rotação de logs com logrotate para gerenciar arquivos de log com eficiência.
- Monitoramento do diretório
/var/logpara eventos críticos.
Essas práticas ajudarão você a manter a responsabilidade, detectar ameaças potenciais e garantir a confiabilidade do seu servidor.
Fique atento enquanto exploramos as ferramentas e técnicas que permitirão auditar e monitorar seu servidor Ubuntu com eficácia.
3 thoughts on “08. Securing Your Ubuntu Server: Practical Steps for Hardening and Protection”