Π Π΅Π»ΠΈΠ· PowerDNS Recursor 4.2 ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π° DNS flag day 2020

ПослС ΠΏΠΎΠ»ΡƒΡ‚ΠΎΡ€Π° Π»Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прСдставлСн Ρ€Π΅Π»ΠΈΠ· ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡˆΠ΅Π³ΠΎ DNS-сСрвСра PowerDNS Recursor 4.2, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° рСкурсивноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΡ‘Π½. PowerDNS Recursor построСн Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ с PowerDNS Authoritative Server, Π½ΠΎ рСкурсивный ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹ΠΉ DNS-сСрвСры PowerDNS Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ€Π°Π·Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π²Ρ‹ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv2.

Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии устранСны всС замСчания, связанныС с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ DNS-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с Ρ„Π»Π°Π³Π°ΠΌΠΈ EDNS. Π’ старых вСрсиях PowerDNS Recursor Π΄ΠΎ 2016 Π³ΠΎΠ΄Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌΠΈ Ρ„Π»Π°Π³Π°ΠΌΠΈ EDNS, Π±Π΅Π· ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π° Π² старом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, отбрасывая Ρ„Π»Π°Π³ΠΈ EDNS, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ³ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ спСцификация. Π Π°Π½Π΅Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ нСстандартноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»ΠΎΡΡŒ Π² BIND Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°Π½Ρ‘Π²Ρ€Π°, Π½ΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΉ Π² Ρ„Π΅Π²Ρ€Π°Π»Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Ρ‹ DNS flag day, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ DNS-сСрвСров приняли Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ…Π°ΠΊΠ°.

Π’ PowerDNS основныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с EDNS Π±Ρ‹Π»ΠΈ устранСны Π΅Ρ‰Ρ‘ Π² 2017 Π³ΠΎΠ΄Ρƒ Π² выпускС 4.1, Π° Π² Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΉ Π² 2016 Π³ΠΎΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ΅ 4.0 всплывали ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ нСсовмСстимости, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌ стСчСнии ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π² ΠΈ Π² ΠΎΠ±Ρ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ Π½Π΅ ΠΌΠ΅ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅. Π’ PowerDNS Recursor 4.2, ΠΊΠ°ΠΊ ΠΈ Π² BIND 9.14, ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΠΎΠ±Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹Ρ… сСрвСров, Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π½Π° запросы с Ρ„Π»Π°Π³Π°ΠΌΠΈ EDNS. Π”ΠΎ сих ΠΏΠΎΡ€, Ссли послС ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ запроса с Ρ„Π»Π°Π³Π°ΠΌΠΈ EDNS Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π΅ поступал ΠΎΡ‚Π²Π΅Ρ‚, DNS-сСрвСр считал, Ρ‡Ρ‚ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Ρ„Π»Π°Π³ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈ отправлял ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ запрос Π±Π΅Π· Ρ„Π»Π°Π³ΠΎΠ² EDNS. ΠžΡ‚Π½Ρ‹Π½Π΅ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΈΠ·-Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° ΡΠ΅Ρ‚ΡŒ ΠΈ нСоднозначности ΠΏΡ€ΠΈ отсутствии ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΈΠ·-Π·Π° сСтСвых сбоСв, Π° Ρ‚Π°ΠΊΠΆΠ΅ мСшало Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΡŽ основанных Π½Π° EDNS возмоТностСй, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ DNS Cookies для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ DDoS-Π°Ρ‚Π°ΠΊ.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π³ΠΎΠ΄Ρƒ Ρ€Π΅ΡˆΠ΅Π½ΠΎ провСсти мСроприятиС DNS flag day 2020, ΠΏΡ€ΠΈΠ·Π²Π°Π½Π½ΠΎΠ΅ ΡΡ„ΠΎΠΊΡƒΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с IP-Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ DNS-сообщСний большого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Ρ‹ планируСтся Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² для EDNS Π΄ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ 1200 Π±Π°ΠΉΡ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ пСрСвСсти ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ запросов ΠΏΠΎ TCP Π² разряд ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π½Π° сСрвСрах. БСйчас ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов ΠΏΠΎ UDP, Π° TCP ΠΆΠ΅Π»Π°Ρ‚Π΅Π»Π΅Π½, Π½ΠΎ Π½Π΅ обязатСлСн для Ρ€Π°Π±ΠΎΡ‚Ρ‹ (стандарт прСдписываСт Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ возмоТности ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ TCP). ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ΡΡ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· стандарта ΠΎΠΏΡ†ΠΈΡŽ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ TCP ΠΈ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π·Π°ΠΏΡ€ΠΎcΠΎΠ² ΠΏΠΎ UDP ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ TCP Π² случаях, ΠΊΠΎΠ³Π΄Π° установлСнного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±ΡƒΡ„Π΅Ρ€Π° EDNS нСдостаточно.

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Ρ‹ измСнСния избавят ΠΎΡ‚ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹ с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±ΡƒΡ„Π΅Ρ€Π° EDNS ΠΈ Ρ€Π΅ΡˆΠ°Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… UDP-сообщСний, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°ΠΌ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. На сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΡ„Π΅Ρ€Π° EDNS Π±ΡƒΠ΄Π΅Ρ‚ постоянным, Π° большиС ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ сразу Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΠΏΠΎ TCP. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… сообщСний ΠΏΠΎ UDP Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ‚Π°ΠΊΠΈ ΠΏΠΎ ΠΎΡ‚Ρ€Π°Π²Π»Π΅Π½ΠΈΡŽ кэша DNS, основанныС Π½Π° манипуляции Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ UDP-ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ (ΠΏΡ€ΠΈ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΈ Π½Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹, Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ, поэтому ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Π»Π°Π½ для Ρ‡Π΅Π³ΠΎ достаточно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ совпадала ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ сумма).

Π’ PowerDNS Recursor 4.2 ΡƒΡ‡Ρ‚Π΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с большими UDP-ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ ΠΈ осущСствлён ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° использованиС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±ΡƒΡ„Π΅Ρ€Π° EDNS (edns-outgoing-bufsize) Π² 1232 Π±Π°ΠΉΡ‚, вмСсто Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ²ΡˆΠ΅Π³ΠΎΡΡ Π»ΠΈΠΌΠΈΡ‚Π° Π² 1680 Π±Π°ΠΉΡ‚, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ сущСствСнно ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ UDP-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1232 Π²Ρ‹Π±Ρ€Π°Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ являСтся максимумом, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ DNS-ΠΎΡ‚Π²Π΅Ρ‚Π° с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ IPv6 укладываСтся Π² минимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ MTU (1280). Π”ΠΎ 1232 Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° truncation-threshold, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π·Π° ΠΎΠ±Ρ€Π΅Π·Π°Π½ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ измСнСния Π² PowerDNS Recursor 4.2:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° XPF (X-Proxied-For), ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ собой эквивалСнт HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° X-Forwarded-For для DNS, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ свСдСния ΠΎΠ± IP-адрСсС ΠΈ Π½ΠΎΠΌΠ΅Ρ€Π΅ ΠΏΠΎΡ€Ρ‚Π° ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΎΡ€Π° запроса, ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ прокси ΠΈ балансировщики Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ dnsdist). Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ XPF прСдусмотрСны ΠΎΠΏΡ†ΠΈΠΈ «xpf-allow-from» ΠΈ «xpf-rr-code«;
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° EDNS-Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Client Subnet (ECS), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π² DNS-запросах Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΠΎΠΌΡƒ DNS-сСрвСру свСдСния ΠΎ подсСти, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π» ΠΎΡ‚Ρ€Π°Π²Π»Π΅Π½ транслируСмый ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ запрос (Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ± исходной подсСти ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСтСй доставки ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°). Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ настройки для Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎΠ³ΠΎ контроля Π·Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ EDNS Client Subnet: «ecs-add-for» со списком сСтСвых масок, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… IP Π±ΡƒΠ΄Π΅Ρ‚ использован Π² ECS Π² исходящих запросах. Для адрСсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ΄ΠΏΠ°Π΄Π°ΡŽΡ‚ ΠΏΠΎΠ΄ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ маски, Π±ΡƒΠ΄Π΅Ρ‚ использован ΠΎΠ±Ρ‰ΠΈΠΉ адрСс, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ «ecs-scope-zero-address«. Π§Π΅Ρ€Π΅Π· Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ «use-incoming-edns-subnet» ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ подсСти, входящиС запросы с Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΌΠΈ значСниями ECS ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ;
  • Для сСрвСров, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… большоС число запросов Π² сСкунду (Π±ΠΎΠ»Π΅Π΅ 100 тысяч), ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° «distributor-threads«, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ число ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² для ΠΏΡ€ΠΈΠ΅ΠΌΠ° входящих запросов ΠΈ ΠΈΡ… распрСдСлСния ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ (ΠΈΠΌΠ΅Π΅Ρ‚ смысл Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ использовании Ρ€Π΅ΠΆΠΈΠΌΠ° «pdns-distributes-queries=yes«).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° настройка public-suffix-list-file для опрСдСлСния собствСнного Ρ„Π°ΠΉΠ»Π° со списком ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… суффиксов Π΄ΠΎΠΌΠ΅Π½ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Ρ‹, вмСсто встроСнного Π² PowerDNS Recursor списка.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ PowerDNS Ρ‚Π°ΠΊΠΆΠ΅ объявил ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° ΡˆΠ΅ΡΡ‚ΠΈΠΌΠ΅ΡΡΡ‡Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π² соотвСтствии с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· PowerDNS Recursor 4.3 оТидаСтся Π² январС 2020 Π³ΠΎΠ΄Π°. ОбновлСния для Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… выпусков Π±ΡƒΠ΄ΡƒΡ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π³ΠΎΠ΄Π°, послС Ρ‡Π΅Π³ΠΎ Π΅Ρ‰Ρ‘ ΠΏΠΎΠ»Π³ΠΎΠ΄Π° Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ исправлСния уязвимостСй. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Π΅Ρ‚ΠΊΠΈ PowerDNS Recursor 4.2 продлится Π΄ΠΎ января 2021 Π³ΠΎΠ΄Π°. АналогичныС измСнСния Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ приняты для ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° PowerDNS Authoritative Server, выпуск 4.2 ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ оТидаСтся Π² блиТайшСС врСмя.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ особСнности PowerDNS Recursor:

  • БрСдства для ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ сбора статистики;
  • ΠœΠ³Π½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΉ пСрСзапуск;
  • ВстроСнный Π΄Π²ΠΈΠΆΠΎΠΊ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° языкС Lua;
  • ΠŸΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° DNSSEC ΠΈ DNS64;
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° RPZ (Response Policy Zones) ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ опрСдСлСния Ρ‡Ρ‘Ρ€Π½Ρ‹Ρ… списков;
  • ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π±ΠΎΡ€ΡŒΠ±Ρ‹ со спуфингом;
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ записи Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Ρ€Π΅Π·ΠΎΠ»Π²ΠΈΠ½Π³Π° Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π·ΠΎΠ½ BIND.
  • Для обСспСчСния высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ соврСмСнныС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ соСдинСний Π²ΠΎ FreeBSD, Linux ΠΈ Solaris (kqueue, epoll, /dev/poll), Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ парсСр DNS-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², способный ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ дСсятки тысяч ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°ΠΏΡ€ΠΎcΠΎΠ².

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru