Ajouter un commentaire

Debian 10 Buster : Prise en main d'un VPS SSD d'OVH

Dans cet article, nous allons voir étape par étape comment prendre en main son VPS SSD 1 de chez OVH avec Debian 10 Buster.
Pour 2,99€ / mois, vous avez un serveur VPS, basé sur KVM OpenStack et avec :

  • 1 vCore à 2 GHz
  • 2 Go RAM
  • SSD 20 Go local Raid 10

 

Ouvrir une connexion SSH sur votre VPS

Quelques minutes après votre paiement, vous recevez un mail d'OVH avec les informations sur votre VPS.

Bonjour,

Votre VPS vient d'être installé sous le système d'exploitation / distribution
Debian 10 (Buster) (en version 64 bits)

PARAMETRES D'ACCES:
L'adresse IPv4 du VPS est : 151.152.153.154
L'adresse IPv6 du VPS est : 2001:2001:2001:2100:2100:2100:2100:2100

Le nom du VPS est : vpsxxxxxx.ovh.net

Le compte administrateur suivant a été configuré sur le VPS :
Nom d'utilisateur : root
Mot de passe :      xxxxxxxx
Pour vous connecter en SSH sur votre VPS, vous aurez besoin de l'application Putty qui est téléchargeable gratuitement depuis https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Sélectionnez l'application putty.exe en version 32 ou 64 bits en fonction de votre système

Indiquer votre adresse IP ou votre nom vpsXXXX.ovh.net, sélectionner SSH puis cliquer sur le bouton Open.

A votre première connexion, vous devez cliquer sur Oui pour que la clé du serveur soit ajoutée au cache de Putty (et qu'il ne vous repose pas la question à votre prochaine connexion).

La fenêtre de console s'affiche, indiquez root en nom d'utilisateur puis le mot de passe associé, reçu dans l'e-mail d'activation d'OVH.
Si vous ne faites pas d'erreur de saisie, votre session SSH est ouverte sur votre serveur.

Et vous pouvez exécuter quelques commandes linux pour bien débuter :

  • cat /etc/debian_version --> qui affiche la version de Debian installée, la 9 dans notre cas
  • uname -a --> pour afficher la version du noyau Linux
  • free -m --> pour afficher la mémoire occupée : 32 Mo uniquement pour notre Debian tout neuf

 

Mise à jour du système

Une fois connecté, et avant d'aller plus loin, on commence par mettre à jour notre version de Debian en tapant les 2 commandes ci-dessous.
Cela actualise la liste de paquet de l'installation Debian et installe les nouvelles versions si nécessaire.

apt-get update
apt-get upgrade

Tous les packages de votre système sont désormais à jour.

 

Création d'un nouvel utilisateur

Nous allons maintenant créer un utilisateur "standard" que vous utiliserez au quotidien en lieux et place de l'utilisateur root.

Utilisez la commande adduser suivi du nom de l'utilisateur que vous souhaitez créer, dev dans mon cas

adduser dev

On vous demande alors d'indiquer le mot de passe de ce nouvel utilisateur, puis de spécifier des infos facultatives.

Adding user `dev' ...
Adding new group `dev' (1001) ...
Adding new user `dev' (1001) with group `dev' ...
Creating home directory `/home/dev' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for rb
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] y

Ce nouvel utilisateur doit pouvoir exécuter des commandes en tant que root, via l'application sudo.
Pour cela, il faut ajouter votre nouvel utilisateur dev au groupe sudo, pour cela tapez la commande suivante.

adduser dev sudo

Vous obtiendrez ce retour.

Adding user `dev' to group `sudo' ...
Adding user dev to group sudo
Done.

De la même manière que vous avez ouvert une session SSH avec Putty précédemment, vérifier que votre nouvel utilisateur fonctionne et qu'il peut ouvrir une session SSH sur votre serveur.

 

Changement du mot de passe de l'utilisateur debian

A présent, nous allons changer le mot de passe par défaut de l'utilisateur debian que vous avez reçu dans le mail d'OVH.
Utilisez un mot de passe complexe (évitez 123456, password...), toute la sécurité de votre système va dépendre de se mot de passe.
Tapez la commande suivante puis indiquez 2 fois de suite votre nouveau mot de passe root.

passwd root

 

Sécurisation des sessions SSH

Pour des raisons de sécurité, il est fortement recommander de ne pas autoriser les connexions SSH avec l'utilisateur root.
C'est en effet l'utilisateur de prédilection utilisé par les pirates pour tenter d'accéder à votre serveur.

Avant d'aller plus loin, vous devez être certain l'utilisateur créé précédemment peut ouvrir une sessions SSH !

Nous allons donc modifier la configuration de SSH en ouvrant le fichier /etc/ssh/sshd_config

nano /etc/ssh/sshd_config

Tout à la fin du fichier, vous devriez avoir une ligne commancant par PermitRootLogin puis indiquer no à la place du yes présent

PermitRootLogin no

Pour enregistrer la modification dans l'éditeur nano, taper simultanément sur les taches Control et X
Sur le bas de votre écran, répondez Y puis Entrée pour valider l'enregistrement des modifications.

Reste à redémarrer le service SSH pour activer la modification.

service sshd restart

A partir de maintenant, vous ne pourrez plus vous connectez avec Putty en utilisant l'utilisateur root.
Vous devrez forcément utiliser l'utilisateur que vous avez créé au début de cet article.

 

Sécuriser d'avantage SSH

Il est également fortement recommandé de changer le port de connexion utilisé par SSH par défaut : 22.
C'est en effet le port qui est le plus utilisé par les pirates pour essayer de se connecter sur votre serveur.
Mais attention de bien savoir ce que vous faites... Ne pas utiliser un numéro de port en dessous de 1024, c'est des ports réservés (cf. https://fr.wikipedia.org/wiki/Liste_de_ports_logiciels).
Et au-delà de 1024, il y a également des ports reservés pour des applications !

En utilisant un port entre 20000 et 45000, vous devriez être tranquille mais une vérification sur internet ne coute rien.

Comme précédemment, nous allons modifier la configuration de SSH en ouvrant le fichier /etc/ssh/sshd_config

nano /etc/ssh/sshd_config

Puis ajouter à la fin du fichier l'entrée suivante, en remplaçant 44422 (ce port est un exemple) par le numéro de port personnel que vous souhaitez utiliser.

Port 44422

Enfin, pour améliorer encore la sécurité, il est possible de limiter les connexions SSH à certains utilisateurs seulement.
Si vous souhaitez le faire, il suffit d'ajouter l'option AllowUsers suivi des utilisateurs autorisés (dev par exemple pour moi).

AllowUsers dev

Reste à redémarrer le service SSH pour activer la modification.

service sshd restart

Pensez d'indiquer votre nouveau numéro de port dans Putty pour pouvoir vous connecter !

 

Et maintenant

Je vous invite à lire mon article suivant sur la configuration du hostname et du reverse DNS de votre serveur

 

Bonus : C'est quoi le processeur de mon VPS

Pour les curieux, comme moi smiley, qui souhaite savoir quel type processeur votre serveur VPS utilise.
Exécuter la commande suivante :

cat /proc/cpuinfo

Et dans mon cas, c'est un processeur Intel Haswell à 2 GHz.

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 60
model name      : Intel Core Processor (Haswell, no TSX)
stepping        : 1
microcode       : 0x1
cpu MHz         : 2095.076
cache size      : 4096 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc rep_good nopl cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault invpcid_single pti tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs
bogomips        : 4190.15
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

 

Bonus 2 : afficher les packages installés

La commande dpkg --list vous affichera la liste des packages Debian installés sur votre serveur

dpkg --list

Ca se présente sous cette forme

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                             Version                    Architecture Description
+++-================================-==========================-============-===============================================================================
ii  adduser                          3.118                      all          add and remove users and groups
ii  apparmor                         2.13.2-10                  amd64        user-space parser utility for AppArmor
ii  apt                              1.8.2                      amd64        commandline package manager
ii  apt-utils                        1.8.2                      amd64        package management related utility programs
ii  aptitude                         0.8.11-7                   amd64        terminal-based package manager
ii  aptitude-common                  0.8.11-7                   all          architecture independent files for the aptitude package manager
ii  base-files                       10.3+deb10u1               amd64        Debian base system miscellaneous files
ii  base-passwd                      3.5.46                     amd64        Debian base system master password and group files
ii  bash                             5.0-4                      amd64        GNU Bourne Again SHell
ii  bash-completion                  1:2.8-6                    all          programmable completion for the bash shell
ii  bsdmainutils                     11.1.2+b1                  amd64        collection of more utilities from FreeBSD
ii  bsdutils                         1:2.33.1-0.1               amd64        basic utilities from 4.4BSD-Lite
ii  busybox                          1:1.30.1-4                 amd64        Tiny utilities for small and embedded systems
ii  bzip2                            1.0.6-9.2~deb10u1          amd64        high-quality block-sorting file compressor - utilities
ii  ca-certificates                  20190110                   all          Common CA certificates
ii  cloud-guest-utils                0.29-1                     all          cloud guest utilities
ii  cloud-image-utils                0.29-1                     all          cloud image management utilities
ii  cloud-init                       18.3-6                     all          initialization system for infrastructure cloud instances
ii  cloud-utils                      0.29-1                     all          metapackage for installation of upstream cloud-utils source
ii  coreutils                        8.30-3                     amd64        GNU core utilities

 

You must have Javascript enabled to use this form.