Comment sécuriser un serveur domestique Linux

Il y a de nombreuses raisons de configurer un serveur domestique. Vous pourriez l’utiliser comme serveur multimédia, serveur de fichiers ou même serveur de sauvegarde local. Fondamentalement, tous vos fichiers qui n’ont pas besoin d’être en ligne sont de bons candidats pour un serveur domestique. Configurer un serveur domestique propulsé par Linux est relativement facile, surtout de nos jours. Cela dit, garder ce serveur sécurisé est une toute autre histoire. La sécurité peut être aussi délicate qu’importante.
Lire aussi : Qu’est-ce que Log4Shell et comment protéger votre système Linux contre ça
N’installez que ce dont vous avez absolument besoin
L’un des moyens les plus simples de garder votre serveur domestique sécurisé est de garder la sécurité à l’esprit dès le début. Cela commence par l’installation. Vous n’êtes pas sûr si vous avez besoin d’une application ou d’un service ? Ne l’installez pas. Vous pouvez toujours l’installer plus tard.
Si vous avez déjà installé Linux quelques fois, c’est encore plus facile. Au lieu de vous en tenir aux valeurs par défaut, utilisez les modes qui vous donnent le plus de contrôle sur l’installation. Parfois, ces modes sont appelés « mode expert » ou quelque chose de similaire.
Suivre attentivement les options d’installation peut vous faire gagner du temps lors de la désactivation des services pour des raisons de sécurité plus tard.
Configurez sudo
Avant de passer à d’autres étapes, vous devez configurer sudo. Pourquoi ? Parce qu’une fois que nous aurons terminé ici, vous vous connecterez à votre serveur via SSH, et vous ne pourrez pas vous connecter en tant que compte root. Pour apporter d’autres modifications à votre système, vous devrez utiliser sudo.
Tout d’abord, vérifiez si vous êtes déjà en mesure d’utiliser sudo. À partir de votre compte utilisateur, exécutez ce qui suit en remplaçant USERNAME par votre nom d’utilisateur :
sudo -lU USERNAMESi vous voyez un message indiquant que votre nom d’utilisateur peut exécuter « (ALL) ALL » ou quelque chose de similaire, vous êtes prêt à passer à l’étape suivante.
Maintenant, en tant que compte root sur votre serveur, exécutez ce qui suit pour modifier le fichier « /etc/sudoers ». Si vous préférez un autre éditeur, utilisez-le à la place de nano.
EDITOR=nano visudoModifiez le fichier pour inclure ce qui suit, avec votre nom d’utilisateur à la place de USERNAME :
USERNAME ALL=(ALL) ALLLire aussi : Comment utiliser le scanner de vulnérabilités Nessus sur Linux
Configurez SSH

Vous avez peut-être déjà activé SSH sur votre serveur domestique. En fait, c’est probablement le cas, car c’est généralement ainsi que vous interagissez avec un serveur.
Tout d’abord, assurez-vous qu’OpenSSH est installé. Si vous utilisez une autre distribution, votre commande variera, mais le nom du paquet devrait être assez cohérent. Sur Ubuntu, exécutez ce qui suit :
sudo apt install openssh-serverUtiliser l’authentification par clé est beaucoup plus sécurisé que l’authentification par mot de passe, donc nous allons configurer SSH pour fonctionner de cette manière. Pour ce faire, assurez-vous de travailler sur un client que vous prévoyez de connecter au serveur, et non sur le serveur lui-même. Tout d’abord, vous voulez vous assurer que vous n’avez déjà aucune clé SSH :
ls ~/.ssh/Si vous voyez « id_rsa » et « id_rsa.pub » parmi les fichiers listés, vous avez déjà des clés SSH. Passez cette étape suivante.
ssh-keygen -t rsa -b 4096 -C "[email protected]"Maintenant, vous allez copier la clé SSH sur votre serveur :
ssh-copy-id USERNAME@SERVERPour un serveur domestique, vous utilisez probablement une adresse IP pour votre serveur au lieu d’un nom. Si vous ne connaissez pas le nom de votre serveur, utilisez votre adresse IP à la place de SERVER ci-dessus.
Maintenant, nous allons modifier vos paramètres SSH pour les sécuriser davantage. Connectez-vous à votre serveur depuis le client sur lequel vous avez créé les clés. Cela vous permettra de vous reconnecter après cette étape. Exécutez ce qui suit, en remplaçant nano par l’éditeur de votre choix.
sudo nano /etc/ssh/sshd_configModifiez le fichier avec les paramètres suivants. Ceux-ci se trouveront à divers endroits dans le fichier. Assurez-vous qu’il n’y a pas de doublons, car seule la première instance d’un paramètre sera suivie.
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
PermitRootLogin noMaintenant, vous devez redémarrer le serveur SSH avec l’une des commandes suivantes.
Sur Ubuntu, exécutez :
sudo systemctl restart sshLire aussi : SELinux vs AppArmor : quelles sont les différences et lequel devriez-vous utiliser ?
Configurez un pare-feu
En fonction des services que vous exécutez et de la fréquence à laquelle votre serveur se connecte à Internet, vous voudrez peut-être exécuter un pare-feu. Il y a quelques options pour cela, mais la méthode éprouvée sur Linux est iptables.
Configurer iptables dépasse le cadre de cet article, mais ne vous inquiétez pas. Nous avons un guide complet sur la configuration d’iptables sur votre machine.
Une autre façon plus facile de configurer un pare-feu est d’utiliser ufw. Vous pouvez l’installer avec la commande :
sudo apt install ufwPar défaut, il bloquera tous les ports. Pour activer l’accès en ligne et SSH, exécutez les commandes ufw suivantes pour ouvrir les ports 80, 443 et 22 :
sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 22Et enfin, activez le service ufw :
sudo ufw enableRestez à jour

Les serveurs peuvent être faciles à oublier s’ils fonctionnent bien, mais cela peut être dangereux. Assurez-vous de garder votre logiciel à jour. Vous pouvez utiliser des mises à jour non supervisées, mais celles-ci peuvent être imprévisibles. La manière la plus sûre est de programmer un rendez-vous de maintenance régulière hebdomadaire ou mensuelle pour vous assurer que tout est en ordre.
Lire aussi : Les meilleurs outils open source pour sécuriser votre serveur Linux
Que faire ensuite
Maintenant, vous avez un bon début pour garder votre serveur protégé contre les menaces extérieures. Que faire si vous devez accéder à votre serveur depuis chez vous ? Chaque porte que vous ouvrez pourrait potentiellement être utilisée par un attaquant, et chaque port ouvert augmente votre vulnérabilité.
L’un des moyens les plus simples d’accéder à votre réseau domestique depuis l’extérieur est d’utiliser un VPN, ce qui est en dehors du cadre de cet article, mais ne vous inquiétez pas, nous avons ce qu’il vous faut. Consultez notre liste des meilleurs services VPN sécurisés disponibles pour avoir une idée de vos options.