TP sysres SE2a5 2022/2023 G5 : Différence entre versions
(→Serveur Mincraft) |
(→Configuration Réseau) |
||
(8 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
=TP Réseaux SE2A5 - Alexandre TRUPIN | Alex VERCAMPT= | =TP Réseaux SE2A5 - Alexandre TRUPIN | Alex VERCAMPT= | ||
+ | ==Paramètres du TP== | ||
{| class="wikitable" | {| class="wikitable" | ||
− | ! Groupe !! Domaine !! Nom VM !! IPv4 virtuelle !! IPv4 routée !! VLAN privé !! Réseau local IPv4 !! Cisco 6509-E !! Cisco 9200 !! ISR4331 !! | + | ! Groupe !! Domaine !! Nom VM !! IPv4 virtuelle !! IPv4 routée !! VLAN privé !! Réseau local IPv4 !! Cisco 6509-E !! Cisco 9200 !! ISR4331 !! IPv6 |
|- | |- | ||
| Groupe 5 | | Groupe 5 | ||
Ligne 14 : | Ligne 15 : | ||
| 10.24.0.252 | | 10.24.0.252 | ||
| 10.24.0.253 | | 10.24.0.253 | ||
− | | 2001:660:4401:60A0:216:3eff:fe92:8ec5 | + | | 2001:660:4401:60A0:216:3eff:fe92:8ec5 |
− | |||
− | |||
|} | |} | ||
== Configuration Réseau == | == Configuration Réseau == | ||
+ | Nous avons participer au raccordement des différents modules du réseau: | ||
+ | Capbreton, C9200, 6509E, ISR4331 | ||
+ | |||
+ | Puis nous avons participer à la création des VLAN pour chaque groupe dons le notre: VLAN 24 | ||
== Machine virtuelle == | == Machine virtuelle == | ||
Ligne 160 : | Ligne 163 : | ||
<pre>mv miserable.site.key /etc/ssl/private | <pre>mv miserable.site.key /etc/ssl/private | ||
mv miserable.site.csr /etc/ssl/certs</pre> | mv miserable.site.csr /etc/ssl/certs</pre> | ||
− | Il | + | Il a été nécessaire de faire signer le certificat <code>.csr</code> par [https://docs.gandi.net/fr/ssl/creation/installation_certif_manuelle.html Gandi] afin d’en obtenir le nouveau certificat signé <code>.crt</code>.<br /> |
Puisque le registrar Gandi a été utilisé pour réserver le nom de domaine <code>miserable.site</code>, il est alors possible d’utiliser à nouveau ce service pour signer gratuitement le certificat <code>miserable.site.csr</code>. | Puisque le registrar Gandi a été utilisé pour réserver le nom de domaine <code>miserable.site</code>, il est alors possible d’utiliser à nouveau ce service pour signer gratuitement le certificat <code>miserable.site.csr</code>. | ||
Ligne 334 : | Ligne 337 : | ||
=== Fail2Ban === | === Fail2Ban === | ||
+ | On installe Fail2Ban afin de détecter et bannir les tentatives de connexion par force brute à notre domaine | ||
+ | <pre>apt-get install</pre> | ||
+ | |||
+ | On lance le service fail2ban | ||
+ | |||
+ | <pre>systemctl start fail2ban</pre> | ||
+ | |||
+ | puis on en créer le démarrage automatique | ||
+ | |||
+ | <pre>systemctl enable fail2ban</pre> | ||
+ | |||
+ | === Raid5 === | ||
+ | |||
+ | On a ajouté à notre VM deux volumes identiques à celui utilisé pour /home. | ||
+ | |||
+ | On a créé l'array avec mdadm: | ||
+ | |||
+ | mdadm --create /dev/md0 --level=5 \ | ||
+ | --raid-devices 3 /dev/xvda3 /dev/xvda5 /dev/xvda6 | ||
+ | mkfs /dev/md0 | ||
+ | mount /dev/md0 /home | ||
+ | |||
+ | En modifiant également <code>/etc/fstab</code> pour laisser la VM monter correctement /home au démarrage |
Version actuelle datée du 30 novembre 2022 à 23:52
Sommaire
TP Réseaux SE2A5 - Alexandre TRUPIN | Alex VERCAMPT
Paramètres du TP
Groupe | Domaine | Nom VM | IPv4 virtuelle | IPv4 routée | VLAN privé | Réseau local IPv4 | Cisco 6509-E | Cisco 9200 | ISR4331 | IPv6 |
---|---|---|---|---|---|---|---|---|---|---|
Groupe 5 | miserable.site | VMalex2 | 10.24.0.250 | 193.48.57.167/28 | 24 | 10.24.0.0/16 | 10.24.0.251 | 10.24.0.252 | 10.24.0.253 | 2001:660:4401:60A0:216:3eff:fe92:8ec5 |
Configuration Réseau
Nous avons participer au raccordement des différents modules du réseau: Capbreton, C9200, 6509E, ISR4331
Puis nous avons participer à la création des VLAN pour chaque groupe dons le notre: VLAN 24
Machine virtuelle
- Connexion au serveur Capbreton :
ssh capbreton.plil.info
- Créer la variable d’environnement
http_proxy
:
export http_proxy=http://proxy.plil.fr:3128
En configurant correctement le proxy de la plateforme, il est désormais possible d’accéder aux images et aux paquets Debian pour créer la VM.
- Création d’une image pour la VM :
xen-create-image --hostname=VMalex2 --ip=10.60.100.164 --gateway=10.60.100.254 --netmask=255.255.255.0 --dir=/usr/local/xen --password=glopglop --dist=chimaera
→ Dossier de stockage des données de la VM : /usr/local/xen/domains/VMalex2
→ Fichier de configuration de la VM : /etc/xen/VMalex2.cfg
- Création des partitions virtuelles :
vgcreate virtual /dev/sda7 lvcreate -L10G -n VMalex2-home virtual lvcreate -L10G -n VMalex2-var virtual
- Vérification des partitions :
lvdisplay lsblk
- Formatage de la partition virtuelle :
mkfs.ext4 /dev/virtual/VMalex2-home mkfs.ext4 /dev/virtual/VMalex2-var
- Modification de
/etc/xen/VMalex2.cfg
:
→ Ajout des partitions virtuelles dans la variable disk
:
'phy:/dev/virtual/VMalex2-home,xvda3,w', 'phy:/dev/virtual/VMalex2-var,xvda4,w'
→ Ajout du pont dans dans la variable vif
:
vif = [ 'mac=00:16:3E:D8:97:68, bridge=IMA2a5' ]
Le fichier de configuration obtenu est le suivant :
# # Configuration file for the Xen instance VMalex2, created # by xen-tools 4.8 on Fri Nov 12 08:53:11 2021. # # # Kernel + memory size # kernel = '/boot/vmlinuz-4.19.0-9-amd64' extra = 'elevator=noop' ramdisk = '/boot/initrd.img-4.19.0-9-amd64' vcpus = '1' memory = '256' # # Disk device(s). # root = '/dev/xvda2 ro' disk = [ 'file:/usr/local/xen/domains/VMalex2/disk.img,xvda2,w', 'file:/usr/local/xen/domains/VMalex2/swap.img,xvda1,w', 'phy:/dev/virtual/VMalex2-home,xvda3,w', 'phy:/dev/virtual/VMalex2-var,xvda4,w' ] # # Physical volumes # # # Hostname # name = 'VMalex2' # # Networking # vif = [ 'mac=00:16:3E:BE:BF:2D, bridge=IMA2a5' ] # # Behaviour # on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart'
- Création de la VM :
xl create /etc/xen/VMalex2.cfg
- Affichage de l’état des VM :
xl list
- Affichage du mot de passe de la VM :
tail -f /var/log/xen-tools/VMalex2.log
- Démarrage d’un shell sur la VM :
xen console VMalex2
- Changement du mot de passe :
passwd root
- Mise à jour de la liste des paquets :
apt update
- Montage des partitions virtuelles :
mount /dev/xvda4 /mnt
- Copie des données des répertoires
/home
et/var
:
mv /var/* /mnt
- Démontage des partitions virtuelles :
umount /mnt
- Ajout des partitions au fichier
/etc/fstab
:
/dev/xvda3 /home ext4 defaults 0 2 /dev/xvda4 /var ext4 defaults 0 2
Services
SSH
Modification dans le fichier /etc/ssh/sshd_config
:
PermitRootLogin yes
Serveur Web
- Installation du paquet
openssl
:
apt install openssl
- Création d’un certificat TSL :
openssl req -nodes -newkey rsa:2048 -sha256 -keyout miserable.site.key -out miserable.site.csr
Attention à bien renseigner miserable.site
comme CN (Common Name) pour la création du certificat.
mv miserable.site.key /etc/ssl/private mv miserable.site.csr /etc/ssl/certs
Il a été nécessaire de faire signer le certificat .csr
par Gandi afin d’en obtenir le nouveau certificat signé .crt
.
Puisque le registrar Gandi a été utilisé pour réserver le nom de domaine miserable.site
, il est alors possible d’utiliser à nouveau ce service pour signer gratuitement le certificat miserable.site.csr
.
Pour cela, il faut “acheter” un certificat SSL pour un hôte “ailleurs” et coller le contenu du fichier .csr
. Une fois le CN entré et reconnu, l’achat devient gratuit et peut être effectué.
Après quelques minutes, il est désormais possible de télécharger le certificat signé .crt
ainsi que le certificat nommé GandiStandardSSLCA2.pem
.
Ces deux certificats sont à copier dans le répertoire /etc/ssl/certs
de la VM.
- Copier les certificats sur la VM :
scp -r -p miserable.site.crt root@193.48.57.164:/etc/ssl/certs scp -r -p GandiStandardSSLCA2.pem root@193.48.57.164:/etc/ssl/certs
- Installation du paquet
apache2
:
apt install apache2
- Activation du module SSL :
a2enmod ssl
- Modification du fichier
/etc/apache2/ports.conf
:
Listen 80 <IfModule mod_ssl.c> Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule>
- Ajout du fichier
/etc/apache2/sites-available/000-miserable.site-ssl.conf
:
<IfModule mod_ssl.c> <VirtualHost 193.48.57.164:443> ServerName miserable.site ServerAlias ns.miserable.site www.miserable.site DocumentRoot /var/www/miserable.site/ CustomLog /var/log/apache2/secure_access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/miserable.site.crt SSLCertificateKeyFile /etc/ssl/private/miserable.site.key SSLCACertificateFile /etc/ssl/certs/GandiStandardSSLCA2.pem SSLVerifyClient None </VirtualHost> </IfModule>
- Activation du site
miserable.site
:
a2ensite 000-miserable.site-ssl
- Modification du fichier
nano /etc/apache2/apache2.conf
:
ServerName miserable.site
- Modification du fichier
nano /etc/apache2/sites-available/000-default.conf
:
Redirect permanent / https://www.miserable.site/
- Redémarrage du service
apache2
:
service apache2 restart
DNS
Dans un premier temps, on utilise le registrar Gandi afin de réserver le nom de domaine miserable.site
.
Une fois le nom de domaine réservé, il est alors possible de configurer les serveurs de noms et les Glue Records :
→ Ajouter le Glue Record vers 193.48.57.167
afin d’associer le nom de domaine miserable.site
à l’adresse IP 193.48.57.167
→ Modifier les serveurs de noms pour utiliser ns.miserable.site
et ns6.gandi.net
En attendant que les serveurs de noms soient correctement modifiés, il est possible de changer les enregistrements DNS :
→ Modifier l’enrgistrement DNS @
-A
avec la valeur 193.48.57.193
→ Ajouter l’enrgistrement DNS ns
-A
avec la valeur 193.48.57.193
→ Modifier l’enrgistrement DNS www
-CNAME
avec la valeur ns.miserable.site.
- Installation du paquet
bind9
apt install bind9
- Modification du fichier
/etc/resolv.conf
:
nameserver 127.0.0.1
- Modification du fichier
/etc/bind/named.conf.local
:
zone "miserable.site" { type master; file "/etc/bind/db.miserable.site"; allow-transfer { 217.70.177.40; }; // ns6.gandi.net };
- Modification du fichier
/etc/bind/named.conf.options
:
options{ directory "/var/cache/bind"; forwarders { 8.8.8.8; 4.4.2.2; }; dnssec-validation auto; listen-on-v6 { any; }; allow-transfer { "allowed_to_transfer"; }; }; acl "allowed_to_transfer" { 217.70.177.40/32; };
- Créer le fichier BIND pour
miserable.site
:
cp /etc/bind/db.local /etc/bind/db.miserable.site
- Modification du fichier
/etc/bind/db.miserable.site
:
; ; BIND data file for miserable.site ; $TTL 604800 @ IN SOA ns.miserable.site. root.miserable.site. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.miserable.site. @ IN NS ns6.gandi.net. @ IN A 193.48.57.167 NS IN A 193.48.57.167 NS IN AAAA 2001:660:4401:60A0:216:3eff:fe92:8ec5 WWW IN CNAME NS SSH IN CNAME NS
- Redémarrage du service:
service named reload
- Modification du fichier
/etc/resolv.conf
nameserver 193.48.57.167
- Vérification de la traduction du nom de domaine
miserable.site
:
nslookup miserable.site
DNSSEC
- Modification du fichier
/etc/bind/named.conf.options
:
dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto;
- Création du répertoire
miserable.site.dnssec
:
mkdir /etc/bind/miserable.site.dnssec/ cd /etc/bind/miserable.site.dnssec/
- Génération de la clef asymétrique de signature de clefs de zone :
dnssec-keygen -a RSASHA256 -b 2048 -f KSK -n ZONE miserable.site
mv Kmiserable.site.*.key miserable.site-ksk.key mv Kmiserable.site.*.private miserable.site-ksk.private
- Génération de la clef asymétrique de signature des enregistrements :
dnssec-keygen -a RSASHA256 -b 2048 -n ZONE miserable.site
mv Kmiserable.site.*.key miserable.site-zsk.key mv Kmiserable.site.*.private miserable.site-zsk.private
- Modification du fichier
/etc/bind/db.miserable.site
:
$include "/etc/bind/miserable.site.dnssec/miserable.site-ksk.key" $include "/etc/bind/miserable.site.dnssec/miserable.site-zsk.key"
- Signature des enregistrements de la zone :
dnssec-signzone -o miserable.site -k miserable.site-ksk ../db.miserable.site miserable.site-zsk
- Modification du fichier
/etc/bind/named.conf.local
:
zone "miserable.site" { type master; file "/etc/bind/db.miserable.site.signed"; allow-transfer { 217.70.177.40; }; // ns6.gandi.net };
Il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier miserable.site-ksk.key
) à Gandi.
L’algorithme utilisé est le 8 (RSA/SHA-256).
- Verification
cd /etc/bind/ dnssec-verify -o miserable.site db.miserable.site.signed
service named reload
Fail2Ban
On installe Fail2Ban afin de détecter et bannir les tentatives de connexion par force brute à notre domaine
apt-get install
On lance le service fail2ban
systemctl start fail2ban
puis on en créer le démarrage automatique
systemctl enable fail2ban
Raid5
On a ajouté à notre VM deux volumes identiques à celui utilisé pour /home.
On a créé l'array avec mdadm:
mdadm --create /dev/md0 --level=5 \ --raid-devices 3 /dev/xvda3 /dev/xvda5 /dev/xvda6 mkfs /dev/md0 mount /dev/md0 /home
En modifiant également /etc/fstab
pour laisser la VM monter correctement /home au démarrage