« Atelier SysRes SE4 2024/2025 E4 » : différence entre les versions
(→IP) |
Aucun résumé des modifications |
||
(3 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 30 : | Ligne 30 : | ||
[[File:Config interfaces.png|thumb|center|800px|/etc/interfaces d'une machine de service]] | [[File:Config interfaces.png|thumb|center|800px|/etc/interfaces d'une machine de service]] | ||
On | On peut ping entre les machines. | ||
[[File:Ping.png|thumb|center|800px|Ping entre mandataire et une machine de service]] | [[File:Ping.png|thumb|center|800px|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. | |||
</code> | Ensuite on peut renseigner ce port dans la commande ssh pour choisir la machine à laquelle on veut se connecter : | ||
<code>ssh -p i root@193.48.57.174</code> 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 <code>/etc/resolv.conf</code> on ajoute: | |||
<syntaxhighlight lang="shell"> | |||
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; }; | |||
}; | |||
</syntaxhighlight> | |||
Dans <code>/etc/bind/merci-macron.online.db</code> : | |||
<syntaxhighlight lang="shell"> | |||
$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 | |||
</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 | |||
;; 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 | |||
</syntaxhighlight> | |||
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. | |||
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. | |||
=== DNSSEC === | |||
Pour obtenir le DNSSEC, on ajoute dans <code>named.conf.local</code> : | |||
<syntaxhighlight lang="shell"> | |||
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; | |||
}; | |||
</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. | |||
=== Fail2Ban === | |||
Fail2Ban permet de protéger les machines des attaques. | |||
On l'installe avec ces options : | |||
<syntaxhighlight lang="shell"> | |||
[sshd] | |||
enabled = true | |||
port = ssh | |||
filter = sshd | |||
logpath = /var/log/auth.log | |||
maxretry = 3 | |||
bantime = 3600 | |||
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). | |||
=== 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). |
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
On modifie ensuite la configuration de l'interface des machines de service
On peut ping entre les machines.
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).