7 étapes pour sécuriser votre serveur Linux

Plus d'informations
il y a 7 mois 1 jour - il y a 7 mois 1 jour #86 par estocade
Renforcez votre serveur Linux en sept étapes simples.
Cette introduction vous présentera la sécurité de base du serveur Linux. Bien qu'il se concentre sur Debian/Ubuntu, vous pouvez appliquer tout ce qui est présenté ici à d'autres distributions Linux. Je vous encourage également à rechercher ce matériel et à le développer le cas échéant.
1. Mettez à jour votre serveur
La première chose à faire pour sécuriser votre serveur est de mettre à jour les référentiels locaux et de mettre à niveau le système d'exploitation et les applications installées en appliquant les derniers correctifs.Sur Ubuntu et Debian :
$ sudo apt update && sudo apt upgrade -y
Sur Fedora, CentOS ou RHEL :
$ sudo dnf upgrade
2. Créez un nouveau compte utilisateur privilégié
Ensuite, créez un nouveau compte utilisateur. Vous ne devez jamais vous connecter à votre serveur en tant que root . Créez plutôt votre propre compte (" <user> "), donnez-lui les droits sudo et utilisez-le pour vous connecter à votre serveur.Commencez par créer un nouvel utilisateur :
$ adduser <username>
Donnez à votre nouveau compte utilisateur les droits sudo en ajoutant ( -a ) le groupe sudo ( -G ) à l'appartenance au groupe de l'utilisateur :
$ usermod -a -G sudo <username>
3. Téléchargez votre clé SSH
Vous souhaiterez utiliser une clé SSH pour vous connecter à votre nouveau serveur. Vous pouvez télécharger votre clé SSH pré-générée sur votre nouveau serveur à l'aide de la commande ssh-copy-id :
$ ssh-copy-id <username>@ip_address
Vous pouvez désormais vous connecter à votre nouveau serveur sans avoir à saisir de mot de passe.
4. SSH sécurisé
Ensuite, effectuez ces trois modifications :
  • Désactiver l'authentification par mot de passe SSH
  • Empêcher root de se connecter à distance
  • Restreindre l'accès à IPv4 ou IPv6
Ouvrez /etc/ssh/sshd_config à l'aide de l'éditeur de texte de votre choix et assurez-vous que ces lignes :
PasswordAuthentication yes
PermitRootLogin yes
ressemble à ca:
PasswordAuthentication no
PermitRootLogin no
Ensuite, limitez le service SSH à IPv4 ou IPv6 en modifiant l' option AddressFamily . Pour le modifier afin d'utiliser uniquement IPv4 (ce qui devrait convenir à la plupart des gens), effectuez cette modification :
AddressFamily inet
Redémarrez le service SSH pour activer vos modifications. Notez que c'est une bonne idée d'avoir deux connexions actives à votre serveur avant de redémarrer le serveur SSH. Avoir cette connexion supplémentaire vous permet de réparer quoi que ce soit en cas de problème de redémarrage.Sur Ubuntu :
$ sudo service sshd restart
Sur Fedora ou CentOS ou tout ce qui utilise Systemd :
$ sudo systemctl restart sshd
5. Activez un pare-feu
Vous devez maintenant installer un pare-feu, l'activer et le configurer uniquement pour autoriser le trafic réseau que vous désignez. Uncomplicated Firewall (UFW) est une interface facile à utiliser pour iptables qui simplifie grandement le processus de configuration d'un pare-feu.Vous pouvez installer UFW avec :
$ sudo apt install ufw
Par défaut, UFW refuse toutes les connexions entrantes et autorise toutes les connexions sortantes. Cela signifie que n'importe quelle application sur votre serveur peut accéder à Internet, mais que tout ce qui tente d'atteindre votre serveur ne peut pas se connecter.Tout d'abord, assurez-vous de pouvoir vous connecter en activant l'accès à SSH, HTTP et HTTPS :
$ sudo ufw allow ssh
$ sudo ufw allow http
$ sudo ufw allow https
Activez ensuite UFW :
$ sudo ufw enable
Vous pouvez voir quels services sont autorisés et refusés avec :
$ sudo ufw status
Si jamais vous souhaitez désactiver UFW, vous pouvez le faire en tapant :
$ sudo ufw disable
Vous pouvez également utiliser firewall-cmd , qui est déjà installé et intégré à certaines distributions.
6. Installez Fail2ban
Fail2ban est une application qui examine les journaux du serveur à la recherche d'attaques répétées ou automatisées. S'il en trouve, le pare-feu sera modifié pour bloquer l'adresse IP de l'attaquant, soit de manière permanente, soit pour une durée spécifiée.Vous pouvez installer Fail2ban en tapant :
$ sudo apt install fail2ban -y
Copiez ensuite le fichier de configuration inclus :
$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Et redémarrez Fail2ban :
$ sudo service fail2ban restart
C'est tout ce qu'on peut en dire. Le logiciel examinera en permanence les fichiers journaux à la recherche d'attaques. Après un certain temps, l'application créera une liste d'adresses IP interdites. Vous pouvez consulter cette liste en demandant l'état actuel du service SSH avec :
$ sudo fail2ban-client status ssh
7. Supprimez les services réseau inutilisés
Presque tous les systèmes d'exploitation de serveur Linux sont dotés de quelques services réseau activés. Vous voudrez en conserver la plupart. Cependant, vous souhaiterez peut-être en supprimer quelques-uns. Vous pouvez voir tous les services réseau en cours d'exécution en utilisant la commande ss :
$ sudo ss -atpu
La sortie de ss différera en fonction de votre système d'exploitation. Ceci est un exemple de ce que vous pourriez voir. Cela montre que les services SSH (sshd) et Ngnix (nginx) sont à l'écoute et prêts à être connectés :
tcp LISTEN 0 128 *:http *:* users:(("nginx",pid=22563,fd=7))
tcp LISTEN 0 128 *:ssh *:* users:(("sshd",pid=685,fd=3))
La façon dont vous procédez pour supprimer un service inutilisé (" <service_name> ") différera en fonction de votre système d'exploitation et du gestionnaire de packages qu'il utilise.Pour supprimer un service inutilisé sur Debian/Ubuntu :
$ sudo apt purge <service_name>
Pour supprimer un service inutilisé sur Red Hat/CentOS :
$ sudo yum remove <service_name>
Ce tutoriel présente le strict minimum nécessaire pour renforcer un serveur Linux. Des couches de sécurité supplémentaires peuvent et doivent être activées en fonction de la manière dont un serveur est utilisé. Ces couches peuvent inclure des éléments tels que des configurations d'applications individuelles, des logiciels de détection d'intrusion et l'activation de contrôles d'accès, par exemple une authentification à deux facteurs.
Dernière édition: il y a 7 mois 1 jour par estocade.

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.091 secondes