ajout guide tsig et update-policy
This commit is contained in:
parent
4256c6c681
commit
dc7620b04f
54
HowtoBind.md
54
HowtoBind.md
|
@ -181,10 +181,10 @@ ftp CNAME ftp.example.net.
|
|||
### Options de configuration
|
||||
|
||||
* `allow-query` : spécifie les adresses autorisées à faire des requêtes DNS. Par défaut, toutes les adresses sont autorisées
|
||||
* `allow-transfer` : spécifie les adresses des serveurs replica autorisées à faire des requêtes AXFR (transfert de zone). Par défaut, toutes les adresses sont autorisées, il est impératif de restreindre les autorisations.
|
||||
* `allow-transfer` : spécifie les adresses des serveurs replica ou TSIGs autorisées à faire des requêtes AXFR (transfert de zone). Par défaut, toutes les adresses sont autorisées, il est impératif de restreindre les autorisations.
|
||||
* `allow-recursion` : spécifie les adresses autorisées à faire des requêtes DNS récursives. À restreindre impérativement également.
|
||||
* `allow-update` : spécifie les adresses autorisées à mettre à jour dynamiquement des informations dans leur zone. Par défaut, aucune adresse n'est autorisée.
|
||||
|
||||
* `allow-update` : spécifie les adresses ou TSIGs autorisées à mettre à jour dynamiquement des informations dans leur zone. Par défaut, aucune adresse n'est autorisée.
|
||||
* `update-policy` : spécifie finement les droit de modification des entrées pour les adresses ou TSIGs autorisées via une liste d'ACL, **Attention** : on ne peut pas définir à la fois `allow-update` et `update-policy`. voir [Configuration update-policy](/HowtoBind#configuration-update-policy)
|
||||
|
||||
## chroot
|
||||
|
||||
|
@ -376,6 +376,35 @@ $ rndc thaw domain.tld
|
|||
$ rndc reload domain.tld
|
||||
~~~
|
||||
|
||||
### Petit guide TSIG
|
||||
|
||||
On peut utiliser nsupdate, ou n'importe quel client, pour mettre à jour la zone en s'authentifiant avec une clef TSIG.
|
||||
Pour mettre celle-ci en place, il faut ...
|
||||
|
||||
Générer une clef TSIG avec tsig-keygen si disponible ou avec dnssec-keygen sinon
|
||||
|
||||
~~~
|
||||
tsig-keygen -a hmac-sha512 nomclef
|
||||
dnssec-keygen -a HMAC-SHA512 -b 512 -n HOST nomclef
|
||||
~~~
|
||||
|
||||
Ajouter celle-ci à la configuration de bind...
|
||||
~~~
|
||||
# vim /etc/bind/named.conf.tsigkeys
|
||||
|
||||
key "happydomain" {
|
||||
algorithm HMAC-SHA512;
|
||||
secret "3JtiVQEBFXtQeU/3PorKpCV7jM1bZEEzkdD1zb9emvwaBZFSgYxOXV41OdSeeHb5dcud+SvNo47jEf5yRwfSkQ==";
|
||||
};
|
||||
~~~
|
||||
|
||||
> Ne pas oublier d'inclure named.conf.tsigkeys dans `/etc/bind/named.conf`
|
||||
On peut maintenant recharger la configuration et vérifier que notre clef est bien présente:
|
||||
|
||||
~~~
|
||||
named-checkconf /etc/bind/named.conf && rndc reload
|
||||
rndc tsig-list
|
||||
~~~
|
||||
|
||||
## Reverse DNS
|
||||
|
||||
|
@ -679,5 +708,24 @@ if [ `date "+%Y%m%d%H"` -gt $serial ]; then serial=$(date "+%Y%m%d%H"); else ser
|
|||
sed -i "s/^\([ \t]*\)[0-9]\{10\}\([ \t]*; serial\)/\1$serial\2/" $zonefile
|
||||
~~~
|
||||
|
||||
### Configuration update-policy
|
||||
|
||||
Dans `update-policy`, les régles ACLs prennent la forme `( grant | deny ) identity ruletype name types`
|
||||
|
||||
> La première règle qui match un requête sera utilisé
|
||||
|
||||
* `identity` correspond à un fqdn ou le nom la clef TSIG
|
||||
* `name` le nom de l'entrée dans la zone
|
||||
* `types` le ou les types de l'entrée(s) dans la zone
|
||||
* `ruletype` est le type de règle utilisé, il en existe une vingtene de valeurs, les plus importantes sont (WIP)
|
||||
|
||||
**Les `ruletype`s pricipaux** :
|
||||
|
||||
* `name` la règle match exactement avec le nom de l'entrée `name`
|
||||
* `subdomain` match avec tous le sous-domaine et le domaine de l'entrée `name`
|
||||
* `zonesub` match tous les sous-domaines de la zone contenant la configuration, il ne faut pas préciser d'entrée `name`
|
||||
* `wildcard` match toute les [expansions wildcard](https://en.wikipedia.org/wiki/Wildcard_DNS_record) valides de l'entrée `name`
|
||||
* `self` permet de faire correspondre `identity` directement avec le nom d'une entrée, il ne faut pas préciser d'entrée `name` ou sinon y mettre `.` ou la même valeur que `identity`. On peut aussi mettre directement `*` pour `identity` si le nom est bien le même que celui d'une entrée (cela permet de matcher automatiquement les clefs avec les noms d'entrées)
|
||||
* `selfsub` fonctionne comme self *et* permet de mettre à jour aussi les sous-domaine du nom d'une entrée
|
||||
* `selfwild` fonctionne comme self *mais* permet de mettre à jour *uniquement* les sous-domaine du nom d'une entrée
|
||||
* Liste complète: https://bind9.readthedocs.io/en/v9_18_2/reference.html#dynamic-update-policies
|
||||
|
|
Loading…
Reference in a new issue