« Atelier SysRes SE4 2025/2026 E11 » : différence entre les versions
Aucun résumé des modifications |
|||
| (7 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
= Projet Virtualisation /Administration Systeme-Réseau - Machine SE4.Elf = | |||
Dans le cadre de ce projet, nnous avons déployés une infrastructure composée de '''deux machines dédiées aux services''' et d’une '''machine mandataire''', le tout à l’aide de l'environnement '''Xen.''' | Dans le cadre de ce projet, nnous avons déployés une infrastructure composée de '''deux machines dédiées aux services''' et d’une '''machine mandataire''', le tout à l’aide de l'environnement '''Xen.''' | ||
| Ligne 56 : | Ligne 56 : | ||
</syntaxhighlight>- La commande '''vi /etc/hostname''' pour changer le nom de la VM | </syntaxhighlight>- La commande '''vi /etc/hostname''' pour changer le nom de la VM | ||
== '''Configuration de la Machine de Services''' == | |||
Il faut creer deux partitions LVM de 10G pour votre machine virtuelle et modifiez le fichier de configuration de la machine virtuelle de services pour faire en sorte que les répertoires <code>/'''var'''</code> et <code>'''/home'''</code> de la machine virtuelle soient implantés sur ces partitions LVM<syntaxhighlight lang="text"> | |||
SE4.Poseidon.home lv_home_SE4Elf lv_var_SE4Elf SE4.Gaby.home SE4.Poseidon.var SE4.Gaby.var | |||
</syntaxhighlight> | |||
== '''Serveur SSH''' == | |||
Notre machine virtuelle doit etre accessible par SSH, on autorise donc l'accès par l'utilisateur '''Root en modifiant le fichier de de configuration <code>/etc/ssh/sshd_config :</code>'''<syntaxhighlight lang="text"> | |||
PermitRootLogin yes | |||
</syntaxhighlight>Il faut ensuite redemarrer le serveur ssh en faisant :<syntaxhighlight lang="text"> | |||
root@Elf:/etc/ssh# /etc/init.d/ssh restart | |||
</syntaxhighlight>Pour gérer la redirection du SSH, on doit configurer '''nftables''' sur nos machines de service en redirigeant les ports 2201 et 2202<syntaxhighlight lang="text"> | |||
nft add table ip nat | |||
nft add chain ip nat PREROUTING { type nat hook prerouting priority 0 \; } | |||
nft add rule ip nat PREROUTING tcp dport 2201 dnat to 192.168.50.12:22 | |||
nft add rule ip nat PREROUTING tcp dport 2202 dnat to 192.168.50.3:22 | |||
nft add chain ip nat POSTROUTING { type nat hook postrouting priority 100 \; } | |||
nft add rule ip nat POSTROUTING masquerade | |||
</syntaxhighlight>Maintenant, on peut se connecter en SSH sur les machiches virtuelles de services: De Elf, on peut se connecter a Kasav<syntaxhighlight lang="text"> | |||
root@Elf:/# ssh root@192.168.50.3 | |||
root@192.168.50.3's password: | |||
Linux Kasav 4.19.0-26-amd64 #1 SMP Debian 4.19.304-1 (2024-01-09) x86_64 | |||
The programs included with the Devuan GNU/Linux system are free software; | |||
the exact distribution terms for each program are described in the | |||
individual files in /usr/share/doc/*/copyright. | |||
Devuan GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent | |||
permitted by applicable law. | |||
Last login: Tue Feb 3 11:34:45 2026 from 192.168.50.12 | |||
root@Kasav:~# | |||
</syntaxhighlight> | |||
== '''Serveur DNS''' == | |||
<syntaxhighlight lang="text"> | |||
$TTL 86400 | |||
@ IN SOA ns1.elvis21.tech. admin.elvis21.tech. ( | |||
3298267246 ;Version | |||
3600 ;Refresh | |||
1800 ;Retry | |||
604800 ;Expire | |||
86400 ) ;Minimum TTL | |||
; | |||
@ IN NS ns1.elvis21.tech. | |||
ns1 IN A 192.168.50.12 | |||
ns2 IN A 192.168.50.1 | |||
IN A 192.168.50.12 | |||
IN AAAA 2001:660:4401:60a0:216:3eff:fe83:a3c8 | |||
www IN A 192.168.50.12 | |||
</syntaxhighlight><syntaxhighlight lang="text"> | |||
root@Elf:/etc/bind# cat named.conf.local | |||
zone "elvis21.tech" { | |||
type primary; | |||
file "/etc/bind/zones/db.elvis21.tech"; | |||
allow-transfer { | |||
2001:660:4401:60a0:216:3eff:fe70:7f1c; | |||
2001:660:4401:60a0:216:3eff:fe9a:ea1c; | |||
}; | |||
also-notify { 2001:660:4401:60a0:216:3eff:fe70:7f1c; }; | |||
inline-signing yes; // DNSSEC automatique | |||
key-directory "/etc/bind/keys"; // répertoire des clefs, attention aux droits | |||
dnssec-policy "dnssecpolicy"; // politique pour les clefs de chiffrement | |||
}; | |||
zone "kasav.online" { | |||
type secondary; | |||
file "/etc/bind/backup/db.kasav.online"; | |||
primaries { 2001:660:4401:60a0:216:3eff:fe9a:ea1c; }; | |||
}; | |||
dnssec-policy "dnssecpolicy" { | |||
keys { | |||
ksk key-directory lifetime unlimited algorithm 13; | |||
zsk key-directory lifetime unlimited algorithm 13; | |||
}; | |||
nsec3param; | |||
}; | |||
</syntaxhighlight><syntaxhighlight lang="text"> | |||
root@Elf:/etc/bind# named-checkzone elvis21.tech /etc/bind/db.elvis21.tech | |||
zone elvis21.tech/IN: loaded serial 3298267246 | |||
OK | |||
</syntaxhighlight><syntaxhighlight lang="text"> | |||
openssl req -nodes -newkey rsa:2048 -sha256 -keyout elvis21.tech.key -out elvis21.csr | |||
</syntaxhighlight> | |||
[[Fichier:ImageDns.png|gauche|vignette|994x994px]] | |||
== Mise en place du serveur Apache (http et https) == | |||
<syntaxhighlight lang="text"> | |||
apt update | |||
apt install apache2 | |||
systemctl enable --now apache2 | |||
</syntaxhighlight> | |||
[[Fichier:Elvis21.tech-DNS.png|gauche|vignette|863x863px]] | |||
== Installation Fail2ban == | |||
<syntaxhighlight lang="text"> | |||
root@Elf:/# apt install fail2ban | |||
Installing: | |||
fail2ban | |||
root@Elf:/# systemctl status fail2ban | |||
fail2ban.service - Fail2Ban Service | |||
Loaded: loaded (/usr/lib/systemd/system/fail2ban.service, disabled) | |||
Active: active (running) | |||
</syntaxhighlight> | |||
Version actuelle datée du 6 février 2026 à 12:17
Projet Virtualisation /Administration Systeme-Réseau - Machine SE4.Elf
Dans le cadre de ce projet, nnous avons déployés une infrastructure composée de deux machines dédiées aux services et d’une machine mandataire, le tout à l’aide de l'environnement Xen.
Création des machines virtuelles
Les machines sont créées sur le Dom0 Capbreton.plil.info en faisant un ssh root@capbreton.plil.info
Sur la capbreton.plil.info,
xen create-image --hostname=SE4.Elf --dhcp --dir=/usr/local/xen --size=10G --dist=excalibur --memory=2G --bridge=Styx --force
Xen-create-image : Commande permettant de créer une nouvelle machine virtuelle Xen
--hostname=SE4.Elf : Pour le nom de la machine
--size=10G : La taille du disque
--bridge=Styx : Le nom du bridge
Par la suite il faut creer un fichier dans le répertoire /etc/network/interfaces.d du Dom0 pour créer notre pont. (NB: Il faut noter que cette etape on peut la faire avant la creation de notre VM
auto Styx
iface Styx inet manual
bridge_ports none
up ip link set $IFACE up
down ip link set $IFACE down
La commande xen list : Affiche les machines virtuelles (VM) qui sont actuellement gérées par Xen (Elle fait la liste des VM allumée).
root@capbreton:~# xen list
SE4.batman 322 2048 1 -b---- 37.5
SE4.Moon 326 2048 1 -b---- 41.1
SE4.C2 332 1024 1 -b---- 18.1
SE4.Tension 343 2048 1 -b---- 7.8
SE4.CachyOS 365 2048 1 -b---- 10.2
SE4.RockStar 367 2048 1 -b---- 6.1
SE4.Kasav 368 2048 1 -b---- 5.9
SE4.Elf 369 2048 1 -b---- 5.6
SE4.catwoman 370 2048 1 -b---- 6.1
-La commande xen create /etc/xen/SE4.Elf.cfg permet d'allumer la Machine virtuellle.
-La commande xen console SE4.Elf permet d'acceder / de se connecter a la VM.
-La commande xen shutdown SE4.Elf permet d'eteindre la machine virtuelle.
Lors de la tentative de connexion, il y'a une un probleme , pour y remedier, Ctrl + AltGr + ] => vi => :q! => reconnexion
Pour voir le mot de passe de la VM, cat /var/log/xen-tools/SE4.Elf.log
Installation Summary
---------------------
Hostname : SE4.Elf
Distribution : excalibur
MAC Address : 00:16:3E:83:A3:C7
IP Address(es) : dynamic
SSH Fingerprint : SHA256:IrPhxhB4m1s+eaPaLynS6NlE/HfL78+y3ba3DPuHFQU (DSA)
SSH Fingerprint : SHA256:RT+MZtlFxC7BrdYORzOcxDX+SKsJrLzOGWWngX2pKz4 (ECDSA)
SSH Fingerprint : SHA256:aLYvYqUPX2Q/J5P0nTpdpMyrFD5xopRqkFKuYb7QUo4 (ED25519)
SSH Fingerprint : SHA256:b0ddm9FYx4/losJU8/pE9MXx7102ygkAMjChOvPlNhE (RSA)
Root Password : X
- La commande vi /etc/hostname pour changer le nom de la VM
Configuration de la Machine de Services
Il faut creer deux partitions LVM de 10G pour votre machine virtuelle et modifiez le fichier de configuration de la machine virtuelle de services pour faire en sorte que les répertoires /var et /home de la machine virtuelle soient implantés sur ces partitions LVM
SE4.Poseidon.home lv_home_SE4Elf lv_var_SE4Elf SE4.Gaby.home SE4.Poseidon.var SE4.Gaby.var
Serveur SSH
Notre machine virtuelle doit etre accessible par SSH, on autorise donc l'accès par l'utilisateur Root en modifiant le fichier de de configuration /etc/ssh/sshd_config :
PermitRootLogin yes
Il faut ensuite redemarrer le serveur ssh en faisant :
root@Elf:/etc/ssh# /etc/init.d/ssh restart
Pour gérer la redirection du SSH, on doit configurer nftables sur nos machines de service en redirigeant les ports 2201 et 2202
nft add table ip nat
nft add chain ip nat PREROUTING { type nat hook prerouting priority 0 \; }
nft add rule ip nat PREROUTING tcp dport 2201 dnat to 192.168.50.12:22
nft add rule ip nat PREROUTING tcp dport 2202 dnat to 192.168.50.3:22
nft add chain ip nat POSTROUTING { type nat hook postrouting priority 100 \; }
nft add rule ip nat POSTROUTING masquerade
Maintenant, on peut se connecter en SSH sur les machiches virtuelles de services: De Elf, on peut se connecter a Kasav
root@Elf:/# ssh root@192.168.50.3
root@192.168.50.3's password:
Linux Kasav 4.19.0-26-amd64 #1 SMP Debian 4.19.304-1 (2024-01-09) x86_64
The programs included with the Devuan GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Devuan GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Feb 3 11:34:45 2026 from 192.168.50.12
root@Kasav:~#
Serveur DNS
$TTL 86400
@ IN SOA ns1.elvis21.tech. admin.elvis21.tech. (
3298267246 ;Version
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ) ;Minimum TTL
;
@ IN NS ns1.elvis21.tech.
ns1 IN A 192.168.50.12
ns2 IN A 192.168.50.1
IN A 192.168.50.12
IN AAAA 2001:660:4401:60a0:216:3eff:fe83:a3c8
www IN A 192.168.50.12
root@Elf:/etc/bind# cat named.conf.local
zone "elvis21.tech" {
type primary;
file "/etc/bind/zones/db.elvis21.tech";
allow-transfer {
2001:660:4401:60a0:216:3eff:fe70:7f1c;
2001:660:4401:60a0:216:3eff:fe9a:ea1c;
};
also-notify { 2001:660:4401:60a0:216:3eff:fe70:7f1c; };
inline-signing yes; // DNSSEC automatique
key-directory "/etc/bind/keys"; // répertoire des clefs, attention aux droits
dnssec-policy "dnssecpolicy"; // politique pour les clefs de chiffrement
};
zone "kasav.online" {
type secondary;
file "/etc/bind/backup/db.kasav.online";
primaries { 2001:660:4401:60a0:216:3eff:fe9a:ea1c; };
};
dnssec-policy "dnssecpolicy" {
keys {
ksk key-directory lifetime unlimited algorithm 13;
zsk key-directory lifetime unlimited algorithm 13;
};
nsec3param;
};
root@Elf:/etc/bind# named-checkzone elvis21.tech /etc/bind/db.elvis21.tech
zone elvis21.tech/IN: loaded serial 3298267246
OK
openssl req -nodes -newkey rsa:2048 -sha256 -keyout elvis21.tech.key -out elvis21.csr
Mise en place du serveur Apache (http et https)
apt update
apt install apache2
systemctl enable --now apache2
Installation Fail2ban
root@Elf:/# apt install fail2ban
Installing:
fail2ban
root@Elf:/# systemctl status fail2ban
fail2ban.service - Fail2Ban Service
Loaded: loaded (/usr/lib/systemd/system/fail2ban.service, disabled)
Active: active (running)