1. Créer un utilisateur non-root
Ne travaillez jamais directement en root. Créez un utilisateur avec des privilèges sudo et désactivez la connexion root directe.
2. Configurer les clés SSH
Remplacez l'authentification par mot de passe par des clés SSH. C'est plus sécurisé et plus pratique. Désactivez ensuite l'authentification par mot de passe dans la configuration SSH.
3. Changer le port SSH
Le port 22 est scanné en permanence par des bots. Changez-le pour un port non standard (ex: 2222) pour réduire les tentatives de brute force.
4. Configurer le firewall (UFW)
Activez UFW et n'ouvrez que les ports nécessaires : votre port SSH custom, 80 (HTTP) et 443 (HTTPS). Bloquez tout le reste.
5. Installer fail2ban
Fail2ban surveille les logs et bloque automatiquement les IP qui tentent des connexions suspectes. Configurez-le pour SSH et votre application web.
6. Mises à jour automatiques
Configurez unattended-upgrades pour appliquer automatiquement les mises à jour de sécurité. Ne laissez jamais un serveur sans patchs de sécurité.
7. Configurer les logs
Centralisez vos logs avec journald ou rsyslog. Surveillez les tentatives de connexion, les erreurs système et les activités suspectes.
8. Limiter les permissions
Appliquez le principe du moindre privilège. Chaque service doit tourner avec les permissions minimales nécessaires.
9. Sauvegardes automatiques
Configurez des sauvegardes automatiques quotidiennes. Testez régulièrement la restauration pour vous assurer que vos backups fonctionnent.
10. Monitoring et alertes
Mettez en place un monitoring (Prometheus, Netdata) avec des alertes pour être notifié immédiatement en cas de problème.
Besoin d'un serveur sécurisé et bien administré ? Nos experts Linux à Rabat s'en occupent pour vous.