Sécuriser son VPS Linux
Beaucoup d'utilisateurs de VPS Linux débutent dans l'univers UNIX et ne savent pas sécuriser leur VPS contre des menaces basiques d'Internet.
Dernière mise à jour
Cet article vous a-t-il été utile ?
Beaucoup d'utilisateurs de VPS Linux débutent dans l'univers UNIX et ne savent pas sécuriser leur VPS contre des menaces basiques d'Internet.
Dernière mise à jour
Cet article vous a-t-il été utile ?
Protéger son VPS est essentiel, c'est la première chose à faire lorsqu'on vient juste de l'installer. Si celui-ci n'est pas protégé, il peut se faire pirater en quelques jours voire même quelques heures ! Ce tutoriel est là pour vous montrer quelques bases dans la sécurisation de votre VPS. Ceci empêchera les attaques les plus courantes.
Crowdsec est une application communautaire que protège activement votre serveur. Comme Fail2ban il est capable de bloquer les attaques brute-force sur votre serveur mais s'étend nativement au delà de l'accès SSH. Plusieurs "parsers" sont disponible pour détecter vos différents services (nginx, apache, mysql ...). Crowdsec communique en permanence avec les autres instances Crowdsec et partage des listes de blocage pour prévenir de certaines attaques.
Pour l'installer rien de plus simple tout est expliqué sur mais voici les commandes principales à exécuter :
Avant de continuer, il faut vérifier que le port TCP 8080 de votre serveur n'est pas utilisé, car Crowdsec en a besoin pour fonctionner. Pour cela la commande netstat -lnpt
vous permet de vérifier ça.
Si vous utilisez Pterodactyl, le port de communication par défaut utilisé par Wings est le TCP 8080, il faut donc .
Pour ajouter de nouveaux "parsers" à votre Crowdsec et ainsi sécuriser vos applications, regardez directement sur le en cherchant le nom de l'application.
Attention ! N'installez pas Fail2Ban si vous avez déjà installé Crowdsec, ceci risquerait de causer des conflits entre les deux applications.
Une fois cela fait, votre VPS est déjà sécurisé. Toutefois, vous pouvez éditer sa configuration qui se trouve dans le fichier /etc/fail2ban/jail.conf
. Dans ce fichier trois lignes sont importantes :
bantime
: représentant le temps que l'adresse IP sera bannis (par exemple: 120m
pour 2 heures).
findtime
: lapse de temps durant lequel Fail2Ban comptera le nombre d'échec d'une adresse IP (par exemple: 60m
afin de remonter les logs jusqu'à 1 heure).
maxretry
: nombre d'échecs d'authentification autorisés (par exemple: 5) mais attention à ne pas mettre une valeur trop faible au risque de vous bannir vous-même si vous faites une erreur.
Dans la configuration par défaut, ces lignes sont commentées par un #
donc pour qu'elles soient effectives, il faut enlever le #
.
Si vous le souhaitez vous pouvez regarder les autres paramètres, ainsi que la documentation de l'application pour avoir une configuration plus avancée.
À chaque fois que vous modifiez la configuration, il faut redémarrer l'application avec la commande :
Protéger son VPS avec des logiciels qui détectent les attaques c'est bien mais ces logiciels ne sont pas infaillibles. C'est pour cela qu'il est important de réduire sa surface d'exposition.
Pour cela il est important de ne pas autoriser les connexions SSH sur l'utilisateur root
car de nombreux robots essayent de se connecter avec cet utilisateur.
Cependant, si vous faites cela, vous non plus vous ne serez plus autoriser à vous connecter avec l'utilisateur root
, il faut donc créer un nouvel utilisateur appartenant au groupe sudo
pour vous connecter en tant qu'administrateur sur votre VPS.
Pour ce faire, éditez et exécutez les commandes suivantes:
Une fois cela fait, connectez-vous en SSH avec votre nouvel utilisateur pour valider sa création et valider l'appartenance au groupe sudo
en passant à l'utilisateur root
avec la commande:
Maintenant que vous vous êtes bien reconnecté en root, vous allez pouvoir désactiver la connexion via l'utilisateur root depuis SSH. Pour cela, il est nécessaire de modifier le fichier /etc/ssh/sshd_config
et de modifier la valeur de PermitRootLogin
Et maintenant, une fois le fichier de configuration sauvegardé, il suffit de redémarrer le service SSH. Pour cela exécutez la commande:
Fail2Ban est une application permettant de bannir les adresses IP qui essayent de se connecter plusieurs fois (en échouant) à un service (par exemple en SSH). Ainsi les utilisateurs malveillants (souvent des robots) qui tente pleins de combinaisons de mot de passe et nom d'utilisateur ne pourront pas vous . Pour l'installer rien de plus simple, saisissez la commande suivante :