Você já perguntou como deixar o Ubuntu Server Seguro, ou até mesmo já enfrentou uma situação onde a segurança do seu servidor estava comprometida?
Ou talvez esteja preocupado com a segurança do seu Ubuntu Server e quer garantir que ele esteja protegido contra ameaças?
Eu sou Pedro Delfino, e já tive problemas de segurança em servidores de clientes. Em uma dessas situações críticas, precisei agir rapidamente para mitigar um ataque e reforçar a segurança do sistema.
Neste guia, vou compartilhar uma lista abrangente de comandos e verificações que você pode realizar para tornar seu Ubuntu Server mais seguro. Esses passos são essenciais para garantir a integridade, confidencialidade e disponibilidade do seu sistema.
2. Você precisa deixar o Ubuntu Server Seguro
Lembro-me de um caso específico onde um cliente me contatou desesperado.
Seu servidor havia sido comprometido, e dados sensíveis estavam em risco.
Com uma abordagem sistemática e o uso correto de ferramentas e comandos, consegui identificar a brecha de segurança, mitigar o ataque e implementar medidas de segurança robustas para evitar futuros incidentes.
Essa experiência destacou a importância de um bom plano de segurança e do conhecimento das melhores práticas de segurança no Linux.
Cado você ainda não tenha feito o download do ubuntu server, veja esse artigo:
Download do Ubuntu Server: Versões e tudo que você precisa saber
3. Atualizações para manter o Ubuntu Server Seguro
3.1. Verificando Atualizações
Manter o sistema atualizado é a primeira linha de defesa contra vulnerabilidades conhecidas. Para verificar se há atualizações disponíveis, use:
sudo apt update
3.2. Instalando Atualizações
Para instalar todas as atualizações disponíveis, execute:
sudo apt upgrade
Para atualizar a distribuição inteira, incluindo pacotes dependentes, use:
sudo apt dist-upgrade
3.3. Automatizando Atualizações de Segurança
Para garantir que as atualizações de segurança sejam aplicadas automaticamente, instale e configure o unattended-upgrades:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
4. Gerenciamento de Usuários e Senhas
4.1. Adicionando e Removendo Usuários
Para adicionar um novo usuário:
sudo adduser nome_do_usuario
Para remover um usuário e seu diretório home:
sudo deluser --remove-home nome_do_usuario
4.2. Definindo Políticas de Senha
Edite o arquivo /etc/login.defs
para configurar políticas de senha, como expiração e comprimento mínimo.
4.3. Removendo Contas Inativas
Para listar contas inativas e removê-las:
sudo userdel nome_do_usuario
5. Configuração de Firewall é o Básico para manter o Ubuntu Server Seguro
5.1. Instalando e Configurando UFW
O Uncomplicated Firewall (UFW) é uma ferramenta fácil de usar para configurar um firewall no Ubuntu. Para instalar e habilitar o UFW:
sudo apt install ufw
sudo ufw enable
5.2. Definindo Regras de Firewall
Permitir conexões SSH, HTTP e HTTPS:
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
5.3. Verificando o Status do Firewall
Para verificar o status do UFW e as regras configuradas:
sudo ufw status
6. Configuração de SSH no Ubuntu Server
6.1. Alterando a Porta Padrão
Altere a porta padrão do SSH para reduzir ataques automatizados. Edite o arquivo /etc/ssh/sshd_config
:
Port 2222
Reinicie o serviço SSH:
sudo systemctl restart ssh
6.2. Desativando o Login de Root
Desative o login direto do root para aumentar a segurança. No arquivo /etc/ssh/sshd_config
:
PermitRootLogin no
Reinicie o serviço SSH:
sudo systemctl restart ssh
6.3. Utilizando Autenticação por Chave
Gere uma chave SSH no seu cliente:
ssh-keygen -t rsa -b 4096
Copie a chave pública para o servidor:
ssh-copy-id nome_do_usuario@servidor
7. Segurança de Arquivos e Diretórios vai deixar o Ubuntu Server Seguro
7.1. Configurando Permissões de Arquivos
Use o comando chmod
para configurar permissões adequadas:
chmod 700 /diretorio
chmod 600 /arquivo
7.2. Utilizando o comando chown e chmod
Para mudar o proprietário de um arquivo ou diretório:
sudo chown usuario:grupo /caminho/do/arquivo
7.3. Verificando Permissões com find
Encontre arquivos com permissões inseguras:
sudo find / -type f -perm /o+w
8. Monitoramento do Sistema Ubuntu
8.1. Instalando e Configurando o Tripwire
O Tripwire é uma ferramenta para monitorar a integridade do sistema. Instale-o com:
sudo apt install tripwire
Configure o Tripwire seguindo as instruções do assistente de configuração.
8.2. Configurando o Auditd
O Auditd monitora e registra eventos do sistema. Instale-o com:
sudo apt install auditd
sudo systemctl enable auditd
8.3. Monitorando Logs com o Logwatch
O Logwatch fornece relatórios detalhados de logs do sistema. Instale-o com:
sudo apt install logwatch
9. Como Proteger o Ubuntu Server contra Malware
9.1. Instalando e Configurando o ClamAV
O ClamAV é um antivírus de código aberto. Instale-o com:
sudo apt install clamav clamav-daemon
Atualize a base de dados e execute uma verificação:
sudo freshclam
sudo clamscan -r /home
9.2. Verificando o Sistema com rkhunter
O rkhunter verifica a presença de rootkits. Instale-o com:
sudo apt install rkhunter
Atualize a base
de dados e execute uma verificação:
sudo rkhunter --update
sudo rkhunter --check
9.3. Configurando o Aide para Verificação de Integridade
O Aide verifica a integridade dos arquivos do sistema. Instale-o com:
sudo apt install aide
sudo aideinit
Configure o Aide para executar verificações periódicas.
10. Segurança de Rede
10.1. Utilizando o Nmap para Escanear a Rede
O Nmap é uma ferramenta poderosa para escanear a rede e identificar portas abertas:
sudo apt install nmap
nmap -sS -O 192.168.1.1/24
10.2. Configurando o Fail2ban
O Fail2ban protege contra ataques de força bruta. Instale-o com:
sudo apt install fail2ban
Configure o Fail2ban editando o arquivo /etc/fail2ban/jail.local
.
10.3. Monitorando Conexões com o Netstat
Use o Netstat para monitorar conexões de rede:
netstat -tuln
11. Boas Práticas de Segurança
11.1. Desabilitando Serviços Não Utilizados
Desabilite serviços desnecessários para reduzir a superfície de ataque:
sudo systemctl disable nome_do_servico
11.2. Configurando Alertas de Segurança
Configure alertas para monitorar atividades suspeitas. Por exemplo, use o Swatch para monitorar logs:
sudo apt install swatch
11.3. Realizando Auditorias de Segurança Regulares
Realize auditorias de segurança periódicas para garantir que seu sistema esteja protegido.
12. Ferramentas Adicionais para Segurança
12.1. Usando o Lynis para Auditoria de Segurança
O Lynis é uma ferramenta de auditoria de segurança:
sudo apt install lynis
sudo lynis audit system
12.2. Implementando SELinux ou AppArmor
Configure SELinux ou AppArmor para controle de acesso baseado em políticas:
sudo apt install selinux-basics selinux-policy-default auditd
sudo apt install apparmor apparmor-utils
12.3. Utilizando o OSSEC para Monitoramento e Resposta a Intrusões
O OSSEC é um sistema de detecção de intrusões:
sudo apt install ossec-hids
13. Estudos de Caso: Problemas de Segurança Resolvidos na Prática
13.1. Estudo de Caso 1: Protegendo um Servidor Web
Um cliente tinha um servidor web vulnerável a ataques. Implementamos um firewall robusto com UFW, configuramos o Fail2ban e desativamos serviços não utilizados, aumentando significativamente a segurança.
13.2. Estudo de Caso 2: Prevenindo Ataques de Força Bruta
Outro cliente sofria ataques de força bruta constantes. Instalamos e configuramos o Fail2ban para bloquear IPs suspeitos e configuramos autenticação por chave para SSH.
13.3. Estudo de Caso 3: Configurando VPN para Acesso Seguro
Para um ambiente corporativo, configuramos uma VPN utilizando OpenVPN, garantindo acesso seguro aos recursos internos da empresa.
14. Conclusão
Garantir a segurança do seu Ubuntu Server é um processo contínuo que envolve a aplicação de boas práticas, monitoramento constante e a utilização de ferramentas de segurança. Com os comandos e verificações apresentados neste guia, você estará bem equipado para proteger seu sistema contra ameaças e vulnerabilidades.
15. FAQs
- Qual é o comando para verificar atualizações disponíveis no Ubuntu Server?
Usesudo apt update
para verificar atualizações disponíveis. - Como posso adicionar um novo usuário ao Ubuntu Server?
Usesudo adduser nome_do_usuario
para adicionar um novo usuário. - Qual ferramenta posso usar para configurar um firewall no Ubuntu?
O UFW (Uncomplicated Firewall) é uma ferramenta fácil de usar para configurar firewalls. - Como desativar o login direto de root via SSH?
Edite o arquivo/etc/ssh/sshd_config
e definaPermitRootLogin no
, depois reinicie o serviço SSH comsudo systemctl restart ssh
. - Qual ferramenta de antivírus posso usar no Ubuntu Server?
O ClamAV é um antivírus de código aberto disponível para o Ubuntu Server.
Espero que este guia tenha sido útil! Se tiver mais dúvidas ou sugestões, sinta-se à vontade para compartilhar. Forte abraço!
Pedro Delfino