08. Como proteger seu servidor Ubuntu: etapas práticas de reforço e proteção

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 22 para 2222) 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.allow e /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.local e 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/sshd e 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/log para 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”

              Deixe um comentário