Création et Utilisation d'un VPS- Part 1

docker vps linux digitalocean ovh nuage ssh contabo firewall

Aujourd'hui, nous parlons beaucoup d'automatisation, d'utiliser des services chez différents fournisseurs. Mais tout cela à un coût, et parfois nous n'avons pas la maîtrise des données.
C'est pourquoi il est possible de souscrire à un abonnement pour posséder son propre serveur et y installer les services que l'on souhaite afin de garder le contrôle sur les données.
En contrepartie cela demande de mettre un peu plus les mains dans le cambouis. C'est pourquoi nous allons parler de VPS !

C'est aussi un bon moyen de comprendre et voir les problématiques qui font que vous pourrez aussi comprendre comment fonctionne les mécanismes derrière chaque service (hébergé par vous ou pas).

Pour les bricoleurs et les personnes qui pratiquent le DIY, c'est le moment de s'y mettre, cela ne coûte quelques euros par mois !

Dans cet article, nous allons voir ce qu'est un serveur (en l'occurrence un VPS) et comment il est possible d'en utiliser un.

Qu'est ce qu'un serveur et les différents types

Un serveur est une machine qui tourne 24h/24h, souvent dénuée d'affichage graphique. Le but d'une telle machine est d'exécuter une liste d'opérations de façon continue et/ou servir du contenu.

Je vais prendre un exemple concret: lorsque chacun accède au site Leboncoin, c'est que derrière il y a plusieurs machines (en fonction de la charge, c'est à dire de la demande) qui vont renvoyer le contenu d'une page web qui va être lisible par votre navigateur.

Idem lorsque vous envoyez des mails, votre navigateur ou logiciel accède à un serveur qui s'occupe de faire le traitement nécessaire pour formater le mail et l'envoyer vers d'autres serveurs.

Un serveur possède un système d'exploitation qui peut-être sous Windows, Mac, Linux ou des systèmes annexes (Vmware,..). Aujourd'hui la majorité des serveurs sont à base de Linux.

Un serveur peut-être une machine dédiée, hébergée dans un datacenter ou à la maison, ou un VPS.

Dans la suite de l'article, je ne parlerai pas du fait d'héberger une machine chez soi, cela demande beaucoup plus de configuration et de sécurité ( ouvrir certains ports du routeur,...)

Les serveurs dédiés

Les serveurs dédiées peuvent être installés soit chez vous/ dans votre entreprise ou peuvent être directement hébergés dans un datacenter.
Quand on l'héberge chez soi, il va falloir l'installer dans un environnement où la température est régulée et vous devez en faire la maintenance matérielle et logicielle.
Quand le serveur dédié est hébergé dans un datacenter, vous n'avez pas besoin de vous soucier du stockage, de la température ou des problèmes matériel. Vous avez uniquement la charge de la maintenance logicielle. Néanmoins le coût est plus important.

Généralement, les entreprises disposent d'un à plusieurs serveurs dans leurs locaux, qui contiennent généralement le nécessaire pour la gestion, l'administration de l'entreprise. Le reste, ce sont des services loués à des grands groupes (Outlook,...).

La machine est à vous et vous pouvez y installer ce que vous voulez. Personne d'autre n'y mettra la main. En fonction de la puissance de votre serveur, vous pouvez même en sous louer une partie.
Le coût est donc bien plus élevé qu'un serveur virtuel.

Les VPS (Virtual Private Server)

Il s'agit ici d'un serveur virtuel. Mais qu'est-ce que cela signifie ?

Généralement les datacenters achètent de grosses machines puissantes plutôt que d'avoir X machines avec au final la même capacité. C'est tout simplement lié au coût de l'encombrement, du coût énergétique, du câblage,...

Pour information, voilà à quoi ressemble un datacenter :
BAIE_MARILYN

Ces serveurs ont en effet assez de puissance pour fournir des sous machines. Ces dernières sont en fait des VPS, autrement dit des machines virtuelles au sein d'une même machine physique.
Un serveur physique très puissant peut contenir plus de 50 machines facilement, cela dépendra des besoins en ressources.

Avec cette méthode, il est possible donc de posséder des VPS pour un coût beaucoup moins important qu'un serveur dédié. C'est très abordable, même pour les particuliers. Il est possible d'en trouver à partir de 2.99 euros HT par mois.

Il est même possible de louer des VPS à la minute ou à l'heure, mais pour quelles raisons ?

Il se se peut que certaines tâches sur vos équipements prennent du temps ou que vous n'ayez pas la puissance nécessaire pour effectuer le traitement.
En louant la machine, quelques heures, vous gagnez du temps et le coût est de quelques centimes à quelques euros.
Pour ma part, je l'ai beaucoup utilisé en entreprise quand, par exemple, nous devions faire des rendus de cartographies, exports... On gagne beaucoup de temps et donc de l'argent !

Lequel choisir ?

La question c'est, est-ce que je dois choisir un serveur dédié ou VPS ?

Quand vous choisissez un serveur privé, c'est que vous savez ce que vous faites. Vous avez besoin d'une installation très personnalisée et vous souhaitez pouvoir contrôler l'intégrité de la machine.
Pour la majorité des personnes qui vont consulter l'article, je vous conseille de passer votre chemin.

Optez plutôt pour un VPS. Commencer avec un petit VPS à quelques euros pour se faire la main c'est bien :)

Comment choisir son provider/datacenter

J'avoue que je priorise d'abord les solutions françaises, il y en a plusieurs dont :

Ensuite, des références internationales que j'utilise également :

En cliquant sur les liens de Nua.ge et DigitalOcean vous serez parrainé, ce qui vous permettra d'obtenir un crédit de 100 euros (pour Nuage sans limite de temps) ou 100$ (2 mois pour DO). Donc pour commencer à bricoler dessus sans dépenser de l'argent, c'est très bien.
Je conseil d'abord Nuage, mon petit préféré !

Je vous renvoie directement sur le site de l'hébergeur où il y a souvent des tutos qui expliquent comment créer une machine. Ce n'est pas bien sorcier.
L'article sera accompagné d'une vidéo où l'on pourra retrouver la création d'un VPS depuis un provider tel que DigitalOcean ou Nuage.

Comment installe t-on un serveur

Que ce soit sur Nuage, DigitalOcean ou un autre, vous allez avoir une interface web vous permettant de créer votre machine.
Soit vous recevez un mail avec vos identifiants, soit vous récupérez les informations depuis votre panel.

Il faut savoir que pour la plupart, les VPS ont un accès par mot de passe, mais que l'utilisation d'une clé SSH reste primordiale (pour des notions de sécurité).

La console

Une fois votre VPS créé, il est possible d'accéder à la console, mais qu'est-ce qu'est la console ?

La plupart des VPS (notamment Linux) ne dispose pas d'une interface graphique, il faut en effet écrire une suite de commandes pour installer, monitorer votre serveur ou tout simplement effectuer les actions que vous souhaitez.
Vous avez par exemple, sur DigitalOcean, une console qui ressemble à cette image.
Okzbx

Il vous faudra donc ensuite saisir vos identifiants pour pouvoir écrire vos commandes.

La connexion SSH

En temps normal, les connexions vers un serveur se font au moyen de son adresse IP Publique (que l'on retrouve sur le panel de votre fournisseur).
Si vous n'avez pas associé un nom de domaine, c'est le seul moyen de communiquer avec un serveur. Une adresse IP, c'est comme la boite postale de votre logement.

La plupart du temps, et pour des raisons de sécurité accrues, il est préférable d'utiliser une clé SSH.

Imaginer que la porte de votre maison peut s'ouvrir soit avec un DigiCode soit avec une clé.
La clé reste beaucoup plus sécuritaire car avec le Digicode vous pouvez tenter jusqu'à obtenir le bon code.

Sur le web, ce sont des robots qui vont tenter des millions de mots de passe dans un temps record...

Que vous soyez sur Linux ou Windows, la création de votre clé SSH se fait facilement. Attention cette clé ne doit pas être perdue sinon impossible d'accéder au serveur.

Création d'une clé SSH sous windows

Depuis l'arrivée de la version Windows 10, il est possible de créer une clé SSH en ligne de commande, pour cela, il faut ouvrir une invite de commande et saisir le texte suivant :

ssh-keygen -t rsa -b 4096

Puis suivre les instructions, je vous conseille d'ajouter une phrase secrète, cela permet d'accroitre le niveau de sécurité !

Ce site (https://www.howtogeek.com/762863/how-to-generate-ssh-keys-in-windows-10-and-windows-11/) explique très bien comment générer une clé de différentes façons, il suffit à minima de suivre les images.
Attention, il faudra bien conserver la public key ainsi que la private key. Ces dernières ne doivent pas être divulguées.

Création d'une clé SSH sous linux

Sous linux, c'est exactement la même commande que citée précédemment.

Je conseille aussi ce site (https://linuxhint.com/generate-ssh-keys-on-linux/) qui explique les différentes étapes.

A l'issue de cet article, je ferai une ou des vidéos dans laquelle (ou lesquelles) je vous montrerai comment en créer une !

La connexion avec une clé SSH

Que ça soit sous Windows ou Linux, j'ai toujours tendance à utiliser Putty (ou Kitty, je préfère) qui est un outil vous permettant de se connecter à votre VPS.
Une fois ouvert, il faudra à minima rentrer l'adresse IP de votre serveur et suivre les images suivantes :
Screenshot_3

Screenshot_31

Une fenêtre s'ouvre et vous devez indiquer :

  • le login : généralement, root, ubuntu et ...
  • la pass phrase de votre clé

Une fois validé, nous arrivons sur la fenêtre suivante :

Screenshot_34

Il ne reste plus qu'à entrer les commandes que l'on souhaite.

Comment entretient on un serveur

Et oui, un serveur ça a besoin d'entretien, il faut de temps en temps vérifier que tout est OK et faire un peu de préventive.
Il arrive souvent les problèmes suivants :

  • le serveur est surchargé car on y a installé trop de services
  • le disque est plein à cause d'un trop gros nombre de services ou d'une application qui se met en erreur et écrit beaucoup de plus de choses que d'habitude.
  • la sécurité n'est pas suffisante et on laisse des portes ouvertes pour des attaques.

notions de mise à jour

Comme sur un PC traditionnel, un serveur a besoin de recevoir des mises à jour.
Ces dernières peuvent être automatiques ou on. Le plupart du temps, elles ne le sont pas !

Il faut donc régulièrement utiliser les commandes qui vont pouvoir faire cette mise à jour. Attention néanmoins, car certaines mises à jour peuvent engendrer un mauvais fonctionnement de vos applications actuelles.
C'est pourquoi j'utilise docker où je sais que chaque application fonctionne dans sa boite noire et qu'une mise à jour système n'a pas d'impact.

J'expliquerai pourquoi j'utilise la stack docker dans un prochain article.

notions de sécurité

Là c'est un sujet un peu complexe, je vais en expliquer les quelques principes théoriques mais je n'irai pas plus loin.

Il faut que votre VPS soit muni d'un firewall et qu'il soit configuré correctement. Par défaut l'ensemble des ports sont ouverts et donc des bots peuvent prendre la main sur votre serveur en se positionnant sur un bug d'une application utilisant ce port.

C'est pour cela que la solution comme Nuage intègre directement un firewall au-dessus de votre machine, cela se fait au niveau de l'infrastructure. C'est rapide à mettre en oeuvre avec quelques clics.

Pour ceux qui veulent en savoir plus, je conseille d'aller regarder l'outil ufw (un firewall au sein de votre VPS linux).

Il est aussi conseillé de changer le port d'écoute de la connexion SSH, pour ma part, je ne trouve pas forcément cette pratique très bonne, mais ça ajoute un niveau de complexité pour les attaques.

Conclusion

Nous arrivons à la fin de cet article dans lequel j'ai abordé un peu de théorie sur :

  • ce qu'est un serveur
  • quel type de serveur utiliser
  • les notions pour en comprendre le fonctionnement
  • comment s'y connecter
  • une rapide introduction sur la maintenance d'un serveur

Une vidéo plus pratique vous expliquera comment créer un VPS et s'y connecter pour la première fois.

Dans un prochain article, je vais vous parler de docker, mon outil préféré pour déployer des outils sans trop d'efforts, tout en assurant une bonne maintenabilité.

A très bientôt !

Article précédent Article suivant