PowerDNS Recursor 4.2 және DNS жалауша күні 2020 бастамасының шығарылымы

Бір жарым жылдан кейін даму ұсынылды кэштеу DNS серверін шығару PowerDNS ресурсы 4.2, рекурсивті атауды түрлендіруге жауапты. PowerDNS рекурсоры PowerDNS өкілетті серверімен бірдей код базасында құрастырылған, бірақ PowerDNS рекурсивті және беделді DNS серверлері әртүрлі әзірлеу циклдері арқылы әзірленеді және бөлек өнімдер ретінде шығарылады. Жоба коды таралады GPLv2 бойынша лицензияланған.

Жаңа нұсқа EDNS жалаушалары бар DNS пакеттерін өңдеуге қатысты барлық мәселелерді жояды. PowerDNS Recursor бағдарламасының 2016 жылға дейінгі ескі нұсқаларында ескі форматта жауап жібермей, қолдау көрсетілмейтін EDNS жалаушалары бар пакеттерді елемеу, спецификация талап ететіндей EDNS жалаушаларын алып тастау тәжірибесі болған. Бұрын бұл стандартты емес әрекетке BIND жүйесінде уақытша шешім түрінде қолдау көрсетілді, бірақ орындалған ақпандағы бастамалар DNS жалауы күні, DNS серверінің әзірлеушілері бұл бұзудан бас тартуға шешім қабылдады.

PowerDNS жүйесінде EDNS пакеттерін өңдеудегі негізгі мәселелер 2017 жылы 4.1 шығарылымында жойылды, ал 2016 жылы шығарылған 4.0 тармағында белгілі бір жағдайларда туындайтын және жалпы қалыпты жағдайға кедергі келтірмейтін жеке үйлесімсіздіктер пайда болды. операция. PowerDNS Recursor 4.2 нұсқасындағы сияқты 9.14, EDNS жалаушалары бар сұрауларға қате жауап беретін беделді серверлерге қолдау көрсету үшін жойылған уақытша шешімдер. Осы уақытқа дейін, егер EDNS жалаулары бар сұрауды жібергеннен кейін белгілі бір уақыт кезеңінен кейін жауап болмаса, DNS сервері кеңейтілген жалаушаларға қолдау көрсетілмейді деп есептеп, EDNS жалаушалары жоқ екінші сұрау жіберді. Бұл әрекет енді өшірілді, себебі бұл код пакетті қайта жіберуге байланысты кідірістің артуына, желілік ақауларға байланысты жауап бермеу кезінде желі жүктемесінің жоғарылауына және екіұштылыққа әкелді және DDoS шабуылдарынан қорғау үшін DNS cookie файлдары сияқты EDNS негізіндегі мүмкіндіктерді іске асыруға жол бермеді.

Шараны келесі жылы өткізу туралы шешім қабылданды DNS жалауы күні 2020назар аударуға арналған шешім проблемалар үлкен DNS хабарламаларын өңдеу кезінде IP фрагментациясымен. Бастаманың бір бөлігі ретінде жоспарланған EDNS үшін ұсынылған буфер өлшемдерін 1200 байтқа дейін бекітіңіз және аудару TCP арқылы сұрауларды өңдеу серверлердегі міндетті мүмкіндік болып табылады. Енді UDP арқылы сұрауларды өңдеуге қолдау қажет және TCP қажет, бірақ жұмыс істеу үшін қажет емес (стандарт TCP өшіру мүмкіндігін талап етеді). Стандарттан TCP-ді өшіру опциясын алып тастау және белгіленген EDNS буферінің өлшемі жеткіліксіз болған жағдайда UDP арқылы сұрауларды жіберуден TCP-ді пайдалануға көшуді стандарттау ұсынылады.

Бастаманың бір бөлігі ретінде ұсынылатын өзгерістер EDNS буферінің өлшемін таңдаудағы шатасуды жояды және өңдеуі көбінесе клиент жағында пакеттің жоғалуына және күту уақытының аяқталуына әкелетін үлкен UDP хабарламаларының фрагментация мәселесін шешеді. Клиент жағында EDNS буферінің өлшемі тұрақты болады және үлкен жауаптар TCP арқылы клиентке бірден жіберіледі. UDP арқылы үлкен хабарларды жіберуден аулақ болу да блоктауға мүмкіндік береді шабуылдар фрагменттелген UDP пакеттерін манипуляциялауға негізделген DNS кэшін улану үшін (фрагменттерге бөлінген кезде екінші фрагмент идентификаторы бар тақырыпты қамтымайды, сондықтан оны жалған жасауға болады, ол үшін тек бақылау сомасының сәйкес келуі жеткілікті) .

PowerDNS Recursor 4.2 үлкен UDP пакеттерімен байланысты мәселелерді ескереді және бұрын қолданылған 1232 байт шектеуінің орнына 1680 байт EDNS буферінің өлшемін (edns-outgoing-bufsize) пайдалануға ауысады, бұл UDP пакеттерін жоғалту ықтималдығын айтарлықтай төмендетуі керек. . 1232 мәні таңдалды, себебі ол IPv6 ескере отырып, DNS жауабының өлшемі ең төменгі MTU мәніне (1280) сәйкес келетін максимум болып табылады. Клиентке жауаптарды кесуге жауап беретін қысқарту шегі параметрінің мәні де 1232-ге дейін төмендетілді.

PowerDNS Recursor 4.2 ішіндегі басқа өзгерістер:

  • Қосылған механизм қолдауы XPF (X-Proxied-For), X-Forwarded-For HTTP тақырыбының DNS баламасы болып табылады, бастапқы сұраушының IP мекенжайы мен порт нөмірі туралы ақпаратты аралық проксилер мен жүктеме теңгергіштері (мысалы, dnsdist) арқылы қайта жіберуге мүмкіндік береді. . XPF қосу үшін опциялар бар »xpf-рұқсат ету«Ал»xpf-rr-коды»;
  • EDNS кеңейтімі үшін жақсартылған қолдау Клиент ішкі желісі (ECS), ол сізге DNS сұрауларын беделді DNS серверіне тізбек бойынша жіберілген бастапқы сұрау уланған ішкі желі туралы ақпаратты жіберуге мүмкіндік береді (клиенттің бастапқы ішкі желісі туралы деректер мазмұнды жеткізу желілерінің тиімді жұмыс істеуі үшін қажет) . Жаңа шығарылым EDNS Client ішкі желісін пайдалануды таңдаулы басқаруға арналған параметрлерді қосады: «ecs-add-for» шығыс сұрауларында ECS жүйесінде IP пайдаланылатын желі маскаларының тізімімен. Көрсетілген маскаларға жатпайтын мекенжайлар үшін директивада көрсетілген жалпы мекенжай «ecs-scope-нөл-мекен-жайы«. директивасы арқылы»incoming-edns-ішкі желіні пайдаланыңыз» толтырылған ECS мәндері бар кіріс сұраулары ауыстырылмайтын ішкі желілерді анықтауға болады;
  • Секундына көптеген сұраныстарды өңдейтін серверлер үшін (100 мыңнан астам) директивасы «дистрибьютор-жіптер", ол кіріс сұрауларды қабылдауға және оларды жұмысшы ағындары арасында таратуға арналған ағындардың санын анықтайды (тек " пайдалану кезінде мағыналы болады.pdns-distributes-queries=иә»).
  • Қосылған параметр public-suffix-list-file көмегімен өз файлыңызды анықтау үшін жалпы жұрнақтардың тізімі PowerDNS Recursor ішіне енгізілген тізімнің орнына пайдаланушылар өздерінің ішкі домендерін тіркей алатын домендер.

PowerDNS жобасы сонымен қатар алты айлық әзірлеу цикліне көшуді жариялады, PowerDNS Recursor 4.3 келесі негізгі шығарылымы 2020 жылдың қаңтарында күтіледі. Маңызды шығарылымдарға арналған жаңартулар жыл бойы әзірленеді, содан кейін осалдықтарды түзетулер тағы алты айға шығарылады. Осылайша, PowerDNS Recursor 4.2 тармағын қолдау 2021 жылдың қаңтарына дейін жалғасады. Жақын арада 4.2 нұсқасын шығарады деп күтілетін PowerDNS өкілетті сервері үшін әзірлеу циклінің ұқсас өзгерістері жасалды.

PowerDNS рекурсорының негізгі мүмкіндіктері:

  • Қашықтан статистиканы жинауға арналған құралдар;
  • Лезде қайта іске қосу;
  • Lua тілінде өңдеушілерді қосуға арналған кіріктірілген қозғалтқыш;
  • Толық DNSSEC қолдауы және DNS64;
  • RPZ (Response Policy Zones) қолдауы және қара тізімдерді анықтау мүмкіндігі;
  • Спуфингке қарсы механизмдер;
  • Ажыратымдылық нәтижелерін BIND аймағы файлдары ретінде жазу мүмкіндігі.
  • Жоғары өнімділікті қамтамасыз ету үшін FreeBSD, Linux және Solaris (kqueue, epoll, /dev/poll) жүйелерінде заманауи қосылымды мультиплекстеу механизмдері, сонымен қатар ондаған мың параллельді сұрауларды өңдеуге қабілетті жоғары өнімді DNS пакеттік талдаушы қолданылады.

Ақпарат көзі: opennet.ru

пікір қалдыру