Auteur Sujet: génération de ptr IPV6 à la volée avec le AAAA associé  (Lu 1284 fois)

0 Membres et 1 Invité sur ce sujet

jeremyp3

  • Abonné Orange Fibre
  • *
  • Messages: 717
  • Pau (64)
génération de ptr IPV6 à la volée avec le AAAA associé
« le: 23 juillet 2023 à 20:36:38 »
Bonjour,

Disposant d'un bloque IPV6, j'aimerai pouvoir générer un PTR  à la volé en fonction de l'ipv6 fourni au dns, un peu comme le fait SFR pour ses IP.
 
par exemple:
$ dig +short -x 2a02:842b:9999:8888:ddff:ef65:cb45:1
2a02-842b-9999-8888-ddff-ef65-cb45-0001.rev.sfr.net.

$ dig +short @nsrev00.dns.sfr.net 2a02-842b-9999-8888-ddff-ef65-cb45-0001.rev.sfr.net IN AAAA
2a02:842b:9999:8888:ddff:ef65:cb45:1

du coup on retrouve bien l'ip dans les deux sens,  mais je suppose que c'est fait à la volée, puisque n'importe quel IP résout.

après une petite recherche, j'ai trouver quelque chose qui fait 50% de ce que je cherche:
https://blog.veloc1ty.de/2019/08/29/creating-ipv6-ptr-on-the-fly/

il s'agit d'un plugin pour le serveur dns coredns, que je ne connaissais pas personnellement.

conaissez vous autre chose ayant cette possibilité ? j'utilise actuellement bind comme serveur dns pour mes ips.

Merci pour du pointage, si vous en avez.

cali

  • Officiel Ukrainian Resilient Data Network
  • Fédération FDN
  • *
  • Messages: 2 401
    • Ukrainian Resilient Data Network
génération de ptr IPV6 à la volée avec le AAAA associé
« Réponse #1 le: 23 juillet 2023 à 23:56:07 »
C'est une mauvaise idée car ça augmente l'exposition aux DoS.

Symbol

  • AS52075 Wifirst
  • Expert
  • *
  • Messages: 349
génération de ptr IPV6 à la volée avec le AAAA associé
« Réponse #2 le: 23 juillet 2023 à 23:59:03 »
Knot DNS, Synthrecord.
https://www.knot-dns.cz/docs/3.2/html/modules.html#synthrecord-automatic-forward-reverse-records

PowerDNS Authoritative, LUA reverse records
https://doc.powerdns.com/authoritative/lua-records/functions.html#reverse-dns-functions

Les clauses $GENERATE de BIND ne créent pas d'enregistrements à la volée, mais pré-génèrent les enregistrements en mémoire au démarrage (ce qui est très différent).

bolemo

  • AS2027 MilkyWan
  • Professionnel des télécoms
  • *
  • Messages: 1 623
  • Grandcamp Maisy (14)
génération de ptr IPV6 à la volée avec le AAAA associé
« Réponse #3 le: 24 juillet 2023 à 01:44:13 »
Avec bind, si tu autorise la mise-à-jour des records via nsupdate, tu peux faire un script maison de ce genre (lancé par un cron job régulièrement) :
#!/bin/sh

DUF='/tmp/rdns6.dnsupdate'
DUF2='/tmp/rdns6.dnsupdate2'
DB='/opt/bolemo/var/rdns6.db'
DBT='/tmp/rdns6.dbtmp'

touch $DB
rm -f $DBT

:> $DUF
:> $DUF2
#echo 'debug' >> $DUF
#echo 'debug' >> $DUF2

echo 'server ns.tondomaine.com' >> $DUF
echo 'server ns1.tondomaine.com' >> $DUF2

ip -6 neigh | awk '
  BEGIN {
    while ((getline dbl < "'$DB'") > 0) l[dbl]=1
    close ("'$DB'")
    chg=0
  }
  index($1,"prefixeipv6")==1 {if (l[$1]==1) {l[$1]=2} else {l[$1]=3}}
  END {
    for (ip in l) {
      "ipv6calc -qa " ip | getline arpa
      "echo \""ip"\" | md5sum - | cut -f1 -d\" \"" | getline ptr
      if (l[ip]==1) {
        printf ("update delete %s PTR\n",arpa) >> "'$DUF'"
        printf ("update delete %s.rev.tondomaine.com AAAA\n",ptr) >> "'$DUF2'"
        printf ("DELETING %s %s\n",ptr,arpa)
        chg=1
        continue
      }
      if (l[ip]==3) {
        printf ("update add %s 120 PTR %s.rev.tondomaine.com\n",arpa, ptr) >> "'$DUF'"
        printf ("update add %s.rev.tondomaine.com 120 AAAA %s\n",ptr,ip) >> "'$DUF2'"
        printf ("ADDING %s %s\n",ptr,arpa)
        chg=1
      } else {
        printf ("KEEPING %s %s\n",ptr,arpa)
      }
      print ip >> "'$DBT'"
    }
    if (chg==1) system("touch '$DBT'")
  }
'

echo 'send' >> $DUF
echo 'send' >> $DUF2

if [ -e "$DBT" ]; then
  cat $DUF
  nsupdate $DUF
  cat $DUF2
  nsupdate $DUF2
  [ -s $DBT ] && mv -f $DBT $DB || rm -f $DBT
fi

rm -rf $DUF
rm -rf $DUF2

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
génération de ptr IPV6 à la volée avec le AAAA associé
« Réponse #4 le: 24 juillet 2023 à 09:53:53 »
C'est une mauvaise idée car ça augmente l'exposition aux DoS.

t'as un exemple ?

si c'est toujours dynamique, sans caching, ca ne peut saturer la mémoire du serveur dns d'origine.

Apres si tu pense a de l'attaque par amplification, le taux de croissance entre la taille de la requête (l'ipv6 litéral) et la taille de la réponse (le reverse) ne me semble pas assez grand pour justifier son utilisation.