Dans ce tutoriel, vous allez apprendre à installer Debian et à configurer l’environnement en fonction de vos besoins.
Vous y découvrirez l'installation avec une interface graphique mais également SANS interface graphique !
Pour installer Debian, premièrement vous pouvez utiliser le menu “graphical install” & “install”, aucune différence entre les deux, si ce n’est que la “graphical install” est plus “jolie” et vous permet d’utiliser la souris pendant l’installation (recommandé pour des débutants)
Dans ce tutoriel, j’utiliserais la graphical install.
Je sélectionne ensuite la langue dans laquelle je veux effectuer l’installation, en bon français je choisis la langue “French” !
L’OS me demande ensuite de préciser ma situation géographique, je lui spécifie que je suis en France
Je lui signale ensuite que mon clavier est en français (clavier azerty)
L’OS chargera ensuite les différents composants de base, notamment ceux de la carte réseau
L’OS récupérera une adresse ip sur le réseau (configuration ip en DHCP)
Je pourrais ensuite sélectionner le nom de ma machine ! Pour ma part ce sera “debian-ilan”
L’OS me propose de spécifier un nom de domaine, n’étant pas membre d’un domaine, pas besoin
d’en spécifier !
Ensuite l’OS va me demander de renseigner le mot de passe du superutilisateur “root”.
Vous pouvez suivre les recommandations (https://www.ssi.gouv.fr/uploads/2021/10/anssi-guide-authentification_multifacteur_et_mots_de_passe.pdf) ou pas.
Pour ma part, vu qu’il s’agit juste d’une machine de test, je mets “root” en mot de passe.
L’OS me propose ensuite de créer un utilisateur, je l’appellerai “ilan”
Je lui garde le même identifiant pour ne pas me perdre.
La différence entre "Nom complet" et "identifiant pour le compte" est très simple, le "nom complet" est le nom qui apparaitra sur l'interface graphique au moment de la connexion, tandis que "identifiant pour le compte" est le "login" que vous allez rentrer au moment de vous connecter (= important pour le terminal ou l'interface non graphique)
Je vais ensuite devoir renseigner un mot de passe pour l’utilisateur (dans mon cas “ilan” sera mon mot de passe)
L’OS va ensuite démarrer l’outil de partitionnement des disques
Je choisis le mode partitionnement “assisté - utiliser un disque entier” qui est celui en surbrillance par défaut.
Je sélectionne le seul disque présent actuellement. Mon disque virtuel de 20Go
Il me propose de suivre différents schémas de formatage, si vous êtes débutant sélectionnez le
premier schéma.
L’OS me demandera ensuite si je souhaite effectuer une configuration supplémentaire (RAID, iSCSI) ou finaliser la configuration
J’applique les changements en vérifiant que les partitions mentionnées juste au-dessus correspondent.
L’installation de base se lancera alors automatiquement
Une fois l’installation de base terminée, l’OS me propose d’analyser un autre CD/DVD, je n’en ai pas besoin, je sélectionne donc “non” puis enchaîne.
J’arrive ensuite à la configuration du miroir pour la gestion des paquets, ce miroir est l’adresse vers laquelle Debian se tourne pour installer de nouvelles applications ou pour mettre à jour le système.
Dans mon cas, je vais sélectionner le miroir de la France.
Je garde le choix par défaut qui est “deb.debian.org”
Je peux choisir un “mandataire http” (ou “proxy”), comme je n’en possède pas je laisse la case vide
L’outil de gestion des paquets télécharge les éléments qu’il lui faudra pour installer/mettre à jour des applications
L’OS me propose ensuite de participer au “popularity-contest” il s’agit d’envoyer de manière anonyme des “statistiques” sur les applications que vous installez sur votre machine. Je n'ai pas besoin, je sélectionne “non”.
Il va ensuite me proposer les “logiciels” de base que je souhaite installer. Ici vous allez surtout pouvoir préciser si vous souhaitez installer une interface graphique ou non. Dans mon cas, je garde “l’environnement de bureau Debian” (qui est Gnome de base) et les utilitaires usuels du système.
L’OS prend en charge le reste de l’installation
Dernière étape, il me demande d’installer GRUB, le programme d’amorçage de notre OS (sans lui on
ne boot pas)
Je l’installe sur mon disque (qui possède maintenant le nom /dev/sda)
Il finalise l’installation et me signale ensuite que l’installation est terminée !
Au redémarrage vous aurez ce menu qui apparaît (et qui apparaîtra à chaque démarrage de Debian) qui est notre ami GRUB ! (le logo de fond change en fonction des versions mais reste dans l'ensemble le même)
Par défaut vous avez 5 secondes pour sélectionner votre choix.
En démarrant sur Debian, vous aurez votre utilisateur qui apparaît (dans mon cas “ilan”)
Je me connecte avec le mot de passe défini pendant l’installation (dans mon cas le mdp est “ilan”)
J’arrive alors bien sur la session de mon OS ! Je vais pouvoir enchaîner avec la configuration
maintenant !
Une fois le démarrage effectuée et l'interface de grub passée, vous vous retrouverez alors sur le "menu" suivant :
Je rentre ici mon login puis mon mot de passe (n'oubliez pas que les caractères n'apparaissent pas à la saisie du mot de passe)
Et voilà vous êtes connecté et pouvez commencer à travailler !
Par défaut, les environnements Linux ne sont absolument pas sécurisés. Contrairement à Windows (et surtout Windows Server), qui lui possède des règles de pare-feu préétablies permettant de bloquer des accès, le pare-feu intégré de Debian n’a absolument aucune règle !!!
Dans les parties et sous-parties suivantes nous verrons comment modifier la configuration de base de notre environnement Debian.
Je ne vous fournirais que des "bases" ce tutoriel étant adapté aux débutants. Si vous souhaitez aller plus loin je vous conseille de lire les recommandations de l'ANSSI
Dans cette partie nous verrons comment effectuer des configurations “basiques” sur un
environnement Debian afin de fonctionner correctement et sans accroc.
Petit rappel sur la synthaxe de votre terminal :
Ce terminal (sur les différentes lignes) comprend également 2 éléments supplémentaires :
N'oubliez d'ailleurs pas de rentrer votre/vos utilisateur(s) dans la liste des sudoers. (cf:tutoriel)
Pour renommer complètement le serveur, il existe deux fichiers de disponible dans /etc, un premier fichier est “hostname” et un second du nom de “hosts”
Je vais d’abord aller modifier le fichier “hostname” ce fichier ne contient qu’une seule ligne, le nom de votre machine. Ma machine s’appelait “debian-ilan”, je la renomme “debian-ilan-test”
Maintenant je modifie le fichier “hosts”, je modifie la ligne contenant “debian-ilan” par “debian-ilan-test”
Je redémarre ma machine puis me reconnecte sur un terminal
Ma machine s’appelle bien “debian-ilan-test” j’ai donc bien réussi à renommer ma machine !
Si vous souhaitez configurer vous même l’adresse ip vous le pouvez ! Attention seulement à faire en sorte que ce soit une adresse vous permettant d’accéder à internet. Si ce n’est pas le cas, vous ne pourrez pas mettre à jour votre système ni installer quoi que ce soit !
Avec mon interface graphique, il me suffit de me rentre dans les “Paramètres filaire” de ma carte réseau.
Je vais ensuite cliquer sur le symbole d’engrenage pour modifier les paramètres de la carte “filaire”
Je peux maintenant me rendre sur l’onglet “ipv4”, utiliser une configuration “dhcp” ou “manuel” (statique), dans mon cas ici, je suis membre d’un réseau local en 172.16.2.0/24 avec comme gateway 172.16.2.1
Je me donne l’ip 172.16.2.10 et comme serveur DNS celui de Cloudflare (1.1.1.1)
Une fois que ma configuration est terminée, j’applique et je suis ramené au menu précédent ou cette fois-ci l’interface sera à l’état “connecté”
L’interface est bien à l’état “Connecté” :
Je vérifie maintenant si j’ai bien accès à internet en lançant une page de mon navigateur
J’ai bien accès à internet, ma configuration est donc bonne !
Depuis le terminal, je peux également modifier ma configuration IP.
Modifiez la partie suivante :
En ceci :
Je modifie l’adresse 172.16.2.10 par 172.16.2.20, puis redémarre ma machine
J’effectue la commande “ip a” pour vérifier mon ip une fois que le redémarrage est fait.
En ceci :
Ma nouvelle adresse est présente, ma configuration est donc bonne !
Pour vérifier cela vous pouvez essayer un ping vers google :
Pour mettre à jour le système, je vais utiliser les commandes suivantes “apt update” et “apt upgrade
Vous pouvez les utiliser individuellement mais vous pouvez les effectuer en même temps !
Pour cela il vous suffit de les combiner avec && pour donner la commande suivante
Ce qui donne le résultat suivant :
Ce qui découpé donne :
Puis :
Maintenant que le système est à jour je peux continuer à travailler !
Dans la partie suivante, ces configurations ne sont pas obligatoires au bon fonctionnement de l’OS mais sont recommandées pour faciliter la gestion ou pour sécuriser les accès.
Il est recommandé de créer un groupe dédié pour sudo plutôt que d’ajouter les utilisateurs un à un comme fait précédemment.
Première étape, je créer le groupe avec la commande “addgroup”, ici je créer un groupe du nom de “admins”
J’ajoute ensuite l’utilisateur “ilan” au groupe “admin” avec la commande usermod.
Cette commande permet de modifier les utilisateurs et avec l’option -G d’ajouter un groupe à un utilisateur x (ici ilan)
Une fois la commande usermod effectuée, je me déconnecte puis je me reconnecte.
Une fois de retour dans mon terminal, avec la commande “groups” je peux voir la liste des groupes dont mon utilisateur est membre et le groupe admins apparaît bien dans la liste.
Je vais maintenant aller modifier mon fichier sudoers
Je retire la ligne de mon utilisateur & ajoute la ligne concernant mon groupe “admins” (pour ma part, j’ai simplement modifié celle qui était présente de base avec le groupe “sudo” et ai remplacé cela par le groupe “admins”)
Avant :
Après :
Si je retourne essayer de rentrer une commande sudo, cela fonctionne ! J’ai donc bien réussi à faire mes accès sudo pour le groupe admins !
Pour faciliter la gestion des droits d’accès sudo, il est possible de créer vos propres fichiers sudoers.
Ces fichiers seront stockés dans /etc/sudoers.d, peu importe le nom.
Je vais aller créer un fichier appelé “sudoers-admins” pour me faire comprendre qu’il s’agit du fichier de configuration sudoers pour le groupe “admins”
Le fichier sera vide par défaut, j’y ajoute les 3 lignes suivantes
Je retourne dans le fichier “sudoers” d’origine (/etc/sudoers) pour retirer la ligne avec le groupe admins
Dernière étape, je vais simplement aller modifier la dernière partie du document en lui supprimant la ligne incluant le dossier & en ajoutant une ligne incluant le nom de mon fichier
Avant :
Après :
Je redémarre ma machine (histoire d’être sûr que ma configuration est appliquée)
En revenant dans mon terminal, j’ai bel et bien les droits d’accès sudo !
Par défaut, les règles de pare-feu sur Linux ne protègent absolument pas les accès au système. Le pare-feu autorise toutes les connexions entrantes et sortantes sans la moindre protection.
Pour se protéger, nous allons empêcher des requêtes d’entrer sauf si elles sont taggués “ESTABLISHED” avec notre hôte, en d’autres termes je ne vais laisser passer que les requêtes que j’ai effectuées moi-même avec l’extérieur.
Pour cela, je vais modifier la configuration de mon pare-feu “iptables”
Première étape, je vais bloquer toutes les requêtes entrantes (je change la “policy” = politique de filtrage), avec cela, par défaut le pare-feu iptables bloquera TOUTES les requêtes entrantes sur le serveur. (donc également les requêtes ACK)
Seconde étape, je vais autoriser les connexions entrantes uniquement si elles sont taggués
“ESTABLISHED” avec moi
Ainsi, j’ai bloqué tous les accès vers mon serveur, je devrai ensuite ajouter manuellement chacuns des ports que je souhaite ouvrir.
Je vérifie ma configuration avec iptables -L
Je vois effectivement que “INPUT” a une “policy” (politique) en “DROP” ce qui signifie “rejeter” et possède une ligne “ACCEPT” avec les états “ESTABLISED” et “RELATED” me permettant d’accepter les requêtes seulement si elles sont taggués “établies”.
Iptables par défaut n'enregistre pas votre configuration, installer le paquet suivant
Une fois installé, pour enregistrer rentrez la commande suivante
Si le résultat de la commande vous signale que vous n'avez pas la permission, utilisez temporairement l'utilisateur root
Vous savez maintenant comment installer et configurer un serveur Debian !
Vous pouvez aller plus loin dans la configuration si vous le souhaitez, n’hésitez pas à me contacter dans ce cas ou à vous renseigner directement auprès des documentations Debian disponibles sur leur site officiel.
Si vous souhaitez avoir plus d’informations ou si vous avez découvert une coquille sur ce tutoriel, merci de me contacter à l’adresse i.martel@imweb.ovh
v2 - Merci à Laurent Agest de m’avoir fait remarquer le manque de détails sur la partie “Créer un groupe dédié pour sudo (autre que “sudo”)”. Ainsi qu’à Jérôme Raynal pour la partie “Sécuriser les accès avec le pare-feu interne” dans laquelle une faute de syntaxe était
présente.
v1 Version initiale
v2 Modification apportée sur la partie “Utiliser le terminal avec des droits root (sudo)” &
“Créer un groupe dédié pour sudo (autre que “sudo”)” & “Sécuriser les accès avec le
pare-feu interne”