08. Sécuriser votre serveur Ubuntu : étapes pratiques de renforcement et de protection

La sécurisation de votre serveur Ubuntu est essentielle pour protéger vos données, vos applications et votre infrastructure contre les attaques malveillantes. Que vous hébergiez des sites web, des bases de données ou des applications, la mise en œuvre de pratiques de sécurité robustes garantit que votre serveur résiste aux vulnérabilités. Dans cet article, nous passerons en revue des étapes pratiques pour sécuriser votre serveur Ubuntu, notamment la configuration de pare-feu, la configuration sécurisée de SSH et l’utilisation d’outils comme fail2ban ainsi que d’autres conseils de renforcement.


Article précédent:

01. Introduction à Ubuntu Server – SysOSX: AI & Cloud

02. Comment configurer votre premier serveur Ubuntu : guide du débutant – SysOSX: AI & Cloud

03. Maîtriser la ligne de commande Linux pour Ubuntu Server – SysOSX: AI & Cloud

04. Gestion des utilisateurs et des autorisations sur Ubuntu Server : guide complet – SysOSX: AI & Cloud

05. Notions de base sur les réseaux pour Ubuntu Server : guide complet – SysOSX: AI & Cloud

06. Installation et gestion des logiciels sur Ubuntu Server : guide complet – SysOSX: AI & Cloud

07.Application de correctifs et mise à jour d’Ubuntu Server : guide complet – SysOSX: AI & Cloud



Pourquoi la sécurité du serveur est-elle importante ?

Les serveurs contiennent souvent des données sensibles et sont essentiels aux opérations commerciales. Sans mesures de sécurité appropriées, les attaquants peuvent exploiter des vulnérabilités pour obtenir un accès non autorisé, perturber des services ou voler des informations. En suivant ces étapes pratiques, vous pouvez réduire considérablement le risque d’attaques et garantir la sécurité de votre serveur.


1. Maintenir votre système à jour

Les mises à jour régulières sont essentielles pour corriger les vulnérabilités de sécurité et assurer la sécurité de votre serveur. Ubuntu fournit des mises à jour rapides pour ses paquets et son noyau.

Étapes pour mettre à jour votre serveur :

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade

De plus, activez unattended-upgrades pour automatiser les mises à jour de sécurité :

sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades

2. Configurer un pare-feu avec UFW

Un pare-feu est votre première ligne de défense contre les accès non autorisés. Ubuntu inclut UFW (Uncomplicated Firewall), qui simplifie la gestion du pare-feu.

Étapes pour configurer UFW :

  • Activer UFW:
sudo ufw enable
  • Autoriser les connexions SSH:
sudo ufw allow ssh
  • Autoriser des ports spécifiques (par exemple, HTTP et HTTPS pour les serveurs web) :
sudo ufw allow 80/tcp 
sudo ufw allow 443/tcp
  • Vérifier l’état du pare-feu:
sudo ufw status

    Par défaut, UFW bloque toutes les connexions entrantes, à l’exception de celles explicitement autorisées, ce qui garantit la protection de votre serveur.


    3. Sécuriser l’accès SSH

    SSH est la principale méthode de gestion à distance des serveurs, mais il est souvent la cible d’attaques par force brute. La sécurisation de SSH est essentielle pour réduire le risque d’accès non autorisé.

    Conseils pour sécuriser SSH :

    • Modifier le port SSH par défaut:
      • Modifiez le fichier de configuration SSH :
    sudo nano /etc/ssh/sshd_config 
    
    • Modifiez le port par défaut (par exemple, de 22 à 2222) et redémarrez le service SSH :
    sudo systemctl restart ssh
    
    • Mettez à jour la règle UFW pour autoriser l’accès au nouveau port :
    sudo ufw allow 2222/tcp
    
    • Désactiver la connexion root:
      Dans /etc/ssh/sshd_config, définissez :
    PermitRootLogin no
    
    • Utiliser l’authentification par clé SSH:
      • Générez une paire de clés SSH :
    ssh-keygen -t rsa -b 4096 
    
    • Copiez la clé publique sur votre serveur :
    ssh-copy-id username@server-ip
    
    • Limiter l’accès SSH:
      Restreignez l’accès SSH à des adresses IP spécifiques en modifiant les fichiers /etc/hosts.allow et /etc/hosts.deny .

    4. Installer et configurer Fail2Ban

    Fail2Ban est un outil qui protège votre serveur contre les attaques par force brute en surveillant les fichiers journaux et en bannissant les adresses IP au comportement suspect.

    Étapes pour configurer Fail2Ban :

    • Installer Fail2Ban:
    sudo apt install fail2ban
    
    • Créer un fichier de configuration local:
    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    
    • Configurer la protection SSH:
      Modifiez /etc/fail2ban/jail.local et activez le jail SSH :
    [sshd]
    enabled = true
    port = 2222
    maxretry = 5
    bantime = 3600
    
    
    • Redémarrer Fail2Ban:
    sudo systemctl restart fail2ban
    

      Fail2Ban surveillera désormais les journaux SSH et bannira les IP après des tentatives de connexion répétées et infructueuses.


      5. Désactiver les services inutiles

      L’exécution de services inutiles augmente la surface d’attaque de votre serveur. Identifiez et désactivez les services dont vous n’avez pas besoin.

      Étapes pour désactiver les services :

      • Lister les services actifs:
      sudo systemctl list-units --type=service
      
      • Arrêter et désactiver les services inutilisés:
      sudo systemctl stop service-name 
      sudo systemctl disable service-name
      

        6. Utiliser des mots de passe forts et des comptes utilisateur

        Les mots de passe faibles sont une vulnérabilité courante. Assurez-vous que tous les comptes utilisateur utilisent des mots de passe forts et uniques.

        Conseils pour la sécurité des comptes utilisateur :

        • Utilisez un gestionnaire de mots de passe pour générer et stocker des mots de passe forts.
        • Auditez régulièrement les comptes utilisateur et supprimez les comptes inutilisés :
        sudo awk -F: '{ print $1}' /etc/passwd
        

          7. Activer l’authentification à deux facteurs (2FA)

          L’authentification à deux facteurs ajoute une couche de sécurité supplémentaire à votre processus de connexion SSH. Vous pouvez activer 2FA avec Google Authenticator.

          Étapes pour activer 2FA :

          • Installer Google Authenticator:
          sudo apt install libpam-google-authenticator
          
          • Configurer 2FA pour votre utilisateur:
            Exécutez la commande suivante et suivez les invites :
           google-authenticator
          
          • Activer 2FA dans SSH:
            Modifiez /etc/pam.d/sshd et ajoutez :
           auth required pam_google_authenticator.so
          

            Redémarrez le service SSH :

            sudo systemctl restart ssh
            
            

            8. Surveiller les journaux et l’activité du système

            La surveillance régulière des journaux de votre serveur vous aide à détecter rapidement les activités suspectes.

            Outils de surveillance des journaux :

            • Syslog: Vérifier les journaux généraux du système :
            sudo less /var/log/syslog
            
            • Journal d’authentification: Examiner les tentatives d’authentification :
             sudo less /var/log/auth.log
            

              Envisagez d’utiliser des outils comme Logwatch ou OSSEC pour l’analyse automatisée des journaux et les alertes.


              9. Effectuer des sauvegardes régulières

              Même avec des mesures de sécurité solides, les sauvegardes sont essentielles pour se remettre d’attaques ou de pertes de données.

              Options de sauvegarde :

              • Utilisez rsync pour créer des sauvegardes locales :
              rsync -av /data /backup/
              
              • Automatisez les sauvegardes avec des outils comme Duplicity ou intégrez des solutions cloud comme AWS S3 ou Google Cloud Storage.

              10. Conseils de renforcement supplémentaires

              • Installer un logiciel antivirus: Utilisez des outils comme ClamAV pour rechercher les logiciels malveillants.
              sudo apt install clamav 
              sudo clamscan -r /path/to/scan
              
              • Sécuriser les applications web: Si vous hébergez des sites web, utilisez des outils comme ModSecurity pour vous protéger contre les vulnérabilités web courantes.
              • Activer AppArmor: AppArmor fournit un contrôle d’accès obligatoire pour les applications.
              sudo apt install apparmor 
              sudo aa-status
              

              Conclusion

              La sécurisation de votre serveur Ubuntu exige une approche proactive qui combine les mises à jour du système, la configuration du pare-feu, le renforcement de SSH et des outils comme Fail2Ban. En suivant ces étapes et en surveillant régulièrement votre serveur, vous pouvez mettre en place une défense solide contre les menaces potentielles.

              Pour plus d’informations, consultez le Guide de sécurité Ubuntu.

              À suivre : Audit et journalisation sur Ubuntu Server

              Si la sécurisation de votre serveur est essentielle, le maintien de la visibilité sur ses opérations est tout aussi crucial. L’audit et la journalisation  vous permettent de surveiller les activités du système, d’identifier les anomalies et de résoudre efficacement les problèmes.

              Dans la section suivante, nous aborderons :

              • L’importance de l’audit du système et des journaux.
              • Utilisation de auditd pour suivre et enregistrer les événements système.
              • Configuration de la rotation des journaux avec logrotate pour gérer efficacement les fichiers journaux.
              • Surveillance du répertoire /var/log pour les événements critiques.

              Ces pratiques vous aideront à maintenir la responsabilité, à détecter les menaces potentielles et à garantir la fiabilité de votre serveur.

              Restez à l’écoute pendant que nous explorons les outils et techniques qui vous permettront d’auditer et de surveiller efficacement votre serveur Ubuntu.

              3 thoughts on “08. Securing Your Ubuntu Server: Practical Steps for Hardening and Protection”

              Laisser un commentaire