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
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.allowet/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.localet 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/sshdet 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/logpour 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”