10 étapes pour sécuriser un serveur Linux pour un environnement de production
Sécuriser un serveur Linux est essentiel pour protéger nos données des hackers. Mais sécuriser un serveur n’a pas besoin d’être compliqué .Nous devrions adopter une méthode qui protégera notre serveur des attaques les plus fréquentes en même temps qu’une administration efficace .
Cependant, ne prenez pas les choses pour acquises. Même les serveurs les plus endurcis peuvent être détournés en exploitant n’importe quel composant vulnérable fonctionnant sur ce serveur.
Installer ce dont vous avez besoin
La première règle est de garder votre serveur mince et méchant. N’installez que les paquets dont vous avez réellement besoin. S’il y a des paquets non désirés ; purgez-les. Moins il y a de paquets, moins il y a de chance d’avoir du code non patché.
Mettre en marche SELinux
Security-Enhanced Linux (SELinux) est un mécanisme de sécurité de contrôle d’accès fourni dans le noyau.
SELinux fournit 3 modes de fonctionnement de base :
- Enforcing : C’est le mode par défaut qui permet d’activer et d’appliquer la politique de sécurité SELinux sur la machine.
- Permissif : Dans ce mode, SELinux n’appliquera pas la politique de sécurité sur le système, seulement des avertissements et des actions de journal.
- Désactivé : SELinux est désactivé.
Il peut être géré à partir du fichier ‘/etc/selinux/config’, où vous pouvez l’activer ou le désactiver.
Sécuriser l’accès à la console
Vous devez protéger l’accès à la console des serveurs Linux en désactivant le démarrage à partir de périphériques externes tels que les DVD / CD / stylo USB après la configuration du BIOS. Aussi ,définissez le mot de passe du BIOS et du chargeur de démarrage grub pour protéger ces paramètres.
Restreindre l’utilisation des anciens mots de passe
Nous pouvons restreindre les utilisateurs à utiliser les mêmes anciens mots de passe. Le fichier des anciens mots de passe est situé dans /etc/security/opasswd. Cela peut être fait en utilisant le module PAM.
Ouvrir le fichier ‘/etc/pam.d/system-auth’ sous RHEL / CentOS / Fedora.
# vi /etc/pam.d/system-auth
Ouvrir le fichier ‘/etc/pam.d/common-password’ sous Ubuntu/Debian/Linux.
# vi /etc/pam.d/common-password
Ajouter la ligne suivante à la section ‘auth’.
auth sufficient pam_unix.so likeauth nullok
Ajouter la ligne suivante à la section ‘password’ pour interdire à un utilisateur de réutiliser les 3 derniers mots de passe.
password sufficient pam_unix.so nullok use_authtok md5 shadow remember=3
Les 3 derniers mots de passe sont mémorisés par le serveur. Si vous essayez d’utiliser l’un des 3 derniers anciens mots de passe, vous obtiendrez une erreur comme.
Puis enregistrez et fermez ce fichier et redémarrez le service
service sshd restart
Important : Ne vous déconnectez pas encore du serveur. Testez d’abord si vous pouvez réussir à vous connecter au serveur par ssh en utilisant l’utilisateur précédemment créé. Ouvrez une autre instance du terminal et connectez-vous au serveur avec l’utilisateur que vous avez créé précédemment. Si tout fonctionne bien, vous pouvez vous déconnecter du serveur en toute sécurité en tant que root.
Changer le port
Nous pouvons changer le port SSH par défaut pour ajouter une couche d’opacité pour garder votre serveur en sécurité .
Ouvrir le fichier /etc/ssh/sshd_config
remplacer le port 22 par défaut avec un numéro de port différent disons 1110
sauvegarder & sortir du fichier
service sshd restart
Maintenant pour se connecter définir le port No.
ssh username@IP -p 1110
Désactiver Ctrl+Alt+Suppression dans Inittab
La frappe de Ctrl+Alt+Suppression amènera votre serveur à un processus de redémarrage. Il est donc toujours conseillé de désactiver cela car quelqu’un peut redémarrer le système par erreur.
L’action ctrl+Alt+Del est définie dans /etc/init/control-alt-delete.conf .Commentez la ligne ci-dessous
La connexion sans mot de passe
Nous pouvons facilement nous connecter à notre serveur par SSH sans aucun mot de passe en générant les ssh-keys. Faites juste attention à ce que vous ne puissiez vous connecter à votre serveur que depuis la machine sur laquelle vous avez généré les clés ssh
Générer les clés SSH :
ssh-keygen - t rsa
Copiez votre clé SSH publique , puis ajoutez la même dans le serveur
cat ~/.ssh/id_rsa.pub
Pour ajouter des clés ssh dans le serveur
Supposons que nous avons l’utilisateur-user1 pour fournir un accès par clé ssh au serveur
cd /home/user1
ls -ll
Créer un répertoire .ssh et à l’intérieur de celui-ci créer un fichier nommé authorized_keys et ajouter la clé ssh publique des utilisateurs dans le même
mkdir .ssh
cd /home/admin/.ssh
vim authorized_keys
Ajouter la clé ssh publique et ensuite changer le propriétaire du . fichier
chown user1 authorized_keys
Désactiver la connexion ssh
Modifier /etc/ssh/sshd_config
Passwordauthentication no
PermitRootLogin no
Maintenant, seul l’utilisateur autorisé peut se connecter au serveur avec la commande
ssh user-name@serverIP -p(port Number)
Fail2Ban pour la connexion SSH
Fail2ban fonctionne en modifiant dynamiquement les règles du pare-feu pour interdire les adresses qui ont tenté sans succès de se connecter un certain nombre de fois.
Installer Fail2ban :
sudo apt-get update
apt-get install fail2ban
Créer un nouveau fichier jail.local et copier le contenu de jail.config dans le même et faire les changements dans le fichier jail.local seulement
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Modifier /etc/fail2ban/jail.local
Faites les changements souhaités:
enabled = true
port = ssh ( provide the port number if the default port is changed )
protocol = tcp
filter = sshd
logpath = /var/log/secure
maxretry = 3 ( max no. of tries after which the host should be banned)
findtime = 600 (This parameter sets the window that fail2ban will pay attention to when looking for repeated failed authentication attempts in seconds)
bantime = 600 (time duration for which the host is banned -in seconds)
Puis redémarrez les services fail2ban
service fail2ban restart
L’IP peut être bloqué de façon permanente en définissant bantime = -1.
Note : FAIL2BAN bloquera l’IP globale .
La sécurité était un inconvénient parfois, mais maintenant c’est une nécessité tout le temps – Martina Navratilova
Merci de lire . Si vous avez trouvé cet article utile, quelques applaudissements signifieraient beaucoup !
Stay tuned 🙂
.