mirror of
https://github.com/Ladebeze66/born2beroot.git
synced 2025-12-13 04:36:56 +01:00
Add files via upload
This commit is contained in:
parent
3a1365c4cd
commit
4f7d1f9f53
278
Born2beroot-subject-fr.pdf
Normal file
278
Born2beroot-subject-fr.pdf
Normal file
@ -0,0 +1,278 @@
|
|||||||
|
Born2beRoot
|
||||||
|
|
||||||
|
Résumé: Ce document est un sujet d’Administration Système.
|
||||||
|
Version:
|
||||||
|
Table des matières
|
||||||
|
|
||||||
|
I Préambule 2
|
||||||
|
|
||||||
|
II Introduction 3
|
||||||
|
|
||||||
|
III Consignes générales 4
|
||||||
|
|
||||||
|
IV Partie obligatoire 5
|
||||||
|
|
||||||
|
V Partie Bonus 10
|
||||||
|
|
||||||
|
VI Rendu et peer-evaluation 12
|
||||||
|
|
||||||
|
1
|
||||||
|
Chapitre I
|
||||||
|
Préambule
|
||||||
|
|
||||||
|
2
|
||||||
|
Chapitre II
|
||||||
|
Introduction
|
||||||
|
|
||||||
|
Ce projet a pour but de vous faire découvrir le merveilleux monde de la virtualisation.
|
||||||
|
Vous allez créer votre première machine en respectant des consignes précises et en
|
||||||
|
utilisant VirtualBox (ou UTM si VirtualBox ne fonctionne pas sur votre machine). Ainsi,
|
||||||
|
à la suite de ce projet, vous serez capable d’installer votre propre système d’exploitation
|
||||||
|
implémentant des règles strictes.
|
||||||
|
|
||||||
|
3
|
||||||
|
Chapitre III
|
||||||
|
Consignes générales
|
||||||
|
|
||||||
|
• L’utilisation de VirtualBox (ou UTM si VirtualBox ne fonctionne pas sur votre
|
||||||
|
machine) est obligatoire.
|
||||||
|
|
||||||
|
• Vous devez rendre uniquement un fichier signature.txt à la racine de votre dépôt.
|
||||||
|
Ce fichier contiendra la signature du disque virtuel de votre machine (cf. Rendu
|
||||||
|
et peer-evaluation pour plus d’informations).
|
||||||
|
|
||||||
|
4
|
||||||
|
Chapitre IV
|
||||||
|
Partie obligatoire
|
||||||
|
|
||||||
|
Ce projet consiste à vous faire mettre en place votre premier serveur en suivant des
|
||||||
|
règles spécifiques.
|
||||||
|
|
||||||
|
Puisqu’il s’agit de mettre en place un serveur, vous installerez le
|
||||||
|
minimum de services. Pour cette raison, une interface graphique n’a
|
||||||
|
pas d’utilité ici. Il est donc interdit d’installer X.org ou tout
|
||||||
|
autre serveur graphique équivalent. Dans le cas contraire, votre note
|
||||||
|
sera de 0.
|
||||||
|
|
||||||
|
Vous devez utiliser comme système d’exploitation, au choix : Debian latest stable
|
||||||
|
(pas de testing/unstable), ou Rocky latest stable. L’utilisation de Debian est fortement
|
||||||
|
conseillée pour quelqu’un débutant dans ce domaine.
|
||||||
|
|
||||||
|
La mise en place de Rocky est plus complexe. Par conséquent, vous
|
||||||
|
n’avez pas l’obligation de mettre en place KDump. Cependant, SELinux
|
||||||
|
devra rester actif et sa configuration sera adaptée au sujet.
|
||||||
|
AppArmor pour Debian devra également rester actif.
|
||||||
|
|
||||||
|
Vous devez créer au minimum 2 partitions chiffrées en utilisant LVM. Voici un exemple
|
||||||
|
de partition attendue pour votre machine virtuelle :
|
||||||
|
|
||||||
|
5
|
||||||
|
Born2beRoot
|
||||||
|
|
||||||
|
Durant la soutenance, des questions seront posées en fonction
|
||||||
|
du système d’exploitation choisi. Informez-vous sur ce que vous
|
||||||
|
utilisez. Par exemple, connaître la différence entre aptitude et apt,
|
||||||
|
mais aussi ce qu’est SELinux ou AppArmor. En bref, il faut comprendre
|
||||||
|
ce que l’on utilise !
|
||||||
|
|
||||||
|
Un service SSH sera obligatoirement actif sur le port 4242 dans votre machine vir-
|
||||||
|
tuelle. Pour des questions de sécurité, on ne devra pas pouvoir se connecter par SSH avec
|
||||||
|
l’utilisateur root.
|
||||||
|
|
||||||
|
L’utilisation de SSH sera testée durant la soutenance par la mise en
|
||||||
|
place d’un nouveau compte. Il faut par conséquent comprendre comment
|
||||||
|
fonctionne ce service.
|
||||||
|
|
||||||
|
Vous allez configurer votre système d’exploitation avec le pare-feu UFW (ou pare-feu
|
||||||
|
pour Rocky) et ainsi ne laisser ouvert que le port 4242 dans votre machine virtuelle.
|
||||||
|
|
||||||
|
Votre pare-feu devra être actif au lancement de votre machine
|
||||||
|
virtuelle. Pour Rocky, vous utiliserez firewalld au lieu de UFW.
|
||||||
|
|
||||||
|
• Votre machine aura pour hostname votre login suivi de 42 (exemple : wil42). Vous
|
||||||
|
serez amené(e) à modifier ce hostname durant votre évaluation.
|
||||||
|
|
||||||
|
• Vous allez mettre en place une politique de mot de passe fort.
|
||||||
|
• Vous allez installer et configurer sudo selon une pratique stricte.
|
||||||
|
• Un utilisateur sera présent avec pour nom votre login en plus de l’utilisateur root.
|
||||||
|
• Cet utilisateur appartiendra aux groupes user42 et sudo.
|
||||||
|
|
||||||
|
Durant la soutenance, vous allez devoir créer un nouvel utilisateur
|
||||||
|
et lui assigner un groupe.
|
||||||
|
|
||||||
|
Pour mettre en place une politique de mot de passe fort, il faudra remplir les condi-
|
||||||
|
tions suivantes :
|
||||||
|
|
||||||
|
• Votre mot de passe devra expirer tous les 30 jours.
|
||||||
|
• Le nombre minimum de jours avant de pouvoir modifier un mot de passe sera
|
||||||
|
|
||||||
|
configuré à 2.
|
||||||
|
• L’utilisateur devra recevoir un avertissement 7 jours avant que son mot de passe
|
||||||
|
|
||||||
|
n’expire.
|
||||||
|
• Votre mot de passe sera de 10 caractères minimums dont une majuscule, une
|
||||||
|
|
||||||
|
6
|
||||||
|
Born2beRoot
|
||||||
|
|
||||||
|
minuscule et un chiffre, et ne devra pas comporter plus de 3 caractères identiques
|
||||||
|
consécutifs.
|
||||||
|
• Le mot de passe ne devra pas comporter le nom de l’utilisateur.
|
||||||
|
• La règle suivante ne s’applique pas à l’utilisateur root : le mot de passe devra
|
||||||
|
comporter au moins 7 caractères qui ne sont pas présents dans l’ancien mot de
|
||||||
|
passe.
|
||||||
|
• Bien entendu votre mot de passe root devra suivre cette politique.
|
||||||
|
|
||||||
|
Après avoir mis en place vos fichiers de configuration, il faudra
|
||||||
|
changer tous les mots de passe des comptes présents sur la machine
|
||||||
|
virtuelle, compte root inclus.
|
||||||
|
|
||||||
|
Pour mettre en place une configuration stricte dans votre groupe sudo, il faudra rem-
|
||||||
|
plir les conditions suivantes :
|
||||||
|
|
||||||
|
• L’authentification en utilisant sudo sera limitée à 3 essais en cas de mot de passe
|
||||||
|
erroné.
|
||||||
|
|
||||||
|
• Un message de votre choix s’affichera en cas d’erreur suite à un mauvais mot de
|
||||||
|
passe lors de l’utilisation de sudo.
|
||||||
|
|
||||||
|
• Chaque action utilisant sudo sera archivée, aussi bien les inputs que les outputs.
|
||||||
|
Le journal se trouvera dans le dossier /var/log/sudo/.
|
||||||
|
|
||||||
|
• Le mode TTY sera activé pour des questions de sécurité.
|
||||||
|
• Les paths utilisables par sudo seront restreints, là encore pour des questions de
|
||||||
|
|
||||||
|
sécurité. Exemple :
|
||||||
|
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
|
||||||
|
|
||||||
|
7
|
||||||
|
Born2beRoot
|
||||||
|
|
||||||
|
Enfin, vous devrez mettre en place un petit script nommé monitoring.sh. Ce dernier
|
||||||
|
sera à développer en bash.
|
||||||
|
|
||||||
|
Dès le lancement de votre serveur, le script écrira des informations toutes les 10 mi-
|
||||||
|
nutes sur tous les terminaux (jetez un oeil du côté de wall). La bannière est facultative.
|
||||||
|
À aucun moment la moindre erreur ne doit être visible.
|
||||||
|
|
||||||
|
Votre script devra toujours pouvoir afficher les informations suivantes :
|
||||||
|
|
||||||
|
• L’architecture de votre système d’exploitation ainsi que sa version de kernel.
|
||||||
|
• Le nombre de processeurs physiques.
|
||||||
|
• Le nombre de processeurs virtuels.
|
||||||
|
• La mémoire vive disponible actuelle sur votre serveur ainsi que son taux d’utilisa-
|
||||||
|
|
||||||
|
tion sous forme de pourcentage.
|
||||||
|
• La mémoire disponible actuelle sur votre serveur ainsi que son taux d’utilisation
|
||||||
|
|
||||||
|
sous forme de pourcentage.
|
||||||
|
• Le taux d’utilisation actuel de vos processeurs sous forme de pourcentage.
|
||||||
|
• La date et l’heure du dernier redémarrage.
|
||||||
|
• Si LVM est actif ou pas.
|
||||||
|
• Le nombre de connexions actives.
|
||||||
|
• Le nombre d’utilisateurs utilisant le serveur.
|
||||||
|
• L’adresse IPv4 de votre serveur, ainsi que son adresse MAC (Media Access Control).
|
||||||
|
• Le nombre de commande executées avec le programme sudo.
|
||||||
|
|
||||||
|
Durant la soutenance, vous serez amené(e) à expliquer le
|
||||||
|
fonctionnement de ce script et à interrompre son exécution sans
|
||||||
|
le modifier. Regardez du côté de cron.
|
||||||
|
|
||||||
|
Voici un exemple d’exécution attendue du script :
|
||||||
|
|
||||||
|
Broadcast message from root@wil (tty1) (Sun Apr 25 15:45:00 2021):
|
||||||
|
#Architecture: Linux wil 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 GNU/Linux
|
||||||
|
#CPU physical : 1
|
||||||
|
#vCPU : 1
|
||||||
|
#Memory Usage: 74/987MB (7.50%)
|
||||||
|
#Disk Usage: 1009/2Gb (49%)
|
||||||
|
#CPU load: 6.7%
|
||||||
|
#Last boot: 2021-04-25 14:45
|
||||||
|
#LVM use: yes
|
||||||
|
#Connexions TCP : 1 ESTABLISHED
|
||||||
|
#User log: 1
|
||||||
|
#Network: IP 10.0.2.15 (08:00:27:51:9b:a5)
|
||||||
|
#Sudo : 42 cmd
|
||||||
|
|
||||||
|
8
|
||||||
|
Born2beRoot
|
||||||
|
Voici deux exemples avec des commandes simples pour vérifier une partie des de-
|
||||||
|
|
||||||
|
mandes du sujet :
|
||||||
|
Pour Rocky :
|
||||||
|
|
||||||
|
Pour Debian :
|
||||||
|
|
||||||
|
9
|
||||||
|
Chapitre V
|
||||||
|
Partie Bonus
|
||||||
|
|
||||||
|
Liste de bonus :
|
||||||
|
• Mettre correctement en place des partitions afin d’obtenir une structure proche de
|
||||||
|
|
||||||
|
cet exemple :
|
||||||
|
|
||||||
|
• Mettre en place un site web WordPress fonctionnel avec, comme services, lighttpd,
|
||||||
|
MariaDB et PHP.
|
||||||
|
|
||||||
|
• Mettre en place un service qui vous semble utile (NGINX/Apache2 exclus !). Du-
|
||||||
|
rant la soutenance, vous aurez à justifier ce choix.
|
||||||
|
|
||||||
|
Dans le cadre des bonus, vous avez la possibilité de mettre en place
|
||||||
|
d’autres services. Dans ce cas, il pourra y avoir plus de ports
|
||||||
|
ouverts selon vos besoins. Bien entendu, les règles d’UFW/Firewalld
|
||||||
|
seront adaptées en conséquence.
|
||||||
|
|
||||||
|
10
|
||||||
|
Born2beRoot
|
||||||
|
|
||||||
|
Les bonus ne seront évalués que si la partie obligatoire est
|
||||||
|
PARFAITE. Par parfaite, nous entendons complète et sans aucun
|
||||||
|
dysfonctionnement. Si vous n’avez pas réussi TOUS les points de la
|
||||||
|
partie obligatoire, votre partie bonus ne sera pas prise en compte.
|
||||||
|
|
||||||
|
11
|
||||||
|
Chapitre VI
|
||||||
|
|
||||||
|
Rendu et peer-evaluation
|
||||||
|
|
||||||
|
Vous devez rendre uniquement un fichier signature.txt à la racine de votre dépôt
|
||||||
|
Git. Ce fichier contiendra la signature du disque virtuel de votre machine. Pour récupérer
|
||||||
|
cette signature, il faudra tout d’abord aller dans le dossier d’installation par défaut (c’est
|
||||||
|
dans ce dossier que sont sauvegardées vos VMs) :
|
||||||
|
|
||||||
|
• Pour Windows : %HOMEDRIVE%%HOMEPATH%\VirtualBox VMs\
|
||||||
|
• Pour Linux : ~/VirtualBox VMs/
|
||||||
|
• Pour Mac M1 : ~/Library/Containers/com.utmapp.UTM/Data/Documents/
|
||||||
|
• Pour MacOS : ~/VirtualBox VMs/
|
||||||
|
|
||||||
|
Il suffira alors de récupérer la signature du fichier ".vdi" (ou .qcow2 pour les utilisa-
|
||||||
|
teurs de UTM) de votre machine virtuelle au format sha1. Voici 4 exemples de commande
|
||||||
|
avec un fichier rocky_serv.vdi :
|
||||||
|
|
||||||
|
• Pour Windows : certUtil -hashfile rocky_serv.vdi sha1
|
||||||
|
• Pour Linux : sha1sum rocky_serv.vdi
|
||||||
|
• Pour Mac M1 : shasum rocky.utm/Images/disk-0.qcow2
|
||||||
|
• Pour MacOS : shasum rocky_serv.vdi
|
||||||
|
Voici un exemple de résultat attendu :
|
||||||
|
• 6e657c4619944be17df3c31faa030c25e43e40af
|
||||||
|
|
||||||
|
Attention, votre signature risque de changer à la suite de votre
|
||||||
|
première évaluation. Pour pallier à ce problème, plusieurs solutions
|
||||||
|
s’offrent à vous, comme dupliquer votre machine virtuelle ou encore
|
||||||
|
utiliser les save state.
|
||||||
|
|
||||||
|
Il est INTERDIT de rendre votre machine virtuelle dans votre dépôt
|
||||||
|
Git. Durant la soutenance, la signature du fichier signature.txt
|
||||||
|
sera comparée avec celle de votre machine virtuelle. Si les deux
|
||||||
|
signatures ne sont pas identiques, vous aurez 0.
|
||||||
|
|
||||||
|
12
|
||||||
|
Born2beRoot
|
||||||
|
|
||||||
|
0010 01 11 111 001 000 11 01 10 1 0000 01 1 1010 111 11 0 000
|
||||||
|
011 00 1 0000 1 0000 0 01 0100 1 0 010 10 01 1 0 0001 0 010 000
|
||||||
|
00 111 10 111 0010 001100 001100 001100
|
||||||
|
|
||||||
|
13
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user