« Atelier SysRes SE4 2025/2026 E11 » : différence entre les versions

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
 
(5 versions intermédiaires par le même utilisateur non affichées)
Ligne 93 : Ligne 93 :
<syntaxhighlight lang="text">
<syntaxhighlight lang="text">
$TTL 86400
$TTL 86400
@ IN SOA ns1.elvis21.shop. admin.elvis21.shop. (
@ IN SOA ns1.elvis21.tech. admin.elvis21.tech. (
         3298267246      ;Version
         3298267246      ;Version
         3600            ;Refresh
         3600            ;Refresh
Ligne 100 : Ligne 100 :
         86400 )        ;Minimum TTL
         86400 )        ;Minimum TTL
;
;
@  IN NS ns1.elvis21.shop.
@  IN NS ns1.elvis21.tech.


ns1 IN A 192.168.50.12
ns1 IN A 192.168.50.12
Ligne 108 : Ligne 108 :
www IN A 192.168.50.12
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>
</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
ImageDns.png

Mise en place du serveur Apache (http et https)

apt update
apt install apache2
systemctl enable --now apache2
Elvis21.tech-DNS.png

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)