Configuration initiale du serveur avec Debian 8

introduction

Lorsque vous créez un nouveau serveur Debian 8 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 suivantes.

Première étape - Connexion racine

Pour vous connecter à votre serveur, vous devez connaître l’adresse IP publique de votre serveur et le mot de passe du compte de l’utilisateur «root». Si vous n’êtes pas déjà connecté à votre serveur, vous voudrez peut-être suivre le premier tutoriel de cette série, https://www.digitalocean.com/community/tutorials/how-to-connect-to-your-droplet-with- ssh [Comment se connecter à votre droplet avec SSH], qui décrit 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 le mot en surbrillance par l’adresse IP publique de votre serveur):

Terminez le processus de connexion en acceptant l’avertissement concernant l’authenticité de l’hôte, s’il apparaît, puis en fournissant votre authentification racine (mot de passe ou clé privée). Si vous vous connectez pour la première fois au serveur, avec un mot de passe, vous serez également invité à modifier le mot de passe root.

À propos de la racine

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, vous êtes réellement 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 influence réduite pour le travail quotidien. Nous allons vous apprendre à obtenir des privilèges plus importants lorsque vous en avez besoin.

Deuxième étape - Créer 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é "démo", mais vous devez le remplacer par un nom d’utilisateur que vous aimez:

adduser

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

Entrez un mot de passe fort et, éventuellement, renseignez les informations supplémentaires si vous le souhaitez. Cela n’est pas obligatoire et vous pouvez simplement appuyer sur «Entrée» dans n’importe quel champ que vous souhaitez ignorer.

Troisième étape - Privilèges racine

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

Pour éviter de devoir vous déconnecter de notre utilisateur normal et vous reconnecter en tant que compte root, nous pouvons configurer ce que nous appelons des privilèges de «super utilisateur» ou privilèges root pour notre compte normal. Cela permettra à notre utilisateur normal d’exécuter des commandes avec des privilèges d’administrateur en plaçant le mot + sudo + avant chaque commande.

Installer Sudo

Debian 8 n’est pas livré avec + sudo +, alors installons-le avec apt-get.

Commencez par mettre à jour l’index du paquet apt:

apt-get update

Ensuite, utilisez cette commande pour installer sudo:

apt-get install sudo

Vous pouvez maintenant utiliser les commandes + sudo + et + visudo +.

Accorder des privilèges Sudo

Pour ajouter ces privilèges à notre nouvel utilisateur, nous devons ajouter le nouvel utilisateur au groupe «sudo». Par défaut, sous Debian 8, 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 -a -G sudo

Maintenant, votre utilisateur peut exécuter des commandes avec des privilèges de super utilisateur! Pour plus d’informations sur la façon dont cela fonctionne, consultez cet tutoriel sudoers.

Quatrième étape - Ajouter une authentification par clé publique (recommandé)

La prochaine étape de la sécurisation de votre serveur consiste à configurer l’authentification par clé publique pour votre nouvel utilisateur. Cette configuration augmentera la sécurité de votre serveur en nécessitant une clé SSH privée pour vous connecter.

Générer une paire de clés

Si vous ne disposez pas déjà d’une paire de clés SSH, composée d’une clé publique et d’une clé privée, vous devez en générer une. Si vous avez déjà une clé que vous souhaitez utiliser, passez à l’étape Copier la clé publique.

Pour générer une nouvelle paire de clés, entrez la commande suivante sur le terminal de votre * machine locale * (c’est-à-dire. ton ordinateur):

ssh-keygen

En supposant que votre utilisateur local s’appelle «localuser», vous obtiendrez un résultat ressemblant à ce qui suit:

ssh-keygen outputGenerating public/private rsa key pair.
Enter file in which to save the key (/Users//.ssh/id_rsa):

Appuyez sur Entrée pour accepter ce nom de fichier et ce chemin (ou entrez un nouveau nom).

Ensuite, vous serez invité à entrer un mot de passe composé pour sécuriser la clé. Vous pouvez soit entrer une phrase secrète, soit la laisser vide.

  • Remarque: * Si vous laissez la phrase secrète vide, vous pourrez utiliser la clé privée pour l’authentification sans entrer de phrase secrète. Si vous entrez une phrase secrète, vous aurez besoin à la fois de la clé privée et de la phrase secrète pour vous connecter. Sécuriser vos clés avec des mots de passe est plus sécurisé, mais les deux méthodes ont leurs utilisations et sont plus sécurisées que l’authentification de base par mot de passe.

Ceci génère une clé privée, + id_rsa , et une clé publique, + id_rsa.pub +, dans le répertoire ` .ssh +` du répertoire de base de localuser. Rappelez-vous que la clé privée ne doit pas être partagée avec des personnes qui ne devraient pas avoir accès à vos serveurs!

Copier la clé publique

Après avoir généré une paire de clés SSH, vous souhaiterez copier votre clé publique sur votre nouveau serveur. Nous allons couvrir deux façons simples de le faire.

Option 1: Utilisez ssh-copy-id

Si le script + ssh-copy-id + est installé sur votre ordinateur local, vous pouvez l’utiliser pour installer votre clé publique sur tout utilisateur pour lequel vous disposez des informations d’identification de connexion.

Exécutez le script + ssh-copy-id + en spécifiant l’utilisateur et l’adresse IP du serveur sur lequel vous voulez installer la clé, comme ceci:

ssh-copy-id @

Après avoir fourni votre mot de passe à l’invite, votre clé publique sera ajoutée au fichier + .ssh / registered_keys + de l’utilisateur distant. La clé privée correspondante peut maintenant être utilisée pour se connecter au serveur.

Option 2: Installer manuellement la clé

En supposant que vous ayez généré une paire de clés SSH à l’aide de l’étape précédente, utilisez la commande suivante sur le terminal de votre * machine locale * pour imprimer votre clé publique (+ id_rsa.pub +):

cat ~/.ssh/id_rsa.pub

Cela devrait imprimer votre clé publique SSH, qui devrait ressembler à ceci:

id_rsa.pub contentsssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf [email protected]

Sélectionnez la clé publique et copiez-la dans votre presse-papiers.

Ajouter une clé publique au nouvel utilisateur distant

Pour permettre l’utilisation de la clé SSH pour s’authentifier en tant que nouvel utilisateur distant, vous devez ajouter la clé publique à un fichier spécial du répertoire de base de l’utilisateur.

  • Sur le serveur *, en tant qu’utilisateur + root +, entrez la commande suivante pour passer au nouvel utilisateur (remplacez votre propre nom d’utilisateur):

su -

Maintenant, vous serez dans le répertoire de base de votre nouvel utilisateur.

Créez un nouveau répertoire appelé + .ssh + et limitez ses autorisations avec les commandes suivantes:

mkdir .ssh
chmod 700 .ssh

Ouvrez maintenant un fichier dans .ssh appelé + registered_keys + avec un éditeur de texte. Nous allons utiliser nano pour éditer le fichier:

nano .ssh/authorized_keys

Maintenant, insérez votre clé publique (qui devrait être dans votre presse-papiers) en la collant dans l’éditeur.

Appuyez sur les touches + CTRL-X + pour quitter le fichier, puis + Y + pour enregistrer les modifications apportées, puis + ENTER + pour confirmer le nom du fichier.

Restreignez maintenant les autorisations du fichier authorized_keys avec cette commande:

chmod 600 .ssh/authorized_keys

Tapez cette commande once pour retourner à l’utilisateur + root +:

exit

Maintenant, vous pouvez vous connecter en tant que nouvel utilisateur SSH, en utilisant la clé privée comme authentification.

Pour en savoir plus sur le fonctionnement de l’authentification par clé, lisez ce tutoriel: How Pour configurer l’authentification par clé SSH sur un serveur Linux.

Cinquième étape - Configurer SSH

Maintenant que nous avons notre nouveau compte, nous pouvons sécuriser un peu notre serveur en modifiant sa configuration de démon SSH (le programme qui nous permet de nous connecter à distance) pour interdire l’accès SSH à distance au compte * root *.

Commencez par ouvrir le fichier de configuration avec votre éditeur de texte en tant que root:

nano /etc/ssh/sshd_config

Ici, nous avons la possibilité de désactiver la connexion root via SSH. Il s’agit généralement d’un paramètre plus sécurisé, car nous pouvons désormais accéder à notre serveur via notre compte d’utilisateur normal et augmenter les privilèges si nécessaire.

Pour désactiver les connexions root à distance, nous devons trouver la ligne qui ressemble à ceci:

/ etc / ssh / sshd_config (avant)

#PermitRootLogin yes

Vous pouvez modifier cette ligne en "non" comme ceci si vous souhaitez désactiver la connexion root:

/ etc / ssh / sshd_config (après)

PermitRootLogin no

Désactiver la connexion root à distance est fortement recommandé sur chaque serveur!

Lorsque vous avez terminé vos modifications, enregistrez et fermez le fichier en utilisant la méthode décrite précédemment (+ CTRL-X +, puis + Y +, puis + ENTER +).

Recharger SSH

Maintenant que nous avons apporté nos modifications, nous devons redémarrer le service SSH pour qu’il utilise notre nouvelle configuration.

Tapez ceci pour redémarrer SSH:

systemctl restart ssh

Maintenant, avant de nous déconnecter du serveur, nous devrions * tester * notre nouvelle configuration. Nous ne voulons pas nous déconnecter avant de pouvoir confirmer que de nouvelles connexions peuvent être établies avec succès.

Ouvrez une * nouvelle * fenêtre de terminal. Dans la nouvelle fenêtre, nous devons commencer une nouvelle connexion à notre serveur. Cette fois, au lieu d’utiliser le compte root, nous voulons utiliser le nouveau compte que nous avons créé.

ssh @

On vous demandera le mot de passe du nouvel utilisateur que vous avez configuré. Après cela, vous serez connecté en tant que nouvel utilisateur.

Rappelez-vous, si vous devez exécuter une commande avec les privilèges root, tapez «sudo» comme suit:

sudo

Si tout va bien, vous pouvez quitter vos sessions en tapant:

exit

Où aller en partant d’ici?

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