« Atelier SysRes SE4 2024/2025 E2 » : différence entre les versions

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
 
Ligne 1 : Ligne 1 :
CART Benjamin
CART Benjamin


== Creation des VM ==
== Mise en place du bridge ==
Pour que nos futures machines virtuelles puissent communiquer entre elles, nous devons créer un bridge sur Capbreton.
[[Fichier:Styx_interfaces.png]]


Création du bridge Styx et configuration sur capbreton
== Création des VM ==


Nous devons maintenant créer les Machines Virtuelles, pour cela nous avons utilisés xen pour la mandataires et les machines de services.<syntaxhighlight>
xen-create-image --hostname=SE4.Poseidon --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=Styx
xen-create-image --hostname=SE4.Poseidon --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=Styx


xen-create-image --hostname=SE4.Zeus --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=Styx
xen-create-image --hostname=SE4.Zeus --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=Styx
[[Fichier:Styx interfaces.png|gauche]]
</syntaxhighlight>Pour la suite du projet, notre machine mandataire est '''Zeus''' et les deux machines de services sont '''Poséidon''' et '''Orion'''.


<br clear="all"/>
Pour se connecter aux Machines Virtuelles, nous utiliserons la commande<syntaxhighlight>
xen console SE4.Poseidon
</syntaxhighlight>


== Configuration de la machine de service ==
== Configuration de la machine de service ==
Montage permanent dans /etc/fstab


assigner les partitions dans le /etc/xen/SE4.Poseidon.cfg
=== Montage dans /var et /home ===
Il faut maintenant monter les systèmes de fichiers /home et /var sur nos machines
 
=== Assignation des partitions ===
Montage permanent dans [https://debian-facile.org/doc:systeme:fstab /etc/fstab]
 
assignation des partitions dans le '''/etc/xen/SE4.Poseidon.cfg''' en créant les fichiers '''SE4.Poseidon.home''' et '''SE4.Poseidon.var'''
  'phy:/dev/virtual/SE4.Poseidon.home,xvda3,w',
  'phy:/dev/virtual/SE4.Poseidon.home,xvda3,w',
  'phy:/dev/virtual/SE4.Poseidon.var,xvda4,w',
  'phy:/dev/virtual/SE4.Poseidon.var,xvda4,w',
[[Fichier:Fstab poseidon.png|centré]][[Fichier:Home orion.png|centré]]
[[Fichier:Fstab_poseidon.png|547x547px]]
[[Fichier:Var1 orion.png|centré]]
 
[[Fichier:Var2 orion.png|centré]]
=== Création des partitions LVM et montage ===
[[Fichier:Df orion.png|centré]]Configuration de l'interface de Poseidon
[[Fichier:Df orion.png|néant|cadre|Création de xvda3 et xvda4]]
[[Fichier:Interfaces poseidon.png|gauche]]


==== Montage de home ====
[[Fichier:Var1 orion.png|vignette|434x434px]]<syntaxhighlight>
root@Poseidon: mkfs -t ext4 /dev/xvda3
root@Poseidon: mount -a
</syntaxhighlight>








==== Montage pour var ====
[[Fichier:Var2 orion.png|vignette|433x433px]]<syntaxhighlight>
root@Poseidon: mkfs -t ext4 /dev/xvda4
root@Poseidon: mount /dev/xvda4 /mnt
root@Poseidon: mv /var/* /mnt
root@Poseidon: umount /mnt
root@Poseidon: mount -a
</syntaxhighlight>


== Configuration IPV4 et IPV6 ==
On configure le fichier /etc/network/interfaces en mettant une adresse ipv4 locale manuelle et une ipv6 en automatique.


Dans l'état actuel des choses, les machines Poséidon et Orion sont capables de se ping entre elles en passant par le mandataire qui agit comme une gateway. Malgré l'isolation des VM, notre bridge Styx permet de lier ces machines.


Configuration de l'interface de Zeus
L'objectif maintenant est de lier la machine mandataire Zeus à internet.[[Fichier:Interfaces poseidon.png|droite]]
[[Fichier:Interfaces ZEUS.png|gauche]]
 
<br clear="all"/>
=== Configuration de l'interface de Poseidon ===


Dans l'état actuel des choses, les machines Poséidon et Orion sont capables de se ping entre elles en passant par le mandataire qui agit comme une gateway. Malgré l'isolation des VM, notre bridge Styx permet de lier ces machines.


L'objectif maintenant est de lier la machine mandataire Zeus à internet.


== Configuration de la mandataire ==




Nous avons ajouté une adresse publique à notre machine mandataire. Pour cela, nous avons ajouté une interface eth1 et en parallele, sur le fichier de configuration de la VM, nous avons ajouté une interface avec une mac adresse +1 et mis sur le bridge SE4.<nowiki> </nowiki>


Nous avons du faire un halt de la VM pour que les fichiers de configuration soient chargés ( ce qu'un reboot ne fait pas).<syntaxhighlight>
auto eth1
iface eth1 inet static
address 192.48.57.171/28


</syntaxhighlight>
[[Fichier:Interfaces ZEUS.png|droite]]
[[Fichier:Ipa zeus.png|gauche]]
[[Fichier:Config zeus.png|gauche]]Après la configuration et le branchement du routeur. Notre machine mandataire peut ping ce router et aussi les autres machines mandataires du réseau.


Il y a aussi une possibilité de se connecter par ssh à une autre machine du réseau (ex: celle de Justin)
=== Configuration de l'interface de Zeus ===
<br clear="all"/>


Tache à réaliser : redirection des requetes vers la machine Poseidon lorsqu'elle arrive sur le port 2201
== Configuration de la mandataire ==


=== Interface virtuelle ===
[[Fichier:Config zeus.png|droite]]Nous avons ajouté une adresse publique à notre machine mandataire. Pour cela, nous avons ajouté une interface eth1 et en parallèle, sur le fichier de configuration de la VM, nous avons ajouté une interface avec une adresse mac +1 et mis sur le bridge SE4.<nowiki> </nowiki>






Nous avons du faire un halt de la VM pour que les fichiers de configuration soient chargés ( ce qu'un reboot ne fait pas).<syntaxhighlight>
auto eth1
iface eth1 inet static
address 192.48.57.171/28


</syntaxhighlight>
[[Fichier:Ipa zeus.png|droite|626x626px]]Après la configuration et le branchement du routeur. Notre machine mandataire peut ping ce router et aussi les autres machines mandataires du réseau.








Autorisation de ssh par /etc/ssh/sshd_config : <syntaxhighlight>
=== Autorisation de ssh: ===
Il y a aussi une possibilité de se connecter par ssh à une autre machine du réseau. Pour cela il faut autoriser le ssh sur la machine cible dans le fichier /etc/ssh/sshd_config.<syntaxhighlight>
PermitRootLogin yes
PermitRootLogin yes


</syntaxhighlight>Redémarrage du serveur ssh : <syntaxhighlight>
</syntaxhighlight>
 
==== Redémarrage du serveur ssh : ====
<syntaxhighlight>
root@Zeus:/etc/ssh# /etc/init.d/ssh restart
root@Zeus:/etc/ssh# /etc/init.d/ssh restart
</syntaxhighlight>Redirection du port 2202 de la mandataire vers Poseidon avec nftables:<syntaxhighlight>
</syntaxhighlight>
 
=== Redirection ===
Redirection du port 2202 de la mandataire vers Poseidon avec nftables:<syntaxhighlight>
nft add table ip NAT
nft add table ip NAT
nft add chain NAT PREROUTING { type nat hook prerouting priority 0\; }
nft add chain NAT PREROUTING { type nat hook prerouting priority 0\; }
nft add rule NAT PREROUTING  tcp dport 2202 dnat to  192.168.2.3:22
nft add rule NAT PREROUTING  tcp dport 2202 dnat to  192.168.2.3:22


</syntaxhighlight>grâce à la configuration du router et des vlan il est maintenant possible de sortir sur internet et de ping google par exemple.
</syntaxhighlight>Grâce à la configuration du router et des vlan il est maintenant possible de sortir sur internet et de ping google par exemple.


Il a fallu ajouter à Zeus le routeur en gateway. (193.48.57.161)
Il a fallu ajouter à Zeus le routeur en gateway. (193.48.57.161)


== Serveur DNS ==
Pour la configuration de notre serveur DNS, nous allons utiliser [https://doc.ubuntu-fr.org/bind9 bind9]


Téléchargement d'apache2, Vim (enfin ...) et bind9.
=== Ajout du DNS ===
Pour ajouter l'adresse de notre DNS, il faut modifier le fichier '''[https://www.malekal.com/le-fichier-etc-resolv-conf-linux/ /etc/resolv.conf]'''<syntaxhighlight>
search plil.info
nameserver 172.26.188.12
nameserver 193.48.57.48


Tenative de créeation des fichiers de zones pour le serveur DNS ... Il faudrait essayer de redémarrer le serveur et voir une meilleure config
search poissonidon.online
nameserver 192.168.2.2
nameserver 192.168.2.3


</syntaxhighlight>


26/02 : les serverus dns fonctionnes et les sites sont aussi fonctionnels ! tous cela grâce aux fichiers ports.conf et sites-available/000-poissonidon.online-ssl.conf.
=== Fichier de configuration ===
 
Il s'agit du fichier named.conf.local<syntaxhighlight>
 
sites-available/000-poissonidon.online-ssl.conf<syntaxhighlight>
<VirtualHost *:80>
ServerName poissonidon.online
  Redirect permanent / https://poissonidon.online/
</VirtualHost>
 
<VirtualHost *:443>
 
        ServerName poissonidon.online
        ServerAlias poissonidon.online
        DocumentRoot /var/www/poissonidon.online
        CustomLog /var/log/apache2/secure_access.log combined
 
        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/poissonidon.online.crt
        SSLCertificateKeyFile /etc/ssl/private/poissonidon.online.key
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem
        SSLVerifyClient None
 
  </VirtualHost>
 
</syntaxhighlight>ports.conf<syntaxhighlight>
Listen 80
#<IfModule mod_ssl.c>
<IfModule ssl_module>
  #Listen 80
Listen 443
  # NameVirtualHost 2001:660:4401:60a0:216:3eff:fe28:c918:443
</IfModule>
 
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
 
</syntaxhighlight>changement du fichier de zone avec ajout de la secondaire dans les backup. Pour faire cela, le répertoire backup a été créé avec les droits donnés à bind.
 
Commandes réalisées :
 
"systemctl restart bind9"
 
"rndc refresh basrion.online" pour ajouter les fichiers de backup<syntaxhighlight>
zone "poissonidon.online" {
zone "poissonidon.online" {
   type master;  
   type master;  
Ligne 135 : Ligne 133 :
   also-notify{hiddensecondaries;}; // pour les secondaires vicieux
   also-notify{hiddensecondaries;}; // pour les secondaires vicieux
   notify yes;  
   notify yes;  
  key-directory "/etc/bind/keys";
  dnssec-policy "dnspol";
  inline-signing yes;


};
};
Ligne 156 : Ligne 150 :
masters{2001:660:4401:60a0:216:3eff:fe7c:cea;};
masters{2001:660:4401:60a0:216:3eff:fe7c:cea;};
};
};
</syntaxhighlight>
=== Fichier de zone ===
<syntaxhighlight>
root@Poseidon:/etc/bind# cat db.poissonidon.online.zone
$TTL 200
@ IN SOA ns1.poissonidon.online. admin.poissonidon.online. (
        2025020504 ; Serial Number
        86400      ; Refresh (1 jour)
        7200      ; Retry (2 heures)
        1209600    ; Expire (14 jours)
        3600 )    ; Minimum TTL (1 heure)
@      IN NS ns1.poissonidon.online.
ns1      IN A 193.48.57.171
IN AAAA 2001:660:4401:60a0:216:3eff:fe28:c918
@    IN A 193.48.57.171
@ IN AAAA 2001:660:4401:60a0:216:3eff:fe28:c918
</syntaxhighlight>
=== Test du serveur DNS ===
Afin d'appliquer les changement du serveur DNS, nous devons redémarrer le service : <syntaxhighlight>
root@Poseidon:/etc/bind# systemctl restart bind9
root@Poseidon:/etc/bind# systemctl status bind9
bind9.service - BIND Domain Name Server
    Loaded: loaded (/etc/systemd/system/bind9.service, disabled)
    Active: active (running)
</syntaxhighlight>
[[Fichier:Map DNS.png|vignette]]
=== DNS et Gandi ===
Afin de rendre notre DNS accessible au monde entier, nous remplissons les informations nécessaires sur le registrar (Gandi).
Nous y entrons les adresses ipv4 (de la mandataire) et ipv6 (de la service) routée.
Pour vérifier que la propagation s'effectue, nous pouvons consulter le site [https://dnschecker.org/ DNS Checker] en recherchant "poissonidon.online"
=== DNSSEC ===
Le protocole DNSSEC permet de palier à certains risques de sécurité du DNS. Pour cela, il faut que les secondaires soient configurées dans le fichier named.conf.local.  Pour faire cela, le répertoire backup a été créé avec les droits donnés à bind.
Pour ajouter les fichiers de backup ( dans ce cas, Poseidon se met en backup de Orion).<syntaxhighlight>
rndc refresh basrion.online
</syntaxhighlight>
Il faut ensuite ajouter à named.conf.local : <syntaxhighlight>
dnssec-policy "dnspol" {
dnssec-policy "dnspol" {
   keys {
   keys {
Ligne 163 : Ligne 208 :
   nsec3param;
   nsec3param;
};
};
</syntaxhighlight>les deux zones ont aussi été ajoutés à la mandataire Zeus : <syntaxhighlight>
</syntaxhighlight>Ainsi que de changer notre zone principale<syntaxhighlight>
zone "poissonidon.online" {
  type master;
  file "/etc/bind/db.poissonidon.online.zone";
  allow-transfer{secondaries;};  // filtrage des secondaires
  also-notify{hiddensecondaries;}; // pour les secondaires vicieux
  notify yes;
  key-directory "/etc/bind/keys";
  dnssec-policy "dnspol";
  inline-signing yes;
};
 
</syntaxhighlight>les deux zones ont aussi été ajoutés à la mandataire Zeus :<syntaxhighlight>
zone "basrion.online" {
zone "basrion.online" {
type slave;
type slave;
Ligne 176 : Ligne 233 :
};
};


</syntaxhighlight>Vérification du dnssec avec dnsviz.net
</syntaxhighlight>
[[Fichier:Dnsviz.png|droite|sans_cadre|257x257px]]
Afin de vérifier le tout, nous nous rendons sur le site [https://dnsviz.net/ dnsviz]
 
 


=== Fail2ban ===
=== Fail2ban ===
ajout du service avec apt install fail2ban
Afin d'ajouter encore plus de sécurité, nous ajoutons le service Fail2ban qui permet de bannir une ip lorsque trop de tentative de connexion ont échouées. Cela évite le brute force.


ajout d'un fichier jail.local dans /etc/fail2ban<syntaxhighlight>
- ajout du service avec apt install fail2ban
 
- ajout d'un fichier jail.local dans /etc/fail2ban<syntaxhighlight>
[sshd]
[sshd]
enable = true
enable = true
Ligne 189 : Ligne 252 :
findtime = 300
findtime = 300
bantime  = 600
bantime  = 600
</syntaxhighlight>cela permet de mettre un ban lorsque trop d'erreurs ont été faites lors de la connection ssh. Cela évite le brute force.
</syntaxhighlight>
 
== Serveur Apache2 ==
Tout d'abord, nous nous rendons sur le site de Gandi afin de récupérer les certificats de notre site. (.crt .key et .pem)
 
Ensuite il faut activer les modules ssl, proxy et proxy_http avec a2enmod.
 
Bien évidemment, il faut créer un fichier html qui est situé dans /var/www/poissonidon.online/
 
=== Configuration d'Apache2 ===
sites-available/000-poissonidon.online-ssl.conf<syntaxhighlight>
<VirtualHost *:80>
ServerName poissonidon.online
  Redirect permanent / https://poissonidon.online/
</VirtualHost>
 
<VirtualHost *:443>
 
        ServerName poissonidon.online
        ServerAlias poissonidon.online
        DocumentRoot /var/www/poissonidon.online
        CustomLog /var/log/apache2/secure_access.log combined
 
        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/poissonidon.online.crt
        SSLCertificateKeyFile /etc/ssl/private/poissonidon.online.key
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem
        SSLVerifyClient None
 
  </VirtualHost>
 
</syntaxhighlight>ports.conf<syntaxhighlight>
Listen 80
#<IfModule mod_ssl.c>
<IfModule ssl_module>
  #Listen 80
Listen 443
  # NameVirtualHost 2001:660:4401:60a0:216:3eff:fe28:c918:443
</IfModule>
 
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
 
</syntaxhighlight>
 
== Etat du projet ==
Pour le moment, Les VM sont accessibles par ssh, les sites ont un serveur DNSSEC et La redirection http vers https est fonctionnelle .
 
 
Nous avons commencé à faire l'installation d'une architecture réseau complète afin que notre site puisse rester actif même si la connexion principale ne fonctionne plus.  
 
Pour cela nous avons commencé à câbler en SR52 et SR31 ainsi que de créer nos vlans.

Version actuelle datée du 4 mars 2025 à 23:55

CART Benjamin

Mise en place du bridge

Pour que nos futures machines virtuelles puissent communiquer entre elles, nous devons créer un bridge sur Capbreton. Styx interfaces.png

Création des VM

Nous devons maintenant créer les Machines Virtuelles, pour cela nous avons utilisés xen pour la mandataires et les machines de services.

xen-create-image --hostname=SE4.Poseidon --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=Styx

xen-create-image --hostname=SE4.Zeus --dhcp --dir=/usr/local/xen --size=10G --dist=daedalus --memory=2G --bridge=Styx

Pour la suite du projet, notre machine mandataire est Zeus et les deux machines de services sont Poséidon et Orion. Pour se connecter aux Machines Virtuelles, nous utiliserons la commande

xen console SE4.Poseidon

Configuration de la machine de service

Montage dans /var et /home

Il faut maintenant monter les systèmes de fichiers /home et /var sur nos machines

Assignation des partitions

Montage permanent dans /etc/fstab

assignation des partitions dans le /etc/xen/SE4.Poseidon.cfg en créant les fichiers SE4.Poseidon.home et SE4.Poseidon.var

'phy:/dev/virtual/SE4.Poseidon.home,xvda3,w',
'phy:/dev/virtual/SE4.Poseidon.var,xvda4,w',

Fstab poseidon.png

Création des partitions LVM et montage

Création de xvda3 et xvda4

Montage de home

Var1 orion.png
root@Poseidon: mkfs -t ext4 /dev/xvda3
root@Poseidon: mount -a



Montage pour var

Var2 orion.png
root@Poseidon: mkfs -t ext4 /dev/xvda4
root@Poseidon: mount /dev/xvda4 /mnt
root@Poseidon: mv /var/* /mnt
root@Poseidon: umount /mnt
root@Poseidon: mount -a

Configuration IPV4 et IPV6

On configure le fichier /etc/network/interfaces en mettant une adresse ipv4 locale manuelle et une ipv6 en automatique.

Dans l'état actuel des choses, les machines Poséidon et Orion sont capables de se ping entre elles en passant par le mandataire qui agit comme une gateway. Malgré l'isolation des VM, notre bridge Styx permet de lier ces machines.

L'objectif maintenant est de lier la machine mandataire Zeus à internet.

Interfaces poseidon.png

Configuration de l'interface de Poseidon

Interfaces ZEUS.png

Configuration de l'interface de Zeus


Configuration de la mandataire

Interface virtuelle

Config zeus.png

Nous avons ajouté une adresse publique à notre machine mandataire. Pour cela, nous avons ajouté une interface eth1 et en parallèle, sur le fichier de configuration de la VM, nous avons ajouté une interface avec une adresse mac +1 et mis sur le bridge SE4.


Nous avons du faire un halt de la VM pour que les fichiers de configuration soient chargés ( ce qu'un reboot ne fait pas).

auto eth1
iface eth1 inet static
	address 192.48.57.171/28
Ipa zeus.png

Après la configuration et le branchement du routeur. Notre machine mandataire peut ping ce router et aussi les autres machines mandataires du réseau.



Autorisation de ssh:

Il y a aussi une possibilité de se connecter par ssh à une autre machine du réseau. Pour cela il faut autoriser le ssh sur la machine cible dans le fichier /etc/ssh/sshd_config.

PermitRootLogin yes

Redémarrage du serveur ssh :

root@Zeus:/etc/ssh# /etc/init.d/ssh restart

Redirection

Redirection du port 2202 de la mandataire vers Poseidon avec nftables:

nft add table ip NAT
nft add chain NAT PREROUTING { type nat hook prerouting priority 0\; }
nft add rule NAT PREROUTING  tcp dport 2202 dnat to  192.168.2.3:22

Grâce à la configuration du router et des vlan il est maintenant possible de sortir sur internet et de ping google par exemple.

Il a fallu ajouter à Zeus le routeur en gateway. (193.48.57.161)

Serveur DNS

Pour la configuration de notre serveur DNS, nous allons utiliser bind9

Ajout du DNS

Pour ajouter l'adresse de notre DNS, il faut modifier le fichier /etc/resolv.conf

search plil.info
nameserver 172.26.188.12
nameserver 193.48.57.48

search poissonidon.online
nameserver 192.168.2.2
nameserver 192.168.2.3

Fichier de configuration

Il s'agit du fichier named.conf.local

zone "poissonidon.online" {
  type master; 
  file "/etc/bind/db.poissonidon.online.zone";
  allow-transfer{secondaries;};  // filtrage des secondaires
  also-notify{hiddensecondaries;}; // pour les secondaires vicieux
  notify yes; 

};
acl "secondaries" {

   	2001:660:4401:60a0:216:3eff:fe7c:cea; // Serveur secondaire en IPv6
	2001:660:4401:60a0:216:3eff:fe85:c2fe;
};

masters "hiddensecondaries"{
	2001:660:4401:60a0:216:3eff:fe85:c2fe;
};

zone "basrion.online" {
	type slave;
	file "/etc/bind/backup/db.basrion.online";
	masters{2001:660:4401:60a0:216:3eff:fe7c:cea;};
};

Fichier de zone

root@Poseidon:/etc/bind# cat db.poissonidon.online.zone
$TTL 200
@ IN SOA ns1.poissonidon.online. admin.poissonidon.online. (
        2025020504 ; Serial Number
        86400      ; Refresh (1 jour)
        7200       ; Retry (2 heures)
        1209600    ; Expire (14 jours)
        3600 )     ; Minimum TTL (1 heure)

@       IN NS ns1.poissonidon.online.

ns1      IN A 193.48.57.171
 	 IN AAAA 2001:660:4401:60a0:216:3eff:fe28:c918
@     	 IN A 193.48.57.171
@ 	 IN AAAA 2001:660:4401:60a0:216:3eff:fe28:c918

Test du serveur DNS

Afin d'appliquer les changement du serveur DNS, nous devons redémarrer le service :

root@Poseidon:/etc/bind# systemctl restart bind9
root@Poseidon:/etc/bind# systemctl status bind9
bind9.service - BIND Domain Name Server
    Loaded: loaded (/etc/systemd/system/bind9.service, disabled)
    Active: active (running)
Map DNS.png

DNS et Gandi

Afin de rendre notre DNS accessible au monde entier, nous remplissons les informations nécessaires sur le registrar (Gandi).

Nous y entrons les adresses ipv4 (de la mandataire) et ipv6 (de la service) routée.

Pour vérifier que la propagation s'effectue, nous pouvons consulter le site DNS Checker en recherchant "poissonidon.online"


DNSSEC

Le protocole DNSSEC permet de palier à certains risques de sécurité du DNS. Pour cela, il faut que les secondaires soient configurées dans le fichier named.conf.local. Pour faire cela, le répertoire backup a été créé avec les droits donnés à bind.

Pour ajouter les fichiers de backup ( dans ce cas, Poseidon se met en backup de Orion).

rndc refresh basrion.online


Il faut ensuite ajouter à named.conf.local :

dnssec-policy "dnspol" {
   keys {
       ksk key-directory lifetime unlimited algorithm 13;
       zsk key-directory lifetime unlimited algorithm 13;
   };
   nsec3param;
};

Ainsi que de changer notre zone principale

zone "poissonidon.online" {
  type master; 
  file "/etc/bind/db.poissonidon.online.zone";
  allow-transfer{secondaries;};  // filtrage des secondaires
  also-notify{hiddensecondaries;}; // pour les secondaires vicieux
  notify yes; 
  key-directory "/etc/bind/keys";
  dnssec-policy "dnspol";
  inline-signing yes;
};

les deux zones ont aussi été ajoutés à la mandataire Zeus :

zone "basrion.online" {
	type slave;
	file "/etc/bind/backup/db.basrion.online";
	masters{2001:660:4401:60a0:216:3eff:fe7c:cea;};
};

zone "poissonidon.online" {
	type slave;
	file "/etc/bind/backup/db.poissonidon.online";
	masters{2001:660:4401:60a0:216:3eff:fe28:c918;};
};
Dnsviz.png

Afin de vérifier le tout, nous nous rendons sur le site dnsviz


Fail2ban

Afin d'ajouter encore plus de sécurité, nous ajoutons le service Fail2ban qui permet de bannir une ip lorsque trop de tentative de connexion ont échouées. Cela évite le brute force.

- ajout du service avec apt install fail2ban

- ajout d'un fichier jail.local dans /etc/fail2ban

[sshd]
enable	= true
port    = ssh
filter	= sshd
maxretry = 3
findtime = 300
bantime  = 600

Serveur Apache2

Tout d'abord, nous nous rendons sur le site de Gandi afin de récupérer les certificats de notre site. (.crt .key et .pem)

Ensuite il faut activer les modules ssl, proxy et proxy_http avec a2enmod.

Bien évidemment, il faut créer un fichier html qui est situé dans /var/www/poissonidon.online/

Configuration d'Apache2

sites-available/000-poissonidon.online-ssl.conf

 <VirtualHost *:80>
	ServerName poissonidon.online
   	Redirect permanent / https://poissonidon.online/	
 </VirtualHost>

 <VirtualHost *:443>

        ServerName poissonidon.online
        ServerAlias poissonidon.online
        DocumentRoot /var/www/poissonidon.online
        CustomLog /var/log/apache2/secure_access.log combined

        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/poissonidon.online.crt
        SSLCertificateKeyFile /etc/ssl/private/poissonidon.online.key
        SSLCertificateChainFile /etc/ssl/certs/GandiCert.pem
        SSLVerifyClient None

  </VirtualHost>

ports.conf

Listen 80
#<IfModule mod_ssl.c>
<IfModule ssl_module>
   	#Listen 80
	Listen 443
   # NameVirtualHost 2001:660:4401:60a0:216:3eff:fe28:c918:443
</IfModule>

<IfModule mod_gnutls.c>
	Listen 443
</IfModule>

Etat du projet

Pour le moment, Les VM sont accessibles par ssh, les sites ont un serveur DNSSEC et La redirection http vers https est fonctionnelle .


Nous avons commencé à faire l'installation d'une architecture réseau complète afin que notre site puisse rester actif même si la connexion principale ne fonctionne plus.

Pour cela nous avons commencé à câbler en SR52 et SR31 ainsi que de créer nos vlans.