Atelier SysRes SE4 2024/2025 E4

De wiki-se.plil.fr
Révision datée du 6 mars 2025 à 20:54 par Rboursau (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

AARV - BOURSAULT - BONNINGRE

Création de la VM

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

Configuration machine de service

Démarrage de la VM : xen create SE4.Bree.cfg

Ouverture de la VM : xen console SE4.Bree

Var et Home

On monte les disques dans /var et /home en ajoutant

/dev/xvda3 /home ext4 defaults 02

/dev/xvdb1 /var ext4 defaults 02

dans /etc/fstab

IP

On modifie la configuration réseau de la machine mandataire dans /etc/interfaces L'interface eth0 permet de connecter les trois machines entre elles, l'interface eth1 permet de se connecter à internet via le réseau de l'école

/etc/interfaces de la mandataire

On modifie ensuite la configuration de l'interface des machines de service

/etc/interfaces d'une machine de service

On peut ping entre les machines.

Ping entre mandataire et une machine de service

SSH

Pour activer le SSH, on attribue des ports a chacune des machines de service grace à iptables.

Ensuite on peut renseigner ce port dans la commande ssh pour choisir la machine à laquelle on veut se connecter :

ssh -p i root@193.48.57.174 avec i le numéro de port (2201 pour Bree, 2202 pour Gaby).

DNS

Après avoir installé bind9 et apache2, on a plusieurs fichiers de configuration à modifier pour mettre en place le DNS.

Dans /etc/resolv.conf on ajoute:

search merci-macron.online

nameserver 192.168.1.20

nameserver 192.168.1.21


Dans /etc/bind/named.conf.local dans Bree :

zone "merci-macron.online" {

    type master;

    file "/etc/bind/merci-macron.online.db";

    allow-transfer{secondaries;};

    also-notify{hiddensecondaries;};

    notify yes;

};

acl "secondaries"{

    2001:660:4401:60a0:216:3eff:fe2d:8017;

    2001:660:4401:60a0:216:3eff:fe7a:5d61;

};

masters "hiddensecondaries" {

    2001:660:4401:60a0:216:3eff:fe7a:5d61;

};

zone "pardon-macron.online" {

    type slave;

    file "/etc/bind/pardon-macron.online.db";

    masters {2001:660:4401:60a0:216:3eff:fe2d:8017; };

};


Dans /etc/bind/merci-macron.online.db :

$TTL 200

@   IN  SOA ns.merci-macron.online. admin.merci-macron.online. (

        2023021103 ; Serial

        3600       ; Refresh

        1800       ; Retry

        1209600    ; Expire

        200 )    ; Minimum TTL

@   IN  NS  ns.merci-macron.online.

@   IN  A  193.48.57.174

@   IN  AAAA  2001:660:4401:60a0:216:3eff:fe1f:1cae

ns IN  A   193.48.57.174  ; Adresse IPv4 de votre serveur DNS primaire

ns IN  AAAA 2001:660:4401:60a0:216:3eff:fe1f:1cae

www IN CNAME ns

En utilisant dig @localhost ns.merci-macron.online , on peut vérifier qu'on obtient bien une réponse :

; <<>> DiG 9.18.33-1~deb12u2-Debian <<>> @localhost ns.merci-macron.online
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49202
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: b39162197e5f806c0100000067c9f2d908bfad76ed0da298 (good)
;; QUESTION SECTION:
;ns.merci-macron.online.                IN      A

;; ANSWER SECTION:
ns.merci-macron.online. 200     IN      A       193.48.57.174

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(localhost) (UDP)
;; WHEN: Thu Mar 06 19:09:13 UTC 2025
;; MSG SIZE  rcvd: 95

De même on peut faire la même chose avec merci-macron.online, on peut le faire en Ipv4 et aussi en Ipv6 et on voit bien que tout fonctionne.

En créant une page web qu'on met dans /var/www/html/index.html, notre page s'affiche si l'on se connecte en Ipv6.

DNSSEC

Pour obtenir le DNSSEC, on ajoute dans named.conf.local :

zone "merci-macron.online" {

    type master;

    file "/etc/bind/merci-macron.online.db";

    allow-transfer{secondaries;};

    also-notify{hiddensecondaries;};

    notify yes;

    key-directory "/etc/bind/keys";

    dnssec-policy "dnspol";

    inline-signing yes;

};

dnssec-policy "dnspol" {

   keys {

       ksk key-directory lifetime unlimited algorithm 13;

       zsk key-directory lifetime unlimited algorithm 13;

   };

   nsec3param;

};

On crée un dossier keys dans lequel vont être générées les clés, puis on ajoute la clé KSK sur Gandi.

Fail2Ban

Fail2Ban permet de protéger les machines des attaques.

On l'installe avec ces options :

[sshd]

enabled  = true

port     = ssh

filter   = sshd

logpath  = /var/log/auth.log

maxretry = 3

bantime  = 3600

findtime = 600

On peut voir que ça fonctionne car des machines sont déjà bannies (des bots étaient déjà en train d'attaquer nos machines).

HTTPS

Ayant peur d'être envoyés au front devant les récents événements, nous avons décidé d'opter pour des noms de domaines plus respectueux de notre grand président de la République actuel. (nous avons perdu les clés SSL et avons dû tout recommencer).