Configuration initiale du serveur avec Ubuntu 20.04

Introduction

Lorsque vous créez un nouveau serveur Ubuntu 20.04, vous devez effectuer quelques étapes de configuration importantes dans le cadre de la configuration initiale. Ces étapes augmenteront la sécurité et la facilité d’utilisation de votre serveur et vous donneront une base solide pour les actions ultérieures.

Lorsque vous créez un Droplet DigitalOcean, vous pouvez choisir une version d’Ubuntu qui sera ajoutée automatiquement à votre nouveau Droplet. Simplifiez votre configuration avec nos solutions clés en main.

Étape 1 — Connexion en tant que root

Pour vous connecter à votre serveur, vous devrez connaître l’adresse IP publique de votre serveur. Vous aurez également besoin du mot de passe ou — si vous avez installé une clé SSH pour l’authentification — de la clé privée du compte utilisateur root. Si vous n’avez pas encore ouvert de session sur votre serveur, vous voudrez peut-être suivre notre guide sur comment se connecter aux Droplets avec SSH, qui couvre ce processus en détail.

Si vous n’êtes pas déjà connecté à votre serveur, connectez-vous maintenant en tant qu’utilisateur root en utilisant la commande suivante (remplacez la partie en surbrillance de la commande par l’adresse IP publique de votre serveur) :

  1. ssh root@your_server_ip

Acceptez l’avertissement concernant l’authenticité de l’hôte s’il apparaît. Si vous utilisez une authentification par mot de passe, fournissez votre mot de passe root pour vous connecter. Si vous utilisez une clé SSH protégée par un mot de passe, il se peut que vous deviez saisir le mot de passe la première fois que vous utilisez la clé pendant chaque session. S’il s’agit de votre première connexion au serveur avec un mot de passe, il se peut également que vous soyez invité à changer le mot de passe root.

À propos de root

L’utilisateur root est l’utilisateur administratif dans un environnement Linux qui dispose de privilèges très étendus. En raison des privilèges accrus du compte root, il est déconseillé de l’utiliser régulièrement. Cela est dû au fait que le compte root est capable d’effectuer des modifications très destructrices, même par accident.

La prochaine étape consiste à configurer un nouveau compte utilisateur avec des privilèges réduits pour une utilisation quotidienne. Plus tard, nous vous montrerons comment obtenir temporairement des privilèges accrus lorsque vous en avez besoin.

Étape 2 — Créer un nouveau utilisateur

Une fois connecté en tant que root, vous pourrez ajouter le nouveau compte utilisateur. À l’avenir, nous nous connecterons avec ce nouveau compte au lieu de root.

Cet exemple crée un nouveau compte utilisateur appelé sammy, mais vous devriez le remplacer par un nom d’utilisateur que vous aimez :

  1. adduser sammy

On vous posera quelques questions, en commençant par le mot de passe du compte.

Entrez un mot de passe fort et, éventuellement, remplissez les informations supplémentaires si vous le souhaitez. Ce n’est pas obligatoire et vous pouvez simplement appuyer sur ENTRÉE dans n’importe quel champ que vous souhaitez sauter.

Étape 3 — Accorder des privilèges administratifs

Nous avons maintenant un nouveau compte utilisateur avec des privilèges de compte réguliers. Cependant, nous devons parfois effectuer des tâches administratives.

Pour éviter de devoir fermer notre session utilisateur normale et nous reconnecter en tant que compte root, nous pouvons configurer ce qu’on appelle les privilèges superutilisateur ou root pour notre compte normal. Cela permettra à notre utilisateur normal d’exécuter des commandes avec des privilèges administratifs en plaçant le mot sudo avant la commande.

Pour ajouter ces privilèges à notre nouvel utilisateur, nous devons ajouter l’utilisateur au groupe sudo. Par défaut, sur Ubuntu 20.04, les utilisateurs membres du groupe sudo sont autorisés à utiliser la commande sudo.

En tant que root, exécutez cette commande pour ajouter votre nouvel utilisateur au groupe sudo (remplacez le nom d’utilisateur en surbrillance par votre nouvel utilisateur) :

  1. usermod -aG sudo sammy

Maintenant, lorsque vous êtes connecté en tant qu’utilisateur régulier, vous pouvez taper sudo avant les commandes pour les exécuter avec des privilèges superutilisateur.

Étape 4 — Configuration d’un pare-feu de base

Les serveurs Ubuntu 20.04 peuvent utiliser le pare-feu UFW pour s’assurer que seules les connexions à certains services sont autorisées. Nous pouvons configurer un pare-feu de base à l’aide de cette application.

Remarque : Si vos serveurs tournent sur DigitalOcean, vous pouvez facultativement utiliser les pare-feux Cloud DigitalOcean au lieu du pare-feu UFW. Nous recommandons d’utiliser un seul pare-feu à la fois pour éviter les règles conflictuelles qui peuvent être difficiles à déboguer.

Les applications peuvent enregistrer leurs profils auprès de UFW lors de l’installation. Ces profils permettent à UFW de gérer ces applications par leur nom. OpenSSH, le service nous permettant de nous connecter à notre serveur maintenant, a un profil enregistré auprès de UFW.

Vous pouvez le vérifier en tapant :

  1. ufw app list
Output
Available applications: OpenSSH

Nous devons nous assurer que le pare-feu autorise les connexions SSH afin que nous puissions nous reconnecter la prochaine fois. Nous pouvons autoriser ces connexions en tapant :

  1. ufw allow OpenSSH

Ensuite, nous pouvons activer le pare-feu en tapant :

  1. ufw enable

Tapez y et appuyez sur ENTRÉE pour continuer. Vous pouvez voir que les connexions SSH sont toujours autorisées en tapant :

  1. ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

Comme le pare-feu bloque actuellement toutes les connexions sauf SSH, si vous installez et configurez des services supplémentaires, vous devrez ajuster les paramètres du pare-feu pour autoriser le trafic entrant. Vous pouvez apprendre quelques opérations UFW courantes dans notre guide Essentiels de UFW.

Étape 5 — Activation de l’accès externe pour votre utilisateur régulier

Maintenant que nous avons un utilisateur régulier pour une utilisation quotidienne, nous devons nous assurer que nous pouvons nous connecter en SSH directement sur le compte.

Remarque : Jusqu’à ce que vous vérifiiez que vous pouvez vous connecter et utiliser sudo avec votre nouvel utilisateur, nous recommandons de rester connecté en tant que root. De cette façon, si vous rencontrez des problèmes, vous pouvez les résoudre et apporter les modifications nécessaires en tant que root. Si vous utilisez un Droplet DigitalOcean et rencontrez des problèmes avec votre connexion SSH root, vous pouvez retrouver l’accès aux Droplets en utilisant la console de récupération.

Le processus de configuration de l’accès SSH pour votre nouvel utilisateur dépend de savoir si le compte root de votre serveur utilise un mot de passe ou des clés SSH pour l’authentification.

Si le compte root utilise l’authentification par mot de passe

Si vous vous êtes connecté à votre compte root en utilisant un mot de passe, alors l’authentification par mot de passe est activée pour SSH. Vous pouvez vous connecter en SSH à votre nouveau compte utilisateur en ouvrant une nouvelle session de terminal et en utilisant SSH avec votre nouveau nom d’utilisateur :

  1. ssh sammy@your_server_ip

Après avoir saisi le mot de passe de votre utilisateur habituel, vous serez connecté. N’oubliez pas, si vous avez besoin d’exécuter une commande avec des privilèges administratifs, tapez sudo avant comme ceci :

  1. sudo command_to_run

Vous serez invité à saisir le mot de passe de votre utilisateur habituel lors de l’utilisation de sudo pour la première fois à chaque session (et périodiquement par la suite).

Pour renforcer la sécurité de votre serveur, nous recommandons vivement de configurer des clés SSH plutôt que d’utiliser l’authentification par mot de passe. Suivez notre guide sur la configuration des clés SSH sur Ubuntu 20.04 pour apprendre comment configurer l’authentification par clé.

Si le compte root utilise l’authentification par clé SSH

Si vous vous êtes connecté à votre compte root en utilisant des clés SSH, alors l’authentification par mot de passe est désactivée pour SSH. Vous devrez ajouter une copie de votre clé publique locale au fichier ~/.ssh/authorized_keys du nouvel utilisateur pour vous connecter avec succès.

Étant donné que votre clé publique est déjà dans le fichier ~/.ssh/authorized_keys du compte root sur le serveur, nous pouvons copier ce fichier et cette structure de répertoire vers notre nouveau compte utilisateur dans notre session existante.

La manière la plus simple de copier les fichiers avec les autorisations et les permissions correctes est d’utiliser la commande rsync. Cela copiera le répertoire .ssh de l’utilisateur root, préservera les permissions et modifiera les propriétaires des fichiers, le tout en une seule commande. Assurez-vous de modifier les parties en surbrillance de la commande ci-dessous pour correspondre au nom de votre utilisateur régulier:

Remarque : La commande rsync traite différemment les sources et les destinations qui se terminent par un slash final de celles qui n’en ont pas. Lors de l’utilisation de rsync ci-dessous, assurez-vous que le répertoire source (~/.ssh) ne se termine pas par un slash (vérifiez que vous n’utilisez pas ~/.ssh/).

Si vous ajoutez accidentellement un slash final à la commande, rsync copiera le contenu du répertoire ~/.ssh du compte root vers le répertoire personnel de l’utilisateur sudo au lieu de copier l’ensemble de la structure du répertoire ~/.ssh. Les fichiers seront au mauvais emplacement et SSH ne pourra pas les trouver et les utiliser.

  1. rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy

Maintenant, ouvrez une nouvelle session de terminal sur votre machine locale et utilisez SSH avec votre nouveau nom d’utilisateur :

  1. ssh sammy@your_server_ip

Vous devriez être connecté au nouveau compte utilisateur sans utiliser de mot de passe. N’oubliez pas, si vous devez exécuter une commande avec des privilèges d’administration, tapez sudo devant comme ceci :

  1. sudo command_to_run

Vous serez invité à saisir le mot de passe de votre utilisateur régulier lors de l’utilisation de sudo pour la première fois à chaque session (et périodiquement par la suite).

Où aller à partir d’ici ?

À ce stade, vous avez une base solide pour votre serveur. Vous pouvez maintenant installer n’importe quel logiciel dont vous avez besoin sur votre serveur.

Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04