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 , 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
Add new comment