TP4 : sécurisation du DNS public - PasRP-Theo/Admin-II GitHub Wiki
- Théo Mertens
- Baris Ozcelik
Organisation du VPS :
- Le projet est stocké dans le home de l'utilisateur
shared
:~/dns
- Le dossier
~/dns/config_file
contient les fichiers de configuration du DNS
- Le dépôt GitHub contient uniquement le dossier
DNS
, reprenant la même structure que sur le VPS.
- La configuration du service DNS est gérée via
named.conf
et les fichiers de zone. - Déploiement via Docker et
docker-compose.yml
.
l2-2.ephec-ti.be
- Observations et conclusions sur le comportement pré-défini de Bind.
Instructions utilisées :
- Interdiction de la récursion et mise en cache :
allow-query-cache { none; }; recursion no;
- Accepter les requêtes depuis tout l’Internet :
allow-query { any; };
- Définition du serveur en tant que maître :
type master; file "/etc/bind/zones/l2-3.zone"; allow-transfer { none; };
Pourquoi interdit-on la récursion ?
- Pour éviter que le serveur soit utilisé comme résolveur public, renforçant ainsi la sécurité.
Doit-on configurer une zone inverse ?
- Non, OVH s’en occupe déjà.
options {
directory "/var/cache/bind";
version "not currently available";
recursion no; // interdit la récuirsion
allow-query-cache { none; }; // interdit la mise en cache
allow-query { any; }; // Permet les requêtes depuis n'importe où
};
zone "l2-2.ephec-ti.be." { // Définition du serveur en tant que maître de la zone
type master;
file "/etc/bind/l2-2.zone";
allow-transfer {
none;
};
};
$ORIGIN l2-2.ephec-ti.be.
$TTL 3600
@ IN SOA ns.l2-2.ephec-ti.be. hostmaster.l2-2.ephec-ti.be. (
2025040801 ; Serial
21600 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)
@ IN NS ns.l2-2.ephec-ti.be.
ns IN A 54.36.181.144
www IN CNAME ns
docker run \
-d \
--name=dns \
-p 53:53/udp \
-p 53:53/tcp \
--mount type=bind,source=/home/groupe_admin/dns/configFile/named.conf,target=/etc/bind/named.conf \
--mount type=bind,source=/home/groupe_admin/dns/configFile/l2-2.zone,target=/etc/bind/l2-2.zone \
internetsystemsconsortium/bind9:9.18
-
Commandes utilisées :
dig @localhost www.l2-2.ephec-ti.be
-
Logs accessibles via :
docker logs dns
Dockerfile :
FROM internetsystemsconsortium/bind9:9.18
ADD configFile/named.conf /etc/bind/named.conf
ADD configFile/l2-2.zone /etc/bind/l2-2.zone
RUN chown -R bind:bind /etc/bind/
CMD ["/usr/sbin/named", "-g", "-c", "/etc/bind/named.conf", "-u", "bind"]
-
Validation de l’image : via
zonemaster
Resource Records à transférer à la zone parente :
l2-2 IN NS ns1.l2-2.ephec-ti.be.
ns1.l2-2 IN A 54.36.181.95
Vérification avec dig
:

Lien vers la validation Zonemaster :
[Zonemaster Report](https://www.zonemaster.net/fr/result/d33de3071e6159e1)
Analyse des résultats
- Explication des tests effectués.
- Points d’amélioration et captures d’écran des tests avant/après modifications.
- Documentation des modifications effectuées.
- Observation des changements après redémarrage du serveur.
Commande de génération du record DS :
dnssec-dsfromkey -2 <zonekey>.key
Record DS généré :
l2-3.ephec-ti.be. IN DS 64472 13 2 14CD84D0889884FC57941D1B96F4DFA50009ABF34CE64A2B09C2D6DD2CB40C37
- Validation avec les outils recommandés.
- Analyse des résultats.
- Explication des options Bind permettant de contrôler la validation DNSSEC.
Si des fonctionnalités bonus ont été mises en place, elles sont documentées ici.