Introduction
Lorsque vous créez un nouveau serveur Ubuntu 18.04 pour la première fois, vous devez suivre quelques étapes de configuration lors de la configuration de base. Cela augmentera la sécurité et la convivialité de votre serveur et vous donnera une base solide pour les actions ultérieures.
Remarque: Le guide ci-dessous montre comment exécuter manuellement les étapes recommandées pour les nouveaux serveurs Ubuntu 18.04. Suivre cette procédure manuellement peut s’avérer utile pour acquérir des compétences de base en administration système et pour comprendre parfaitement les actions en cours sur votre serveur.
Étape 1 – Connexion en tant que root
Pour vous connecter à votre serveur, vous devez 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 pour le compte de l’utilisateur root .
Si vous n’êtes pas déjà connecté à votre serveur, continuez et connectez-vous en tant qu’utilisateur root à l’aide de la commande suivante (remplacez la partie « your_server_ip » par l’ip publique ou l’ip privée si vous vous trouver sur le réseau de votre serveur):
$ 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, indiquez votre mot de passe root pour vous connecter. Si vous utilisez une clé SSH protégée par une phrase secrète, vous serez peut-être invité à saisir la phrase secrète lors de la première utilisation de la clé à chaque session. Si vous vous connectez pour la première fois au serveur avec un mot de passe, vous pouvez également être invité à modifier le mot de passe root .
À propos de l’utilisateur root
L’ utilisateur root est l’utilisateur administratif dans un environnement Linux doté de privilèges très étendus. En raison des privilèges élevés du compte root , il est déconseillé de l’utiliser régulièrement. En effet, une partie du pouvoir inhérent au compte root réside dans sa capacité à effectuer des modifications très destructrices, même par accident.
L’étape suivante consiste à configurer un compte d’utilisateur alternatif avec une étendue réduite pour le travail quotidien. Nous vous apprendrons comment obtenir des privilèges plus importants lorsque vous en avez besoin.
Étape 2 – Création d’un nouvel utilisateur
Une fois que vous êtes connecté en tant que root , nous sommes prêts à ajouter le nouveau compte d’utilisateur que nous utiliserons désormais pour vous connecter.
Cet exemple crée un nouvel utilisateur appelé bobby , mais vous devez le remplacer par un nom d’utilisateur que vous aimez:
$ adduser bobby
On vous posera quelques questions, en commençant par le mot de passe du compte.
Entrez un mot de passe fort et, éventuellement, complétez les informations supplémentaires si vous le souhaitez. Ce n’est pas obligatoire et vous pouvez simplement taper ENTER
dans n’importe quel champ que vous souhaitez ignorer.
Étape 3 – Octroi de privilèges administratifs
Nous avons maintenant un nouveau compte utilisateur avec des privilèges de compte régulier. Cependant, nous pouvons parfois avoir besoin de tâches administratives.
Pour éviter de devoir vous déconnecter de l’utilisateur régulier et vous reconnecter en tant que root , nous pouvons configurer ce que nous appelons des privilèges de «superutilisateur» ou privilèges root pour notre compte régulier. Cela permettra à notre utilisateur régulier d’exécuter des commandes avec des privilèges d’administrateur en plaçant le mot sudo
avant chaque commande.
Pour ajouter ces privilèges à notre nouvel utilisateur, nous devons ajouter le nouvel utilisateur au groupe sudo . Par défaut, sous Ubuntu 18.04, les utilisateurs appartenant au groupe sudo sont autorisés à utiliser la commandesudo
.
En tant que root , exécutez cette commande pour ajouter votre nouvel utilisateur au groupe sudo :
$ usermod -aG sudo bobby
Maintenant, lorsque vous êtes connecté en tant qu’utilisateur régulier, vous pouvez taper des commandes sudo
pour effectuer des actions avec les privilèges de superutilisateur.
Étape 4 – Configuration d’un pare-feu de base
Les serveurs Ubuntu 18.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 très facilement en utilisant cette application.
Différentes applications peuvent enregistrer leurs profils auprès de UFW lors de l’installation. Ces profils permettent à UFW de gérer ces applications par nom. OpenSSH, le service qui nous permet maintenant de nous connecter à notre serveur, a un profil enregistré auprès de UFW.
Vous pouvez le voir en tapant:
$ ufw app list
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 permettre ces connexions en tapant:
$ ufw allow OpenSSH
Ensuite, nous pouvons activer le pare-feu en tapant:
$ ufw enable
Tapez y
et appuyez sur ENTER
pour continuer. Vous pouvez voir que les connexions SSH sont toujours autorisées en tapant:
$ ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Comme le pare-feu bloque actuellement toutes les connexions, à l’exception de SSH , si vous installez et configurez des services supplémentaires, vous devrez ajuster les paramètres du pare-feu pour autoriser un trafic entrant. Vous pouvez apprendre certaines opérations UFW courantes en suivant le lien.
É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 directement en SSH.
Remarque: jusqu’à ce que vous vérifiiez que vous pouvez vous connecter et utiliser sudo
avec votre nouvel utilisateur, nous vous recommandons de rester connecté en tant que root . De cette façon, si vous avez des problèmes, vous pouvez résoudre le problème et apporter les modifications nécessaires en tant que root .
Le processus de configuration de l’accès SSH pour votre nouvel utilisateur varie selon que 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à l’aide d’un mot de passe , l’authentification par mot de passe est activée pour SSH. Vous pouvez utilisez SSH sur votre nouveau compte utilisateur en ouvrant une nouvelle session de terminal et en utilisant SSH avec votre nouveau nom d’utilisateur:
$ ssh bobby@your_server_ip
Une fois le mot de passe de votre utilisateur habituel entré, vous serez connecté. N’oubliez pas que, si vous devez exécuter une commande avec des privilèges d’administrateur, entrez sudo
comme suit:
$ sudo command_to_run
Votre mot de passe utilisateur habituel vous sera demandé lors de la première utilisation sudo
de chaque session (et périodiquement par la suite).
Pour améliorer la sécurité de votre serveur, nous vous 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 18.04 pour apprendre à configurer l’authentification par clé.
Si le compte root utilise l’authentification par clé SSH
Si vous vous êtes connecté à votre compte rootà l’aide de clés 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 se trouve déjà dans le fichier du compte root ~/.ssh/authorized_keys
sur le serveur, nous pouvons copier cette structure de fichiers et de répertoires dans notre nouveau compte d’utilisateur dans notre session existante.
Le moyen le plus simple de copier les fichiers avec les droits de propriété et les autorisations appropriés consiste à utiliser la commande rsync
. Cela copiera le répertoire .ssh
de l’utilisateur root , préservera les autorisations et modifiera les propriétaires de fichiers, le tout dans une seule commande.
Remarque: La commande rsync
traite les sources et les destinations qui se terminent par un slash de fin de manière différente de celles sans le slash. Lors de l’utilisation de rsync
ci-dessous, assurez-vous que le répertoire source ( ~/.ssh
) n’inclut pas de slash finale (assurez-vous de ne pas utiliser ~/.ssh/
).
Si vous ajoutez accidentellement un slash à la commande, rsync
copiera le contenu du répertoire du compte root dans le répertoire ~/.ssh
de base de l’utilisateur sudo
au lieu de copier la structure de répertoires complète ~/.ssh
. Les fichiers se trouveront au mauvais emplacement et SSH ne pourra pas les trouver et les utiliser.
$ rsync --archive --chown=bobby:bobby ~/.ssh /home/bobby
Maintenant, ouvrez une nouvelle session de terminal et utilisez SSH avec votre nouveau nom d’utilisateur:
$ ssh bobby@your_server_ip
Vous devez être connecté au nouveau compte d’utilisateur sans utiliser de mot de passe. N’oubliez pas que si vous devez exécuter une commande avec des privilèges d’administrateur, tapez sudo
comme suit:
$ sudo command_to_run
Votre mot de passe utilisateur habituel vous sera demandé lors de la première utilisation sudo
de chaque session (et périodiquement par la suite).
À ce stade, votre serveur repose sur une base solide. Vous pouvez maintenant installer n’importe quel logiciel dont vous avez besoin sur votre serveur.