Prénom et nom : Abdou Aziz Mbengue
Master 1 : Génie Logiciel
Professeur : Monsieur Ousmane Cissé
1) Installation de Ubuntu
2 ) Renommer la machine linux « [Link] » de manière permanente
On se rend dans le premier fichier /etc/hostname qui contient le nom de l’hôte
Modifions aussi le fichier /etc/hosts pour associer le nouveau nom d’hôte à l'adresse
[Link]
Pour appliquer le nouveau nom d’hôte sans redémarrer, utilise la
commande suivante
3 ) Utiliser une boucle for pour créer quatre utilisateurs
J’ai commencé par créer un fichier [Link] avec la commande touch userScript .sh en suite on
donne les droit d’éxécution chmod + X sur le fichier :
dedans j’ai mis le code suivant pour créer les utilisateur utilisateurs :
Ensuite on exécute le script avec la commande ./[Link]
Contenu du fichier etc/passwd
4) Ajouter admin1 au groupe sudo pour lui donner les droits administratifs.
5) Créer un groupe developers et y ajouter user1 et user2.
Créons le groupe developers et rajoutons les deux utilisateurs
6) Configurer les permissions pour que seuls les membres du groupe developers puissent accéder
à un répertoire spécifique /projects et tester le bon fonctionnement.
Créons dabord le repertoire /projects sudo mkdir /projects puis changeons le groupe propriétaire du
répertoire developers sudo chown :developers /projects :
Configurer les permissions du répertoire /projects pour que seuls les
membres du groupe developers aient accès
7) Bon dabord verifions si le serveur ssh a bien démarré avec la
commande service ssh status ensuite dans le cas contraire on le
démarre avec la commande service ssh start
Modifions le fichier nano /etc/ssh/sshd_config et mettons
PermitRootLogin a NO et PasswordAuthentification à Yes
Testons l’authentification par mot de passe our l’admin1 :
Testons l’authentification par mot de passe pour USER1:
8) . Configurer et tester l'authentification par clés SSH pour admin1.
Générer dabord une paire de clés SSH
Créons le repertoire personnel pour admin1 avec la commande :
sudo mkdir -p /home/admin1
sudo chown admin1:admin1 /home/admin1
Copions la clé publique sur le serveur qui à était générer
automatiquement
. Configurer le serveur SSH
Assurez-nous que le serveur SSH est configuré pour accepter
l’authentification par clé publique. Éditons le fichier de configuration
SSH /etc/ssh/sshd_config :
Tester la connexion SSH ( si on arrive a se connecter sans mot de passe donc la
connexion par clé marche bien )
9) Afficher les connexions établies et noter l’adresse IP source qui s’est connectée par SSH
L’adresse Ip est le [Link] :22
10 ). Restreindre l’accès SSH à tout le monde sauf admin1 et changer le port SSH par défaut
en utilisant le 2222
Ouvrons le fichier de configuration SSH /etc/ssh/sshd_config et décommentons la ligne port et
mettons le a 2222
Ajoute la ligne suivante à la fin du fichier pour limiter l'accès SSH uniquement à l'utilisateur admin1
Ensuite après avoir modifier le fichier on redémarre notre service ssh avec la commande
sudo service ssh restart
11 ) Autoriser uniquement les connexions SSH et bloquer tout autre accès non essentiel via
iptables. (exemple adresse de ton PC qui s’est connectée).
Pour autoriser uniquement les connexions SSH et bloquer tout autre accès non essentiel à l'aide
d'iptables, nous devons suivre ses différentes étapes :
Notre adresse ip est le [Link]
1. Vérifier d’abord l'état actuel d'iptables avec la commane : sudo iptables -L -v -n
2. Supprimons toutes les règles existantes pour éviter des conflit ( recommandé )
3. Autoriser les connexions SSH sur le port 2222
4. Autorisons le trafic local
5. Bloquons toutes autre traffic entrant :
On peut se connecter en utilisant l’adresse ip qu’on avait configuré
12 ) Enregistrer les règles dans la mémoire persistante
Pour enregistrer les règles iptables dans la mémoire persistante afin qu'elles soient
appliquées automatiquement au démarrage de notre système on peut installer le package
iptables-persistent avec la commande : sudo apt install iptables-persistent
13) Afficher la table de filtrage iptables
Pour voir les règles qu’on viens de mettre en place, exécutons la commande : sudo iptables -
L -v -n
14 ) Tester la connexion SSH avec l’utilisateur user1 et un mauvais mot de
passe
15 ) Analyser les logs SSH pour détecter les tentatives de connexion échouées.
Modifons dabord le fichier de configuration /etc/ssh/sshd_config pour activer les log en
decommentant SyslogFacility et LogLevel
Le fichier [Link] est vide sur WSL (Windows Subsystem for Linux), le fichier /var/log/[Link]
n'existe pas par défaut. Cela est dû au fait que WSL ne dispose pas d'un service de gestion complet
des processus système comme un Linux classique, et beaucoup de services de type daemon (comme
systemd) ne fonctionnent pas non plus, ce qui impacte la journalisation de certains événements
système, y compris ceux liés à l'authentification.