DNS
installation | ||
sudo apt-get install bind9 |
sudo nano named.conf | ||
---|---|---|
zone "<nom de la zone>" { }: | permet de définir une zone | |
type master; | indique si vous êtes master ou slave sur la zone, c'est-à-dire si c'est vous qui effectuez les mises à jour (master) ou si vous les recevez d'un autre serveur (slave). | |
file "/etc/bind/db.reseau.fr"; | indique le fichier dans lequel sera configurée votre zone. | file "/etc/bind/db.reseau.fr"; |
allow-transfer { 192.168.0.2; }; | allow-transfer { 192.168.0.2; }; | |
exemple | zone "domotrix.fr" { type master; file "/etc/bind/db.domotrix.fr"; allow-transfer { 192.168.0.2; }; }; |
|
vérifier la configuration | named-checkconf /etc/bind/named.conf | |
vérifier une zone | named-checkzone domotrix.fr /etc/bind/zones/db.domotrix.fr |
fichier de domaine (cp /etc/bind/db.local /etc/bind/db.reseau.fr) | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
TTL 604800 ; 1 semaine | time to leave | le temps pendant lequel le client auras l'information | ||||||||||
$ORIGIN reseau.fr. | défini la variable @ | |||||||||||
lenregistrement soa | @ IN SOA user.domaine. admin.domaine. ( 2020082203 ; Serial 86400 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ; Negative Cache TTL ); | |||||||||||
serial | peut être comparé à un numéro de version de votre zone. Il doit être incrémenté à chaque modification. Cela indique à votre serveur que votre zone a été mise à jour et qu'il faut envoyer la notification à vos serveurs esclaves. Les best practices recommandent une syntaxe particulière pour le serial de la forme AAAAMMJJXX (où XX est la version du jour en question). Cela vous permet entre autres de savoir la date de la dernière mise à jour de votre zone. | |||||||||||
Refresh | est le temps au bout duquel les enregistrements sont stockés sur le serveur slave. Passer ce délai, le serveur slave demandera une nouvelle mise à jour au serveur master. | |||||||||||
Retry | est le temps qu'attendra le serveur slave dans le cas où le serveur master contacté n'est pas joignable pour faire un nouvel essai. | |||||||||||
Expire | est le temps pendant lequel le serveur slave continuera à essayer de contacter le serveur master. | |||||||||||
Minimum | est la durée minimale du cache ; elle est en général égale à Refresh. | |||||||||||
named-checkconf -z | permet de checker toutes les configurations | |||||||||||
contruction d'un enregistrement |
|
Troubleshooting | |||||
---|---|---|---|---|---|
host -t MX ndd.com | pour vérifier la bonne configuration mail |
les enregistrement dns | |||||
---|---|---|---|---|---|
enregistrement | code IANA | RFC | statut | signification | fonctions |
A | 1 | RFC 1035 | actif | Address IPV4 | Renvoie une ou plusieurs adresse(s) IPv4 pour un nom de host donné. |
AAAA | 28 | RFC 3596 | actif | Adresse IPv6 | Renvoie une ou plusieurs adresse(s) IPv6 pour un nom de domaine donné. |
NS | 2 | RFC 1035 | actif | Name Server | Délègue la gestion d'une zone à un serveur de nom faisant autorité |
AFSDB | 18 | RFC 1183 | actif | ||
AXFR | 252 | RFC 1035 RFC 5936 | actif | Transfert de zone | |
MD | 3 | RFC 1035 | OBSOLÈTE | ||
MF | 4 | RFC 1035 | OBSOLÈTE | ||
CNAME | 5 | RFC 1035 | actif Canonical NAME | Permet de réaliser un alias (un raccourci) d'un host vers un autre. | |
SOA | 6 | RFC 1035 | actif | Start Of Authority | Définit le serveur maitre du domaine. |
MB | 7 | RFC 1035 | EXPÉRIMENTAL | ||
MG | 8 | RFC 1035 | EXPÉRIMENTAL | ||
MR | 9 | RFC 1035 | EXPÉRIMENTAL | ||
NULL | 10 | RFC 1035 | EXPÉRIMENTAL | ||
WKS | 11 | RFC 1035 actif | Well | Known Service | |
PTR | 12 | RFC 1035 actif | Pointer | Réalise l'inverse de l'enregistrement A ou AAAA, donne un nom de host (FQDN) pour une adresse IP. | |
HINFO | 13 | RFC 1035 actif | Host information | Permet de spécifier le type de CPU (processeur) et le système d'exploitation de l'hôte concerné. | |
MINFO | 14 | RFC 1035 actif | Mail Information | Indique l'adresse mail du responsable du domaine mail ainsi que l'adresse à contacter en cas d'erreur. | |
MX | 15 | RFC 1035 actif | MX record | Définit le nom du serveur de courrier du domaine | |
TXT | 16 | RFC 1035 actif | Texte | Une chaîne de caractères. | |
RP | 17 | RFC 1183 actif | Responsible Person | Définit une personne responsable du serveur (il y a toujours un champ TXT lorsqu'il y a un champ RP). | |
X25 | 19 | RFC 1183 actif | |||
ISDN | 20 | RFC 1183 actif | |||
RT | 21 | RFC 1183 actif | |||
NSAP | 22 | RFC 1706 actif | |||
NSAP-PTR | 23 | RFC 1348 | actif | ||
SIG | 24 | RFC 4034 RFC 3755 RFC 2535 | actif | DNSSEC | |
KEY | 25 | RFC 4034 RFC 3755 RFC 2535 | actif | DNSSEC | |
PX | 26 | RFC 2163 | actif | ||
GPOS | 27 | RFC 1712 | actif | ||
LOC | 29 | RFC 1876 | actif | Localisation géographique | |
NXT | 30 | RFC 3755 RFC 2535 OBSOLÈTE | |||
EID | 31 | Patton | actif | ||
NIMLOC | 32 | Patton | actif | ||
SRV | 33 | RFC 2782 | actif | SRV record | Permet de définir un serveur spécifique pour une application, notamment pour la répartition de charge. |
ATMA | 34 | ATMDOC actif | |||
NAPTR | 35 | RFC 2915 RFC 2168 RFC 3403 | actif | ||
KX | 36 | RFC 2230 | actif | ||
CERT | 37 | RFC 4398 | actif | ||
A6 | 38 | RFC 6563 RFC 3226 RFC 2874 HISTORIQUE | Adresse IPv6 | ||
DNAME | 39 | RFC 2672 | actif | Delegation Name | Alias pour un nom et tous ses sous-noms |
SINK | 40 | Eastlake | actif | ||
OPT | 41 | RFC 2671 | actif | EDNS | Extensions DNS comme l'augmentation de la taille des paquets. |
APL | 42 | RFC 3123 | actif | ||
DS | 43 | RFC 4034 RFC 3658 | actif | DNSSEC | |
SSHFP | 44 | RFC 4255 | actif | ||
IPSECKEY | 45 | RFC 4025 | actif | ||
RRSIG | 46 | RFC 4034 RFC 3755 | actif | DNSSEC | "Resource Record Signature" contient la signature numérique d'un RRset. |
NSEC | 47 | RFC 4034 RFC 3755 | actif | DNSSEC | |
DNSKEY | 48 | RFC 4034 RFC 3755 | actif | DNSSEC | Contient la clé publique utilisée pour signée un RRSIG |
DHCID | 49 | RFC 4701 | actif | ||
NSEC3 | 50 | RFC 5155 | actif | DNSSEC | |
NSEC3PARAM | 51 | RFC 5155 | actif | DNSSEC | |
HIP | 55 | RFC 5205 | actif | Host Identity Protocol | |
NINFO | 56 | Reid | actif | ||
RKEY | 57 | Reid | actif | ||
TALINK | 58 | Wijngaards | actif | ||
SPF | 99 | RFC 7208 | OBSOLÈTE | Le code 99 est obsolète. Le SPF doit être entré dans le champ TXT. Voir RFC7208, section 3.1 | |
UINFO | 100 | IANA-Reserved | actif | ||
UID | 101 | IANA-Reserved | actif | ||
GID | 102 | IANA-Reserved | actif | ||
UNSPEC | 103 | IANA-Reserved | actif | ||
TKEY | 249 | RFC 2930 | actif | ||
TLSA | 52 | RFC 6698 | actif | TLSA certificate association | Un enregistrement pour l'authentification d'entités nommées basée sur DNS (DANE). |
TSIG | 250 | RFC 2845 | actif | ||
IXFR | 251 | RFC 1995 | actif | ||
MAILB | 253 | RFC 1035 | OBSOLÈTE | ||
MAILA | 254 | RFC 1035 | OBSOLÈTE | ||
* | 255 | RFC 1035 | actif | ||
CAA | 257 | RFC 6844 | actif | DNS Certification Authority Authorization | Permet d'indiquer aux autorités de certification quelles sont celles autorisées à certifier le domaine. |
TA | 32768 | Weiler 2 | actif | ||
DLV | 32769 | RFC 4431 | actif | DNSSEC Lookaside Validation | |
Private use | 65280-65534 |
Protection de Bind9 | |||||
---|---|---|---|---|---|
on commence par crée une zone | /etc/bind/zones/blackhole.zone | ||||
que l'on remplie | $TTL 6h @ IN SOA ns.home.lan. hostmaster.home.lan. ( 2015060501 10800 3600 604800 86400 ) @ NS ns.home.lan. ; Resolve domain and wildcard subdomains @ IN A 0.0.0.0 * IN A 0.0.0.0 | ||||
la mise à jour | wget -O - https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts | grep '^0.0.0.0' | tr "[A-Z]" "[a-z]" | awk '!a[$0]++' | awk '{print "zone \""$2"\" { type master; notify no; file \"/etc/bind/zones/blackhole.zone\"; };"}' > /etc/bind/zones/adware-plus-malware.zones | ||||
on inclue ce fichier dans /etc/bind/named.conf en rajoutant la ligne | include "/etc/bind/zones/adware-plus-malware.zones"; | ||||
/!\ il peut y avoir un problème avec les nom de domaine contenant des _ "underscores" | cat -n /etc/bind/zones/adware-plus-malware.zones |grep _ | ||||
interdire l'utilisation de bind comme serveur relais (/etc/bind/named.conf.options) | allow-recursion { 127.0.0.1;}; | ||||
interdire l'utilisation du cache (/etc/bind/named.conf.options) | allow-query-cache { 127.0.0.1;}; |
Le champ spf | |||||
---|---|---|---|---|---|
Le champ spf est un champ texte exemple: | domotrix.fr. IN TXT "v=spf1 ip4:176.143.135.147 -all" | ||||
v=spf1 | indique la version de SPF utilisée. | ||||
a | autorise l’envoi depuis toutes les adresses IP répertoriées dans l’enregistrement A de votre zone DNS (c’est à dire celles de vos serveurs Web). | ||||
mx | autorise l’envoi depuis toutes les adresses IP répertoriées dans l’enregistrement MX de votre zone DNS (c’est à dire celles de vos serveurs de courrier). | ||||
all | considère les envois par d’autres serveurs que ceux listés comme potentiellement illégitimes | ||||
-all | n’autorise strictement aucun envoi autrement que par l’un des éléments listés (échec grave : à n’utiliser que si vous êtes sûr de votre paramétrage) | ||||
~all | considère les envois par d’autres serveurs comme potentiellement illégitimes (échec non grave). | ||||
?all | signale qu’il existe des serveurs supplémentaires qui peuvent faire des envois. | ||||
ip4:xxx.xxx.xxx.xxx | autorise l’envoi à partir d’un serveur ayant l’adresse IPv4 mentionnée. | ||||
ip6:xxxx:xxx:x:xxxx:x:x:xxxx:xxxx | autorise l’envoi à partir d’un serveur ayant l’adresse IPv6 mentionnée. | ||||
ptr | autorise les serveurs associés à votre nom de domaine. | ||||
ptr:domotrix.fr | autorise les serveurs associés au nom de domaine bidule.fr. | ||||
include:domotrix.fr | ajoute les autorisations spécifiées dans le champ SPF du domaine bidule.fr. | ||||
Gestion des DNS | |||||
---|---|---|---|---|---|
````.....`` ```````` ` `` `..`:+++o+///::::------------.` ````` ``` ` .-..-:--..-::-/://:` ````-------------` ``` `....----.` ` `.---...`` ``..`.::/oso++.-/+--++o+oo:. `.---------..` ``` `` `.``..------------------.```.....````` `..+syyyyyyysssosssoosso++oso+++oy/:+-`-/ss+- `------.``` `.----.-..`````....-----..------------------------------------------..`` ```.:+syyyyyyyyyyyyyyyysoyyyyyyyyyso//+:`.-:so/.` `---.` `..` `.--.`.--.-..--------- ---------------------------------------``` :oosso++:/ooosyyyyyyyyysoyyyyyyy+-` `.+ss:.-` `.` `----. `--..------------ RIPE NCC -------------------------------.```--..` `.-:.` --yyyyyyyyyyyyyyyyyy:.` `+yyysoy. `` .`.-` `.-.------------- --------------------------` `-.` ``/yyyyyyyyyyyyyoyyyyyys:`+syyyyyyy+: ```-` ``..`...-------------------------------------::--------://:---.``` .-. -/yyyyy yyyyyyooyyyysooooo/ ```..`..---------------------------------------::+/:os+:/:::/:oddy+::----`` ` :/sssss ARIN +/-+yyyyyysoo:.`-+/ `.-------------------..---------------------/syhdhdddddhyhdyyhdddhyoo:-.`` -syyyyyy o//./osyss+:/:. `----.-.`.-----.`````.---. .---.---------:+ddddhhhdddddddhhhdddddddh:-` -. /yyyyyyyyyyyyyyyyyy+s+/ssso/` `-----. ``.```..-..``.```.--.` `.-------.--:/ydddddddhhhhhhhhdddddhhdhy.` :/` .yyyyyyyyyyyyyyyyyyyyyyys/. `----` `` `` `.` .--------.-. .---------:sdddddddddddddddddddddh:--/o- .s` `yyyyyyyyyyyyyyyyyyyyyyy: .-.-:/++/: ````-------------:+yhhyyyyhddddddddd dddo` `o: ..sy. -ssyyyyyyyyyyyyyyyyyo:` `/+o++oooo+/:-` `:.`` ` `-------------+dddhydhhdsdddddddd APNIC ddddo` `/.` /-syyysyyyyo++/::/s. `:++oooooooo+ooo+/oo+o+o/:-------`.-----ohhdddhdddyhhhdddd dddddo ./.yhyyhy+` +. `:/+++oooooooo+ooooooo+oooo:`-------``...--oyhdhddddddhhyoyhhyyhdddddddddd+ .`.oyyhs` ``.` /++oo+o+oooooo++o+oooo+ooooo-`-------..-.` `:yhddddddddoo+ydyydhhhdddys/`: ` /yhhy. -o- `.-``.` .o+ooo+ooo++oooooo+oooo+oooooo.`.---------` ..hdddddh/```oddhshyo./-` -/oyo+oo/`` ` `.` `ooooo+ooooo+ o+oooooo/. .-----..` +dddho. `oyyhhyo-. -/ ``.:++ss` -+++oooo+++++ AFRINIC +oooooo+++:.--.`` `odm/ ``:hhhyy/ .:` `:o` .:-/-...` `-++++++++++o +oooooo+ooo:..--. `ym- /./yo/ `.. ..-.:yyoyyyyy/- -+++oo+o//oooo+++o+oo+oooo+ooooo+++/` .:-/ /. .` ` `:/ APNIC `oyhyysyyyos++/. `-::-:-``-//+oo+o+o++++ooo+oooooo/` `. .:./+` `-o. `. `:yyyyyssoyysssss- /+++/+oooooo+++oo+o+-` -o+s. .:syh.``` ` ` /yysyysyyyyyyyyhs+::.` `+o+o+oooooo+:-+oo+-` .sy:` /hdds.:-` ```:.`.` /syyyssyyyyyyyyyyyyhssoo:` ./++oooooo+/++o++. `oh:``-:+../: ``` .-+hyo+-` `` -yhysyhy yyyyyyyyhy. `/++++oooo/oooo/ .-:-:. `` -yhyy+``` ` .shyssy LACNIC yyyyyyyyy+` /oooo+oo+++/+o+` `````` .` `-` :-` `` `yhyys yyyyyyhy: `+oooo+++++o/:oo- `- ` -syo` `o. `:osshyhysshyyyyyyyyh. -ooooo+oo++++/o+. .:+: .odyhddy:`:dy` ` .syyhsyoyhyyyyyyhs` -ooo+++++oo++/` :oo` `-oddddddddddddd/ ` sssssyssyyyyhys+. -ooo+ooo+++o- `+o- -ohddddddddddddddddd/ ` osyyyyyysoyho` `oo++ooooo/:` `:- `sdddddddddddddddddddd/ osyyyyysoyyy: -++ooooo+. `sdddddddddddddddddddd: /yhyyyysosy- -ooooo/. `sddddhysosdddddddddh/ -yyyyyyso+- `:---` .s+::-`` `//dddddh/` ` :yyyyhys+` `yyyso- -/` .oyyys/`` .:.` `.`/-` .oyhs` `:` `--:-. `+syo. ./. .+ys. `-:-` ` `.` |