Maintenant que vous savez comment créer un serveur web de base sur un VPS Ovh, il est important de mettre en place quelques mesures de sécurité visant à protéger un minimum votre serveur.
Cet article est la suite de comment installer un serveur vps ovh cloud. Encore une fois, je suis loin d’être un expert en admin system, n’hésitez pas à me corriger ou à nous proposer d’autres éléments.
La sécurité zéro n’hésite pas, ce tutoriel a pour but de compliquer au maximum la tâche des pirates, en particulier des robots scanner de port, bruteforce, ddos etc… tout en gardant une installation relativement simple et lègère.
Le compte root du VPS cloud
Dans le précédent tutoriel, nous avons vu comment changer le mot de passe du compte root. Pour des raisons de sécurité, il est également nécessaire d’empêcher la connexion ssh en direct depuis ce compte. (la majorité des « hackers » commencent leur tentative de bruteforce par ce login).
Pour ce faire, il faut d’abord ajouter un utilisateur et lui donner un mot de passe :
adduser nomdeluser
Ensuite, il faut éditer le fichier config de ssh pour empêcher le login en root. Vous l’avez compris, si par la suite vous oubliez votre nouveau login… il faudra tout réinstaller ?
On édite le fichier de configuration :
vi /etc/ssh/sshd_config
On cherche la ligne :
PermitRootLogin yes
Et on modifie yes par no. On sauvegarde le fichier, puis on redemarre ssh :
service ssh restart
Il est également conseillé de changer le port d’accés. Maintenant, il faut vous connecter en ssh avec le login choisis plus haut et son mot de passe. Pour passer administrateur, il faut taper :
su
puis saisir le mot de passe du compte root.
Mettre à jour son VPS
La distribution Debian est régulièrement mise à jour, il est donc primordial d’effectuer régulièrement la mise à jour des paquets :
apt-get update && apt-get upgrade
Pour être au courant des mises à jour, un utilitaire dénommé apticron permet d’envoyer un mail à chaque modification d’un élément.
apt-get install apticron
Pour la configuration :
vi /etc/apticron/apticron.conf
On modifie alors trois lignes : EMAIL, CUSTOM_SUBJECT et CUSTOM_FROM
Sécuriser MYSQL
Vu dans le précédent article, il est conseillé de changer l’url d’accés à phpmyadmin, par défaut /phpmyadmin.
Ensuite, lancez l’utilitaire fourni par mysql permettant de sécuriser un minimum l’installation :
/usr/bin/mysql_secure_installation
Faire taire apache sur son vps
Par défaut, votre serveur apache diffusera de nombreuses informations : version du serveur etc… Pour l’empêcher de diffuser ces informations :
/etc/apache2/apache2.conf
Modifiez ServerSignature en « off »
Puis redemarrez apache :
service apache2 restart
Compliquez la tâche des hackers
Nous allons maintenant installer et configurer fail2ban, un utilitaire qui analyse les logs en temps réels et permet de bannir temporairement les ips des assaillants (via iptables).
apt-get install fail2ban
On édite le fichier de configuration :
vi /etc/fail2ban/jail.conf
En particulier les lignes destemail (adresse mail pour recevoir les alertes), maxretry (nombre de tentatives acceptables avant bannissement) et bantime (durée du bannissement de l’ip).
Vous pouvez ensuite modifier les configurations des différentes « prisons » ou jail. (ssh, activer la protection du ftp en mettant enabled à true pour proftpd etc… suivant votre configuration).
Pour terminer on redemarre fail2ban
service fail2ban restart
Quelques heures plus tard, saisissez
iptables -L
Vous verrez alors normalement diverses IP chinoises bloquées par fail2ban.
Détecter un piratage sur son VPS OVH
Pour terminer, nous allons mettre en place rkhunter, un utilitaire qui va scanner quotidiennement votre serveur à la recherche de backdoors, rootkits etc… indispensable si vous utilisez des CMS type wordpress, joomla etc… (attention cependant aux faux positifs).
apt-get install rkhunter
On édite le fichier de configuration :
vi /etc/default/rkhunter
Renseignez votre mail dans REPORT_EMAIL, et passez CRON_DAILY_RUN à yes.
Pour information, OVH propose par défaut sur son infrastructure VPS une protection anti-DDOS.
Prochaine étape : sauvegarde des bases de donnée, des fichiers présents sur le ftp sur un serveur distant.
Superbe article ! Merci beaucoup, ça va m’être très utile 🙂
En parlant de sécurité, peut-être auras-tu la réponse à ma question.
J’ai souhaité acquérir un certificat SSL chez OVH. Il a fallut que je souscrive à une IP Load balancing pour pouvoir installer le certificat SSL. OVH m’a confirmé que le certificat a été installé sur l’IP Load balancing, mais du coup je suis un peu paumé.
Je pensais avoir un certificat SSL (avec fichier, clé et tout ça…) à placer sur le serveur et à ajouter dans mon virtual host sur le port 443. Mais là il semblerait que l’IP Load Balancing permette en fait au cryptage de se faire au niveau d’un proxy et pas sur le serveur en lui même. Seulement voilà, je ne vois pas comment installer un certificat que je n’ai pas sur le serveur, et le site ne devient pas consultable en https comme par magie.
As-tu une idée de la façon dont il faut procéder avec ce système bien particulier d’OVH ? Merci ! 🙂
Je viens de réaliser que je pouvais faire pointer le domaine directement sur l’IP LoadBalancing (étrangement quand je vais dans le manager avec chrome ça ne marche pas, mais avec firefox oui!). Je vais attendre que le DNS se propage et peut être que ça fonctionnera 🙂
Bonjour
Comment modifier le password de son compte FTP (j’utilise vps CLASSIC OVH)
sans utiliser plesk 11 webadmin, seulement par SSH
j’ai essayé ceci : passwd user : (user n’est pas le vrai nom, je l’ai remplacé par mon vrai user login) et ça marche pas il me dit que le user n’existe pas.
Merci à toi de me donner la manipulation à faire.
Merci pour l’article!
Pour répondre à Pat, si tu veux changer le mot de passe de nimporte utilisateur sur ton VPS, il faut préalablement créer un utilisateur avec la commande: adduser nomduuser ou sudo adduser nomduuser si tu as installer sudo. Pour installer sudo, la commande apt-get install sudo est requis. Pour ajouter au groupe sudo ton utilisateur, c’est la commande adduser nomduuser sudo. Je conseillerais dans l’article de changer le numéro de port du SSH dans le fichier /etc/ssh/sshd_config pour éviter de laisser le port 22 ouvert et facile à trouver.
Si vous voulez un certificat SSL pour votre site web. Ajouter le https avec cloudflare gratuitement.
Bonjour, actuellement je recherche justement des informations au sujet du VPS, et particuliérement OVH. Etant actuellement sur un dédié, je me pose différentes questions au sujet du VPS, principalement pour la sécurité, étant donné que je n’ai qu’une faible expériance Linux. Enfin, je mis met doucement, mon ordinateur tourne maintenant sur Xubuntu. Cependant, merci pour votre partage, je met en favoris. Bien cordialement
Une petite remarque en passant : attention à ajouter le nouvel utilisateur au groupe sudo. Avec cette commande :
adduser nom_utilisateur sudo
Et ce, *avant* de désactiver le login du root. Autrement, une fois que le root login est off, l’utilisateur non sudo ne pourra plus le réactiver… Donc pour regagner l’administration du serveur, il faudra le réinstaller (c’est comme ça qu’on apprend, certes, mais là ça revient à s’enfermer dehors – autant éviter) !