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

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
 
(2 versions intermédiaires par le même utilisateur non affichées)
Ligne 39 : Ligne 39 :
Ensuite on peut renseigner ce port dans la commande ssh pour choisir la machine à laquelle on veut se connecter :
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).
<code>ssh -p i root@193.48.57.174</code> avec i le numéro de port (2201 pour Bree, 2202 pour Gaby).


=== DNS ===
=== DNS ===
Après avoir installé bind9 et apache2, on a plusieurs fichiers de configuration à modifier pour mettre en place le 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:  
Dans <code>/etc/resolv.conf</code> on ajoute:  
 
<syntaxhighlight lang="shell">
search merci-macron.online
search merci-macron.online


Ligne 66 : Ligne 66 :


    notify yes;
    notify yes;
    key-directory "/etc/bind/keys";
    dnssec-policy "dnspol";
    inline-signing yes;


};
};
Ligne 98 : Ligne 92 :


};
};
</syntaxhighlight>




 
Dans <code>/etc/bind/merci-macron.online.db</code> :
Dans merci-macron.online.db :
<syntaxhighlight lang="shell">
 
$TTL 200
$TTL 200


Ligne 128 : Ligne 122 :


www IN CNAME ns
www IN CNAME ns
</syntaxhighlight>


En utilisant <code>dig @localhost ns.merci-macron.online</code> , on peut vérifier qu'on obtient bien une réponse :
<syntaxhighlight lang="shell">
; <<>> 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


En utilisant dig @localhost ns.merci-macron.online , on peut vérifier qu'on obtient bien une réponse :
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: b39162197e5f806c0100000067c9f2d908bfad76ed0da298 (good)
;; QUESTION SECTION:
;ns.merci-macron.online.                IN      A


<nowiki>;</nowiki> <<>> DiG 9.18.33-1~deb12u2-Debian <<>> @localhost ns.merci-macron.online
;; ANSWER SECTION:
ns.merci-macron.online. 200    IN      A      193.48.57.174


<nowiki>;</nowiki> (1 server found)
;; 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


<nowiki>;;</nowiki> global options<nowiki>:</nowiki> +cmd
</syntaxhighlight>


<nowiki>;;</nowiki> Got answer<nowiki>:</nowiki>
De même on peut faire la même chose avec <code>merci-macron.online</code>, on peut le faire en Ipv4 et aussi en Ipv6 et on voit bien que tout fonctionne.


<nowiki>;;</nowiki> ->>HEADER<<- opcode<nowiki>:</nowiki> QUERY, status: NOERROR, id: 49202
En créant une page web qu'on met dans <code>/var/www/html/index.html</code>, notre page s'affiche si l'on se connecte en Ipv6.


<nowiki>;;</nowiki> flags<nowiki>:</nowiki> qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
=== DNSSEC ===
Pour obtenir le DNSSEC, on ajoute dans <code>named.conf.local</code> :  
<syntaxhighlight lang="shell">
zone "merci-macron.online" {


<nowiki>;;</nowiki> OPT PSEUDOSECTION<nowiki>:</nowiki>
    type master;


<nowiki>;</nowiki> EDNS<nowiki>:</nowiki> version: 0, flags:; udp: 1232
    file "/etc/bind/merci-macron.online.db";


<nowiki>;</nowiki> COOKIE<nowiki>:</nowiki> b39162197e5f806c0100000067c9f2d908bfad76ed0da298 (good)
    allow-transfer{secondaries;};


<nowiki>;;</nowiki> QUESTION SECTION<nowiki>:</nowiki>
    also-notify{hiddensecondaries;};


<nowiki>;</nowiki>ns.merci-macron.online.                IN      A
    notify yes;


<nowiki>;;</nowiki> ANSWER SECTION<nowiki>:</nowiki>
    key-directory "/etc/bind/keys";


ns.merci-macron.online. 200     IN      A       193.48.57.174
    dnssec-policy "dnspol";


<nowiki>;;</nowiki> Query time<nowiki>:</nowiki> 0 msec
    inline-signing yes;
 
<nowiki>;;</nowiki> SERVER<nowiki>:</nowiki> 127.0.0.1#53(localhost) (UDP)
 
<nowiki>;;</nowiki> WHEN<nowiki>:</nowiki> Thu Mar 06 19:09:13 UTC 2025
 
<nowiki>;;</nowiki> MSG SIZE  rcvd<nowiki>:</nowiki> 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 :


dnssec-policy "dnspol" {
dnssec-policy "dnspol" {
Ligne 187 : Ligne 189 :


};
};
 
</syntaxhighlight>
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.
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.


Ligne 194 : Ligne 196 :


On l'installe avec ces options :  
On l'installe avec ces options :  
 
<syntaxhighlight lang="shell">
[sshd]
[sshd]


Ligne 210 : Ligne 212 :


findtime = 600
findtime = 600
 
</syntaxhighlight>
On peut voir que ça fonctionne car des machines sont déjà bannies (des bots étaient déjà en train d'attaquer nos machines).
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 ===
=== 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).
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).
</code>

Version actuelle datée du 6 mars 2025 à 20:54

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).