Wiki » Historique » Version 1
sacha, 25/12/2022 23:44
1 | 1 | sacha | # DNS récursif Ouvert DoH DoT & HA |
---|---|---|---|
2 | |||
3 | Aquilenet propose deux serveurs DNS ouverts cf https://www.aquilenet.fr/services/dns/ |
||
4 | On a mis DNS ouvert aussi sur l'IP 45.67.81.23 car facile à retenir, c'est l'adresse de dns.aquilenet.fr (voir [http://dns.aquilenet.fr](http://dns.aquilenet.fr)) . Nous en avons profité pour ajouter DoH et DoT et d'avoir cette adresse en IP Virtuelle partagée entre Gaia et Hades. |
||
5 | |||
6 | |||
7 | ## Apache2 |
||
8 | |||
9 | * /etc/apache2/sites-enabled/dns.aquilenet.fr.conf |
||
10 | ~~~ |
||
11 | <VirtualHost *:80> |
||
12 | ServerAdmin webmaster@aquilenet.fr |
||
13 | ServerName dns.aquilenet.fr |
||
14 | DocumentRoot /srv/www/dns.aquilenet.fr |
||
15 | |||
16 | ErrorLog ${APACHE_LOG_DIR}/dns.aqln.error.log |
||
17 | LogLevel warn |
||
18 | CustomLog ${APACHE_LOG_DIR}/dns.aqln.access.log combined |
||
19 | |||
20 | Alias /.well-known/acme-challenge /srv/letsencrypt/challenges/dns.aquilenet.fr |
||
21 | <Directory /srv/letsencrypt/challenges/dns.aquilenet.fr> |
||
22 | Require all granted |
||
23 | </Directory> |
||
24 | <Directory /> |
||
25 | Options FollowSymLinks |
||
26 | AllowOverride None |
||
27 | Require all granted |
||
28 | </Directory> |
||
29 | </VirtualHost> |
||
30 | ~~~ |
||
31 | |||
32 | ## Génération du certificat SSL |
||
33 | |||
34 | ~~~ |
||
35 | certbot --apache --agree-tos --email sysop@aquilenet.fr -d dns.aquilenet.fr |
||
36 | chgrp bind /etc/letsencrypt/live/dns.aquilenet.fr/privkey.pem |
||
37 | chmod 0640 /etc/letsencrypt/live/dns.aquilenet.fr/privkey.pem |
||
38 | openssl dhparam -out /etc/bind/dhparam.pem 4096 |
||
39 | ~~~ |
||
40 | |||
41 | Copie du certificat sur gaia |
||
42 | |||
43 | * /etc/letsencrypt/renewal-hooks/post/sync-cert.sh |
||
44 | ~~~ |
||
45 | #!/bin/bash |
||
46 | rsync -aPHSA /etc/letsencrypt/archive/dns.aquilenet.fr gaia:/etc/letsencrypt/archive/ |
||
47 | ~~~ |
||
48 | |||
49 | ## Bind9 |
||
50 | |||
51 | BIND 9.17.10 implémente DoH, au jour de l'installation il n'est disponible que dans les backports bullseye (A changer quand il sera dans main). |
||
52 | |||
53 | * /etc/bind/named.conf.options |
||
54 | |||
55 | Dans la catégorie "options {" |
||
56 | ~~~ |
||
57 | listen-on-v6 { 2a0c:e300::101; }; |
||
58 | listen-on { 185.233.100.101; 45.67.81.23; }; |
||
59 | # DOH |
||
60 | listen-on port 443 tls local-tls http default { 45.67.81.23; }; |
||
61 | # DoT |
||
62 | listen-on port 853 tls local-tls { 45.67.81.23; }; |
||
63 | recursion yes; |
||
64 | dnssec-validation auto; |
||
65 | ~~~ |
||
66 | |||
67 | ~~~ |
||
68 | # DoH DoT |
||
69 | tls local-tls { |
||
70 | key-file "/etc/letsencrypt/live/dns.aquilenet.fr/privkey.pem"; |
||
71 | cert-file "/etc/letsencrypt/live/dns.aquilenet.fr/fullchain.pem"; |
||
72 | dhparam-file "/etc/bind/dhparam.pem"; |
||
73 | protocols { TLSv1.2; TLSv1.3; }; |
||
74 | ciphers "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256"; |
||
75 | prefer-server-ciphers yes; |
||
76 | session-tickets no; |
||
77 | }; |
||
78 | ~~~ |
||
79 | |||
80 | * /etc/apparmor.d/local/usr.sbin.named |
||
81 | |||
82 | ~~~ |
||
83 | /etc/letsencrypt/** r, |
||
84 | ~~~ |
||
85 | `apparmor_parser -r /etc/apparmor.d/usr.sbin.named` |