Comment sécuriser facilement et un minimum votre serveur vps ovh sous distribution Linus (CentOS, Debian ou Ubuntu) . Comme toute machine livrée par un hébergeur, vous avez reçu un mail qui contient les infos de connexion en SSH grâce à un accès « root » (super administrateur).
Le problème de sécurité commence par là, tout le monde a le même accès SSH en « root » et une connexion par le « port 22 ».
Voici les points essentiels à sécuriser avant même de commencer à héberger votre ou vos domaine(s):
1- Mise à jour des paquets de la distribution Linux
2- Modifier le mot de passe « root »
3- Créer un nouveau compte utilisateur
4- Donner des droits au nouvel utilisateur
5- Interdire la connexion en « root » + modifier le port de connexion
1- Mise à jour des paquets de la distribution Linux
Sous ubuntu, il est très simple de mettre à jour ses paquets avec le gestionnaire APT et de les installer ensuite.
Connectez vous à votre serveur en ssh (avec un client SSH comme Putty par exemple)
Une fois connecté, vous avez en dernière ligne cela : root@vps123456:# (123456 sont un exemple vous aurez votre numéro de vps à vous)
Nous allons commencer par mettre à jour les paquets avec la commande:
apt-get update
le serveur va télécharger les nouveaux paquets…. patientez ( moins de 2 minutes )
Puis au retour de root@vps123456:#, nous allons lancer l’installation des paquets téléchargés avec la commande:
apt-get upgrade
le serveur va vous demander si vous souhaitez continuer, pressez « o » pour continuer afin que l’installation des paquets commencent…. Patientez ( environ 5 minutes )
au retour de root@vps123456:#, la première étape sera fini, nous avons la distribution de votre serveur à jour.
2- Modifier le mot de passe « root »
Nous sommes toujours connecté en root,
après root@vps123456:#, entrez la commande suivante afin de modifier le mot de passe root d’origine:
passwd root
le serveur répondra à votre commande:
Enter new password:
Saisissez votre nouveau mot de passe (Puis entrée)
Retype new password:
Retapez votre mot de passe (Puis entrée)
Le serveur va vous confirmer la modification du mot de passe avec ce message:
passwd: password updated successfully
Au retour de root@vps123456:#, le nouveau mot de passe est actif.
(Pensez à bien le noter, de préférence sur un papier et non dans un fichier sur votre pc)
3- Créer un nouveau compte utilisateur
Nous sommes toujours connecté en root,
Créer un utilisateur avec la commande suivante: (remplacer « utilisateur » par le nom que vous souhaitez donner)
adduser utilisateur
Le serveur va répondre et vous demander un mot de passe:
Enter new password:
Retype new password:
Le serveur va vous confirmer avec la réponse suivante:
passwd: password updated successfully
et vous demande des informations facultatives, répondez-y ou pas, et validez avec « Y » à la fin.
Nous avons abordé dans cette article « la création d’un nouveau utilisateur ssh beaucoup plus en détail » si vous le souhaitez.
Au retour de root@vps123456:#, votre nouveau utilisateur est créé.
4- Donner des droits au nouvel utilisateur
Nous sommes toujours connecté en root, nous allons installer le paquet sudo avec la commande:
apt-get install sudo
nous allons maintenant éditer /etc/sudoers avec la commande
visudo
le serveur va vous ouvrir le fichier « sudoers », trouvez cette ligne:
# User privilege specification root ALL=(ALL:ALL) ALL
déplacez le curseur sous la ligne root et rajoutez ceci: (remplacer « utilisateur » par le nom que vous lui avez attribué à sa création)
utilisateur ALL=(ALL:ALL) ALL
Puis valider en appuyant sur les touches « contrôle + o » puis validez avec « Entrée«
Pour sortir de la fenêtre d’édition, en appuyant sur les touches « contrôle + x«
Retour à root@vps123456:#.
Nous venons de donner le droit à notre nouveau utilisateur de se connecter en root au travers de son compte.
5- Interdire la connexion en « root » + modifier le port de connexion
Nous sommes toujours connecté en root, nous allons donc vérifier si notre nouvel utilisateur fonctionne bien avant d’interdire la connexion en « root ».
Fermé le client ssh, puis reconnectez vous avec votre nouveau utilisateur à ce dernier.
Une fois connecté, vous avez en dernière ligne cela : utilisateur@vps123456:# (123456 sont un exemple vous aurez votre numéro de vps à vous)
Nous allons donner à « utilisateur » les droits de root avec la commande:
su
Alors le serveur va vous répondre:
Password:
Entrez le mot de passe de votre accès « root » afin d’élever « utilisateur » au niveau de « root »
Après la saisie du passe, vous verrez alors ceci :
root@vps123456:/home/utilisateur#
Nous pouvons maintenant éditer le fichier /etc/ssh/sshd_config avec la commande:
vi /etc/ssh/sshd_config
Trouver la ligne « Port 22 »
Port 22
Déplacer le curseur, presser « a »et supprimer « 22 » puis remplacer par le numéro de port que vous souhaitez, nous allons dire « 1234 » dans notre exemple
Port 1234
Trouver la ligne « PermiRootLogin yes »
PermiRootLogin yes
Mettre « no » à la place de « yes » (cette modification permettra de refuser la connexion en root)
PermiRootLogin no
Puis appuyer sur « echap » pour sortir du mode insertion, puis « :w » et « entrée » pour enregistrer la modification et on finie avec « :q » pour sortir du mode édition.
De retour sur :
root@vps123456:/home/utilisateur#
Il nous reste plus qu’à redémarrer le service SSH pour prendre en compte les modifications avec la commande suivante:
reboot
le serveur va vous répondre:
The system is going down for reboot NOW!
Nota: vous pouvez aussi redémarrer uniquement le service SSH avec la commande « /etc/init.d/ssh restart » à la place du hard reboot.
Nous préférons tester le redémarrage totale de la machine afin de vérifier s’il n’y a aucun problème suite au modification.
Maintenant, vous allons testé accés root et le port 22 afin de savoir si les modifications ont bien été prises en compte. Pour cela rien de plus simple, on ouvre notre client SSH (Putty),
on teste de se connecter avec ses infos:
« IP serveur » + « port 22 » —> Accès refusé
« IP serveur » + « port 1234 », puis compte « root » à la saisie du mot de passe —> Accès refusé
« IP serveur » + « port 123 », puis compte « utilisateur » à la saisie du mot de passe —> Accès autorisé
Pour finir, si vous devez élevé les droits de « utilisateur » au niveau de « root », il vous suffit de le faire par la commande:
su
A la demande du serveur, lui indiquer le mot de passe du compte root, vous êtes connecté en « root » par votre « utilisateur »
Grâce à ces modifications, votre machine est protégé des attaques basées sur root et le port 22. (80 à 90 % des attaques). Si vous avez une suggestion, indiquez là nous, je l’ajouterai à l’article.