Ce Readme contiendra toute les reponses aux question posable durant la correction de Born2BeRoot ATTENTION CETTE VERSION EST UN PREMIER JET ET PEUT NE PAS CORRESPONDRE A VOTRE SUJET DE PLUS LES REPONSES N'ONT PAS ENCORE TOUTES ETE VALIDEE la majorite des reponses ont ete generee par GPT3
de plus ces reponses sont bases sur le sujet du 5/24/2021 et peut ne pas etre a jour
Une machine virtuelle est un logiciel
qui permet à un ordinateur d'exécuter des systèmes d'exploitation
et des logiciels indépendamment les uns des autres
, comme s'il s'agissait de machines physiques distinctes
. Cela signifie que vous pouvez exécuter plusieurs systèmes
d'exploitation sur un seul ordinateur
en même temps, chacun dans sa propre machine virtuelle.
Pour fonctionner, une machine virtuelle a besoin d'un logiciel d'émulation
, appelé hyperviseur
, qui crée un environnement isolé
pour chaque système d'exploitation. L'hyperviseur gère les ressources de l'ordinateur
, comme la mémoire
, le stockage
et les périphériques
d'entrée/sortie, et attribue ces ressources
aux différentes machines virtuelles de manière à les faire fonctionner de manière indépendante
.
Lorsqu'un utilisateur lance une application dans une machine virtuelle, l'hyperviseur redirige les données d'entrée et de sortie vers l'application et gère les interactions avec les autres systèmes d'exploitation et les applications installées sur l'ordinateur. Cela permet à chaque système d'exploitation et à chaque application de fonctionner comme s'ils étaient installés sur une machine physique distincte
, tout en partageant les ressources de l'ordinateur physique
.
Debian ou CentOS
Debian et CentOS
sont tous deux des systèmes d'exploitation basés sur Linux
, mais ils ont des différences importantes.
Debian
est une distribution Linux libre et open source
qui a été créée en 1993. Elle est connue pour sa stabilité et sa flexibilité
, et est largement utilisée pour les serveurs Web et les ordinateurs personnels
. Debian est géré par une communauté d'utilisateurs et de développeurs bénévoles
à travers le monde.
CentOS
, quant à lui, est une distribution Linux basée sur Red Hat Enterprise Linux
(RHEL), une distribution commerciale
qui est largement utilisée pour les serveurs d'entreprise
. CentOS est également libre et open source
, et est géré par une communauté d'utilisateurs et de développeurs. Contrairement à Debian, CentOS est principalement utilisé pour les serveurs d'entreprise
et les environnements de développement.
En résumé, Debian et CentOS sont des distributions Linux libres et open source, mais elles sont gérées par des communautés différentes et sont principalement utilisées pour des cas d'utilisation différent, Debian
et considere comme plus facile a utiliser
et plu adapte aux ordinateurs personnels
tandis que Centos
est plus destiné aux aplication professionel
Le but principal d'une machine virtuelle
est de permettre à un ordinateur d'exécuter plusieurs systèmes d'exploitation
et des logiciels indépendamment les uns des autres
, comme s'il s'agissait de machines physiques distinctes
. Cela signifie que vous pouvez exécuter plusieurs systèmes d'exploitation sur un seul ordinateur
en même temps, chacun dans sa propre machine virtuelle
.
Cela a de nombreux avantages, tels que :
Permettre à un utilisateur d'exécuter des applications
qui ne sont compatibles qu'avec un système d'exploitation particulier sur un ordinateur qui utilise un autre système d'exploitation
.
Faciliter le développement et les tests de logiciels en créant des environnements
de développement et de test isolés
.
Protéger les données et les applications sensibles
en les isolant des autres systèmes d'exploitation
et des applications installées sur l'ordinateur.
Economiser de l'argent
en permettant à un seul ordinateur
d'exécuter plusieurs systèmes d'exploitation
et applications, plutôt que d'avoir à acheter plusieurs machines physiques distinctes.
En somme, l'utilisation de machines virtuelles permet une meilleure utilisation des ressources de l'ordinateur et une plus grande flexibilité dans l'exécution de différents systèmes d'exploitation et applications.
SELinux est un système de contrôle d'accès sécurisé
pour les systèmes d'exploitation Linux. Il est utilisé pour renforcer la sécurité
du système en limitant les actions
que les programmes peuvent effectuer sur les fichiers et les ressources du système.
DNF, quant à lui, est un gestionnaire de paquets
pour Linux. Il est utilisé pour installer, mettre à jour et supprimer des logiciels
sur les systèmes d'exploitation qui utilisent le format de paquet RPM
, comme Fedora et Red Hat Enterprise Linux. DNF est l'acronyme de "Dandified Yum", car il est basé sur l'outil de gestion de paquets Yum
, mais avec des améliorations pour rendre son utilisation plus simple et plus efficace
. source
Aptitude et apt
sont des outils de gestion de paquets
pour les systèmes d'exploitation basés sur Linux
qui utilisent le format de paquet DEB. Ils sont utilisés pour installer, mettre à jour et supprimer des logiciels
sur ces systèmes.
La principale différence entre aptitude et apt est que aptitude
est une application en mode texte qui offre une interface utilisateur plus avancée
et plus complète que apt. Aptitude a également une meilleure gestion des dépendances
, ce qui signifie qu'il peut résoudre les problèmes de dépendances entre les paquets de manière plus efficace que apt.
Cependant, apt
est généralement plus rapide
et plus léger
que aptitude, car il est uniquement en ligne de commande
et n'offre pas les fonctionnalités avancées de aptitude
. De plus, apt est plus souvent utilisé que aptitude, car il est plus simple à utiliser et plus rapide
.
En résumé, aptitude et apt sont des outils similaires
pour gérer les paquets sur les systèmes d'exploitation Linux, mais aptitude
offre une interface utilisateur
plus avancée
et une meilleure gestion des dépendances
, tandis que apt
est plus rapide et plus léger
.
systemctl status ufw
systemctl status ssh
uname -a
cat /etc/passwd | grep [user]
Creer un nouvel utilisateur et lui assigner un mot respectant les regles
useradd [user]
expliquer comment ca a ete mise place
instalation pam
sudo apt-get install libpam-modules
in
cd /etc/pam.d
sudo vi common-pasword
at line:
25 password requisite
add
retry=3 #nombre de retry pour le mot de passe
ucredit=-1 #nombre minimal de uppercase
dcredit=-1 #nombre minimal de diggit
maxrepeat=3 #nombre de caractere max de suite
usercheck=1 #empeche l'utilisateur de choisir un mot de passe courant tel que sn propre nom
difok=7 #plus de 7 caractere different avec l'ancien mot de passe
enforce_for_root #applique ces regle au mot de passe du user root
minlen=10 force un mt de passe de 10 caracteres
line final
25 password requisite pam_pwquality.so retry=3 ucredit=-1 dcredit=-1 maxrepeat=3 usercheck=1 difok=7 enforce_for_root minlen=10
changer la duree de validite d'in mote de passe et le temps avant que l'utilisateur soit prevenu
sudo nano /etc/login.defs
changer ca
PASS_MAX_DAYS 9999
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
en ca
PASS_MAX_DAYS 30
PASS_MIN_DAYS 2
PASS_WARN_AGE 7
pour le root et les utilisateur deja creer
chage -m[nb min_day] -M[nb Max_day] -W[warn_age]
creer un groupe nomer evaluating et y ajouter l'utilisateur nouvelement creer enfn checker que l'utilsateur fait bien partie du bon group
sudo addgroup [user] evaluating
Les avantages
d'une politique de mot de passe fort sont qu'elle peut aider à protéger les comptes d'utilisateurs
contre les attaques de piratage. Cela peut également aider à empêcher les
utilisateurs d'utiliser des mots de passe faciles à deviner
ou à trouver, ce qui peut augmenter la sécurité générale des comptes
.
Les désavantages
d'une politique de mot de passe fort peuvent inclure une plus grande complexité pour les utilisateurs
, ce qui peut les inciter à utiliser des mots de passe faciles à retenir mais faciles à deviner
, ou à écrire leurs mots de passe dans des endroits non sécurisés
. Cela peut également entraîner une plus grande frustration pour les utilisateurs
, qui doivent se souvenir de plusieurs mots de passe complexes pour différents comptes.
hostname
sudo vim /etc/hostname
change
[login]42
par
[login evaluateur]42
lsblk
LVM
, ou Logical Volume Management, est un système pour gérer les partitions de disque
sur un système Linux
. Il vous permet de créer, redimensionner et supprimer des partitions de disque sans avoir à vous soucier de la disposition physique sous-jacente des disques.
Dans une configuration LVM typique, un disque physique est divisé
en un ou plusieurs volumes physiques
. Ces volumes physiques sont ensuite regroupés dans un groupe de volumes
. Le groupe de volumes agit comme un disque virtuel
, et il peut être divisé en volumes logiques
, qui sont les partitions utilisées par le système d'exploitation
.
which sudo
ne renvois rien si sudo n'est pas instalé
en etant root ou sudo
sudo usermod -aG sudo [user]
sudo visudo
ajouter la ligne
[user] ALL=(ALL) ALL
peut necesiter un reboot pour prendre effet
Sudo
est un outil
utilisé dans les systèmes d'exploitation Linux
et Unix-like pour permettre à un utilisateur de lancer des programmes avec les privilèges
de sécurité d'un autre utilisateur, en général l'utilisateur superutilisateur
(root). Cela est utile pour permettre aux utilisateurs non privilégiés
d'exécuter des programmes qui nécessitent des privilèges élevés
, tels que changer les paramètres système ou installer des logiciels.
Pour utiliser la commande sudo, l'utilisateur doit être inclus dans le fichier sudoers
, qui liste les utilisateurs autorisés à utiliser sudo. Lorsqu'un utilisateur exécute une commande avec sudo
, il est invité à entrer son propre mot de passe
pour vérifier son identité. Cela offre une couche supplémentaire de sécurité en garantissant que seuls les utilisateurs autorisés peuvent utiliser sudo
.
cd /var/log/sudo/
verifier la presence de sudo.log
sudo dpkg -l | grep ufw
sudo ufw status
ufw
est un acronyme pour "uncomplicated firewall". Il s'agit d'un outil en ligne de commande
qui permet de configurer facilement le pare-feu
de votre ordinateur ou de votre serveur. Un pare-feu est un logiciel
ou un matériel qui filtre les données entrantes et sortantes
d'un ordinateur ou d'un réseau, en bloquant les paquets de données non autorisés
et en autorisant uniquement les paquets de données autorisés
. Cela permet de protéger votre ordinateur
ou votre réseau contre les attaques provenant d'Internet. ufw est un outil simple à utiliser
qui vous permet de configurer rapidement votre pare-feu sans avoir besoin de connaissances approfondies en matière de sécurité informatique.
sudo ufw allow 8080
sudo ufw status
sudo ufw delete allow 8080
ssh -V
sudo systemctl status ssh
SSH
(Secure Shell) est un protocole de réseau qui permet de créer une connexion sécurisée entre deux ordinateurs
. Il est souvent utilisé pour se connecter à des serveurs distants et exécuter des commandes à distance, mais il peut également être utilisé pour établir une connexion sécurisée à un ordinateur local pour transférer des fichiers ou pour utiliser internet de manière sécurisée lorsque vous êtes connecté à un réseau non sécurisé.
permet d'aller voir quel port est configurer pour la connexion via ssh
grep -E '^Port' /etc/ssh/sshd_config
sinon vous pouvez verifier a la main
cat /etc/ssh/sshd_config
Dans un terminl a part:
ssh localhost@[user] -p [port]
le port 4242 etant deja utiliser vous avez du faire une derivation, c'est ce pert qui vas dans [port] [user] coorespond au nom d'utilisateur avec lequel vous voulez vous connecter si vous souhaitez tentez de vous connecter avec root remplacer [user] par root
cela depend de votre monitoring.sh
Cron est un programme qui permet de planifier l'exécution de commandes ou de scripts à des moments précis. Cela peut être utile pour automatiser des tâches répétitives, telles que la sauvegarde des données ou l'exécution de scripts de maintenance.
expliquer que vous avez effectuer les manipulations suivantes
sudo crontab -u root -e
ajouter les lignes
@reboot [/path/monitoring..sh]
*/10 * * * [/path/monitoring.sh]
attention a ne pas oubler de remplacer [/path/monitoring..sh] par le chemin vers votre script
remplacer
*/10 * * * [path/monitoring.sh]
par
* * * * * /bin/bash -c ' for i in {1..X}; do YOUR_COMMANDS ; sleep Y ; done '
commenter la ligne responsable du lancement de votre script dans le fichier crontab du root user