Configuration initiale du serveur avec Debian 9

De Get Docs
Aller à :navigation, rechercher

Introduction

Lorsque vous créez un nouveau serveur Debian 9 pour la première fois, vous devez suivre quelques étapes de configuration dès le début dans le cadre 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.

Première étape - Se connecter 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 du compte de l'utilisateur root. Si vous n'êtes pas encore connecté à votre serveur, vous pouvez suivre notre guide sur comment se connecter à votre Droplet avec SSH, qui couvre ce processus en détail.

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 en surbrillance de la commande par l'adresse IP publique de votre serveur) :

ssh [email protected]_server_ip

Acceptez l'avertissement concernant l'authenticité de l'hôte s'il s'affiche. Si vous utilisez l'authentification par mot de passe, fournissez votre mot de passe root pour vous connecter. Si vous utilisez une clé SSH protégée par une phrase secrète, vous pouvez être invité à saisir la phrase secrète la première fois que vous utilisez la clé à chaque session. S'il s'agit de votre première connexion au serveur avec un mot de passe, vous pouvez également être invité à modifier le mot de passe root.

À propos de la racine

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, vous êtes déconseillé de l'utiliser régulièrement. En effet, une partie de la puissance inhérente au compte root est la capacité d'apporter des modifications très destructrices, même par accident.

L'étape suivante consiste à créer un compte utilisateur alternatif avec un champ d'influence réduit pour le travail quotidien. Nous vous apprendrons comment obtenir des privilèges accrus lorsque vous en avez besoin.

Deuxième étape - Création d'un nouvel utilisateur

Une fois que vous êtes connecté en tant que root, nous sommes prêts à ajouter le nouveau compte utilisateur que nous utiliserons pour nous connecter à partir de maintenant.

Remarque : dans certains environnements, un package appelé unscd peut être installé par défaut afin d'accélérer les requêtes vers des serveurs de noms tels que LDAP. La version la plus récente actuellement disponible dans Debian contient un bogue qui fait que certaines commandes (comme la commande adduser ci-dessous) produisent une sortie supplémentaire qui ressemble à ceci :

sent invalidate(passwd) request, exiting
sent invalidate(group) request, exiting

Ces messages sont inoffensifs, mais si vous souhaitez les éviter, vous pouvez supprimer le package unscd en toute sécurité si vous ne prévoyez pas d'utiliser des systèmes tels que LDAP pour les informations utilisateur :

apt remove unscd

Cet exemple crée un nouvel utilisateur appelé sammy, mais vous devez le remplacer par un nom d'utilisateur que vous aimez :

adduser sammy

Quelques questions vous seront posées, 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 ENTER dans n'importe quel champ que vous souhaitez ignorer.

Troisième étape - Octroi de privilèges administratifs

Maintenant, nous avons un nouveau compte d'utilisateur avec des privilèges de compte réguliers. Cependant, nous pouvons parfois être amenés à effectuer des tâches administratives.

Pour éviter d'avoir à nous déconnecter de notre utilisateur normal et à nous reconnecter en tant que compte root, nous pouvons configurer ce que l'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 mettant 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, sur Debian 9, les utilisateurs appartenant au 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 mot en surbrillance par votre nouvel utilisateur) :

usermod -aG sudo sammy

Désormais, lorsque vous êtes connecté en tant qu'utilisateur habituel, vous pouvez taper sudo avant les commandes pour effectuer des actions avec des privilèges de superutilisateur.

Étape 4 - Configuration d'un pare-feu de base

Les serveurs Debian peuvent utiliser des pare-feu pour s'assurer que seules les connexions à certains services sont autorisées. Bien que le pare-feu iptables soit installé par défaut, Debian ne recommande pas fortement un pare-feu spécifique. Dans ce guide, nous installerons et utiliserons le pare-feu UFW pour définir des politiques et gérer les exceptions.

Nous pouvons utiliser le gestionnaire de packages apt pour installer UFW. Mettez à jour l'index local pour récupérer les dernières informations sur les packages disponibles, puis installez le pare-feu en tapant :

apt update
apt install ufw

Remarque : Si vos serveurs s'exécutent sur DigitalOcean, vous pouvez éventuellement utiliser DigitalOcean Cloud Firewalls au lieu du pare-feu UFW. Nous vous recommandons d'utiliser un seul pare-feu à la fois pour éviter les conflits de règles qui peuvent être difficiles à déboguer.


Les profils de pare-feu permettent à UFW de gérer des ensembles de règles de pare-feu pour les applications par nom. Les profils de certains logiciels courants sont fournis avec UFW par défaut et les packages peuvent enregistrer des profils supplémentaires avec UFW pendant le processus d'installation. OpenSSH, le service nous permettant de nous connecter à notre serveur maintenant, a un profil de pare-feu que nous pouvons utiliser.

Vous pouvez le voir en tapant :

ufw app list
OutputAvailable 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 :

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
OutputStatus: 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 acceptable. Vous pouvez apprendre certaines opérations UFW courantes dans ce guide.

Cinquième étape - Activer 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 au compte.

Remarque : Jusqu'à ce que vous ayez vérifié 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 rencontrez des problèmes, vous pouvez résoudre les problèmes et apporter les modifications nécessaires en tant que root. Si vous utilisez un droplet DigitalOcean et que vous rencontrez des problèmes avec votre connexion SSH racine, vous pouvez vous connecter au droplet à l'aide de la console DigitalOcean.


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 racine utilise l'authentification par mot de passe

Si vous vous êtes connecté à votre compte racine à l'aide d'un mot de passe, 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 :

ssh [email protected]_server_ip

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

sudo command_to_run

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

Pour améliorer la sécurité de votre serveur, nous vous recommandons fortement de configurer des clés SSH au lieu d'utiliser l'authentification par mot de passe . Suivez notre guide sur configuration des clés SSH sur Debian 9 pour savoir comment configurer l'authentification basée sur les clés.

Si le compte racine utilise l'authentification par clé SSH

Si vous vous êtes connecté à votre compte racine à l'aide de clés SSH, 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 se trouve déjà dans le fichier ~/.ssh/authorized_keys du compte racine sur le serveur, nous pouvons copier ce fichier et cette structure de répertoires dans notre nouveau compte utilisateur dans notre session existante avec le [ commande X201X]. Ensuite, nous pouvons ajuster la propriété des fichiers à l'aide de la commande chown.

Assurez-vous de modifier les parties en surbrillance de la commande ci-dessous pour qu'elles correspondent au nom de votre utilisateur habituel :

cp -r ~/.ssh /home/sammy
chown -R sammy:sammy /home/sammy/.ssh

Maintenant, ouvrez une nouvelle session de terminal et utilisez SSH avec votre nouveau nom d'utilisateur :

ssh [email protected]_server_ip

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

sudo command_to_run

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

Sixième étape - Terminer la configuration facultative

Maintenant que nous avons une configuration de base solide, nous pouvons envisager quelques étapes facultatives pour rendre le système plus accessible. Les sections suivantes couvrent quelques ajustements supplémentaires axés sur la convivialité.

Installation des pages de manuel

Debian fournit des manuels complets pour la plupart des logiciels sous la forme de pages man. Cependant, la commande man n'est pas toujours incluse par défaut sur les installations minimales.

Installez le package man-db pour installer la commande man et les bases de données manuelles :

sudo apt install man-db

Maintenant, pour afficher le manuel d'un composant, vous pouvez taper :

man command

Par exemple, pour afficher le manuel de la commande top, tapez :

man top

La plupart des packages des dépôts Debian incluent des pages de manuel dans le cadre de leur installation.

Modification de l'éditeur par défaut

Debian propose une grande variété d'éditeurs de texte, dont certains sont inclus dans le système de base. Les commandes avec prise en charge intégrée de l'éditeur, telles que visudo et systemctl edit, transmettent le texte à la commande editor, qui est mappée à l'éditeur par défaut du système. Définir l'éditeur par défaut en fonction de vos préférences peut vous aider à configurer votre système plus facilement et à éviter les frustrations.

Si votre éditeur préféré n'est pas installé par défaut, utilisez apt pour l'installer en premier :

sudo apt install your_preferred_editor

Ensuite, vous pouvez afficher la valeur par défaut actuelle et modifier la sélection à l'aide de la commande update-alternatives :

sudo update-alternatives --config editor

La commande affiche un tableau des éditeurs qu'elle connaît avec une invite pour modifier la valeur par défaut :

OutputThere are 8 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/joe         70        auto mode
  1            /bin/nano            40        manual mode
  2            /usr/bin/jmacs       50        manual mode
  3            /usr/bin/joe         70        manual mode
  4            /usr/bin/jpico       50        manual mode
  5            /usr/bin/jstar       50        manual mode
  6            /usr/bin/rjoe        25        manual mode
  7            /usr/bin/vim.basic   30        manual mode
  8            /usr/bin/vim.tiny    15        manual mode

Press <enter> to keep the current choice[*], or type selection number:

L'astérisque dans la colonne la plus à gauche indique la sélection actuelle. Pour modifier la valeur par défaut, tapez le numéro de "Sélection" de votre éditeur préféré et appuyez sur Enter. Par exemple, pour utiliser nano comme éditeur par défaut étant donné le tableau ci-dessus, nous choisirions 1 :

OutputPress <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /bin/nano to provide /usr/bin/editor (editor) in manual mode

À partir de maintenant, votre éditeur préféré sera utilisé par des commandes telles que visudo et systemctl edit, ou lorsque la commande editor est appelée.

Où aller en partant d'ici?

À ce stade, vous disposez d'une base solide pour votre serveur. Vous pouvez installer tous les logiciels dont vous avez besoin sur votre serveur dès maintenant.