Select Page
Vous êtes un geek curieux et avez envie de tester des solutions open source? Jitsi, Bitwarden, Unifi ? Ou carrément un reverse proxy pour gérer plusieurs serveurs derrière une seule adresse IP? La première étape consiste souvent à installer une machine tournant sous Linux, si possible sans interface graphique pour ne pas surcharge le système avec des applications inutiles qui consomment des ressources.

Mais quelle distribution Linux? Comment la sécuriser suffisamment pour ne pas créer une passoire sur Internet? Je vous propose une installation d’Ubuntu 20.04 Serveur, dans sa version LTS (Long Term Support) qui vous garantit des mises à jour de sécurité durant de longues années. De plus, cette distribution est basée sur Debian et garantit la disponibilité de pratiquement toutes les applications en version pré-compilées. Il existe bien entendu de multitudes d’autres distributions Linux tout aussi qualitatives, mais Ubuntu est un bon choix de départ bien équilibré.

Vous êtes prêt à vous lancer? Suivez le guide!

Partie 1: Installation d’Ubuntu 20.04 LTS

Il me faut une machine

Eh oui. Heureusement, il existe de nombreuses possibilités pour faire cette installation. Sur un vieux PC qui traine dans un coin, comme machine virtuelle sur votre ordinateur (sous VMWare, Parallels, VirtualBox, KVM, …) ou dans le cloud (Digital Ocean, AWS, Vultr, Infomaniak, …).
Pour ce tuto, je vais utiliser Proxmox, un serveur de virtualisation basé sur KVM que j’ai déployé dans le Lab Ansam pour faire des tests. Un autre tuto pour installer Proxmox suivra, promis!

Télécharger l’image d’installation

Rendez vous sur le site d’Ubuntu et téléchargez la version .iso du serveur (Option 2: Manual server installation). J’ai choisi la version 64 bits pour processeurs X64, à adapter en fonction de votre hardware. Le téléchargement fait >900 MB.

Création de la machine virtuelle (VM)

Dans Proxmox, il faut tout d’abord uploader l’image iso d’Ubuntu sur le serveur. Ensuite, il faut créer une VM, lui donner un nom, sélectionner l’iso comme disque d’installation, créer un disque local (j’ai fait un disque de 32 GB pour le tuto), lui attribuer un CPU (j’ai choisi 2 coeurs virtuels), de la RAM (4 GB pour cet exemple) et une carte réseau (bridge mode, pour un accès direct au LAN).

Il n’y a plus qu’à cliquer sur “Finish” et la VM sera créée et démarrée.

Installation d’Ubuntu

Comme j’ai coché la case “Start after created”, la machine démarre tout seul et boot sur le disque d’installation.

Je choisi en général l’anglais, car les traductions sont souvent… créatives 😉
Ensuite vient le choix du clavier (Switzerland – French, dans mon cas) et la configuration réseau. Par défaut, Ubuntu obtient une adresse DHCP sur votre réseau. Pour une configuration d’un serveur, je vous conseille une adresse IP fixe (hors de range attribué par le serveur DHCP…) ou une réservation DHCP pour éviter que son IP ne change à chaque reboot.

J’entre donc les configuration IP suivantes pour attribuer à mon serveur l’adresse 192.168.1.200 sur mon réseau. Il faudra bien évidemment adapter votre configuration en fonction de votre réseau (IP, Gateway, DNS, etc).

Sur les écrans suivants, vous pouvez laisser le proxy vide et garder la valeur par défaut pour le serveur d’updates.
Pour le formatage du disque, vous pouvez laisser les valeurs par défaut, ce qui va complètement effacer le disque virtuel. C’est OK, vu qu’on vient de le créer et qu’il n’y a rien dessus.

Finalement, créez votre compte utilisateur avec un mot de passe fort (non, Password1234 n’est pas un mot de passe fort ;-))

Nous y sommes presque: il faut encore installer le serveur SSH (pour pouvoir accéder à la machine ultérieurement via le Terminal) et ne sélectionnez rien des installations optionnelles, à moins de savoir exactement ce qu’il vous faut.

L’installation s’achève tout seul et installe automatiquement les dernières mises à jour. A la fin de l’installation, il faudra redémarrer et enlever le disque d’installation pour éviter que le système ne reboot dessus en lieu et place du disque interne.

Une fois que le système a redémarré, nous allons faire la suite avec le Terminal et ne plus utiliser directement “l’écran” du serveur.

Partie 2: Configuration d’Ubuntu

Le Terminal

Le plus simple et le plus pratique pour gérer un serveur Linux à distance est d’utiliser un terminal et se connecter par SSH.
Sur Mac, c’est simple, le terminal est déjà installé sur votre machine. Il suffit de lancer Spotlight, taper “Terminal” et appuyer sur Entrée. Sur Windows, je vous recommande d’installer PuTTY ou la version beta de Terminal disponible sur le Windows Store.
Etant sur Mac, je vais utiliser Terminal, mais toutes les commandes fonctionnent de manière identique sur PuTTY ou Terminal Windows.

La configuration des utilisateurs

Comme vous l’avez vu lors de l’installation, nous avons installé un système minimaliste. C’est une règle de base de sécurité: n’installer que ce dont on a besoin. Plus on installe des services inutiles, plus on expose des applications qui peuvent avoir des problèmes de sécurité. Alors si en plus on n’a pas besoin de ces applications, c’est vraiment idiot.

Une deuxième règle de sécurité sur Linux est de ne pas utiliser au quotidien l’utilisateur root (super utilisateur sur Linux qui a tous les droits). Il vaut mieux se servir d’un utilisateur standard et faire une escalation de droits au moment où on a besoin à l’aide de la commande “sudo”.

Une troisième règle est de ne pas se contenter d’un couple “username/password” pour se logguer sur le système, mais d’y adjoindre une clé privée. Ainsi, si quelqu’un trouve votre username et password, il faudra encore qu’il ait votre clé privée pour pouvoir se connecter.

La première règle de sécurité étant déjà appliquée en n’installant que le strict nécessaire, nous allons sécuriser notre Ubuntu et appliquer les règles 2 et 3.

Création d’une paire de clés publique et privée

Le plus simple est de faire ça directement sur le serveur. Ouvrez le Terminal et logguez-vous avec les username et password créées lors de l’installation:

ssh phil@192.168.1.200

Lors de la première connexion, le système vous demandra si vous acceptez de faire confiance à cette nouvelle machine. Répondez par “yes” et appuyez sur Entrée.
Note: Si vous voyez à l’écran que des mises à jour sont disponibles, ne vous inquiétez pas, nous mettrons à jour tout le système dans la dernière étape

Mise à jour du serveur

Dernière règle de sécurité: soyez à jour avec les patches. Pour cela tapez:

sudo apt update
sudo apt install -y
sudo apt dist-upgrade -y

Cette commande se décompose de la manière suivante:
sudo: escalation de privilège nécessaire pour mettre à jour le système. Tapez le même mot de passe que celui utilisé pour vous logguer
apt update: va se connecter au serveur d’update pour voir s’il y a des nouveaux packages disponibles.
apt install: installe les mises à jour disponibles
-y: vous fait gagner du temps, répond oui à tout 😉
apt dist-upgrade: installe les mises majeures disponibles