DNS-over-TLS మరియు DNS-over-HTTPSకి మద్దతుతో BIND DNS సర్వర్ 9.18.0 విడుదల

రెండు సంవత్సరాల అభివృద్ధి తర్వాత, ISC కన్సార్టియం BIND 9.18 DNS సర్వర్ యొక్క ప్రధాన కొత్త శాఖ యొక్క మొదటి స్థిరమైన విడుదలను విడుదల చేసింది. పొడిగించిన మద్దతు చక్రంలో భాగంగా 9.18 2వ త్రైమాసికం వరకు శాఖ 2025కి మూడు సంవత్సరాల పాటు మద్దతు అందించబడుతుంది. 9.11 బ్రాంచ్‌కు మద్దతు మార్చిలో ముగుస్తుంది మరియు 9.16 బ్రాంచ్‌కు 2023 మధ్యలో మద్దతు ఉంటుంది. BIND యొక్క తదుపరి స్థిరమైన సంస్కరణ యొక్క కార్యాచరణను అభివృద్ధి చేయడానికి, ఒక ప్రయోగాత్మక శాఖ BIND 9.19.0 రూపొందించబడింది.

BIND 9.18.0 విడుదల, HTTPS ద్వారా DNS (DoH, DNS ఓవర్ HTTPS) మరియు DNS ద్వారా TLS (DoT, DNS ఓవర్ TLS), అలాగే XoT (XFR-ఓవర్-TLS) మెకానిజం కోసం మద్దతును అమలు చేయడంలో గుర్తించదగినది. DNS కంటెంట్ యొక్క సురక్షిత బదిలీ కోసం సర్వర్‌ల మధ్య జోన్‌లు (XoT ద్వారా జోన్‌లను పంపడం మరియు స్వీకరించడం రెండూ మద్దతు ఇవ్వబడతాయి). సముచితమైన సెట్టింగ్‌లతో, ఒక పేరున్న ప్రక్రియ ఇప్పుడు సాంప్రదాయ DNS ప్రశ్నలను మాత్రమే కాకుండా, DNS-over-HTTPS మరియు DNS-over-TLSని ఉపయోగించి పంపబడిన ప్రశ్నలను కూడా అందిస్తుంది. DNS-over-TLS కోసం క్లయింట్ మద్దతు డిగ్ యుటిలిటీలో నిర్మించబడింది, ఇది "+tls" ఫ్లాగ్ పేర్కొనబడినప్పుడు TLS ద్వారా అభ్యర్థనలను పంపడానికి ఉపయోగించబడుతుంది.

DoHలో ఉపయోగించిన HTTP/2 ప్రోటోకాల్ యొక్క అమలు nghttp2 లైబ్రరీని ఉపయోగించడంపై ఆధారపడి ఉంటుంది, ఇది ఐచ్ఛిక అసెంబ్లీ డిపెండెన్సీగా చేర్చబడింది. DoH మరియు DoT కోసం సర్టిఫికెట్లు వినియోగదారు అందించబడతాయి లేదా ప్రారంభ సమయంలో స్వయంచాలకంగా రూపొందించబడతాయి.

DoH మరియు DoTని ఉపయోగించి అభ్యర్థన ప్రాసెసింగ్ "http" మరియు "tls" ఎంపికలను వినడానికి-ఆన్ డైరెక్టివ్‌కు జోడించడం ద్వారా ప్రారంభించబడుతుంది. ఎన్‌క్రిప్ట్ చేయని DNS-over-HTTPకి మద్దతు ఇవ్వడానికి, మీరు సెట్టింగ్‌లలో “tls none” అని పేర్కొనాలి. కీలు "tls" విభాగంలో నిర్వచించబడ్డాయి. డిఫాల్ట్ నెట్‌వర్క్ పోర్ట్‌లు DoT కోసం 853, DoH కోసం 443 మరియు DNS-ఓవర్-HTTP కోసం 80 tls-port, https-port మరియు http-port పారామీటర్‌ల ద్వారా భర్తీ చేయబడతాయి. ఉదాహరణకి:

tls local-tls {key-file "/path/to/priv_key.pem"; cert-file "/path/to/cert_chain.pem"; }; http స్థానిక-http-సర్వర్ { endpoints { "/dns-query"; }; }; ఎంపికలు { https-port 443; వినడానికి-ఆన్ పోర్ట్ 443 tls లోకల్-tls http myserver {ఏదైనా;}; }

BINDలో DoH అమలు యొక్క లక్షణాలలో ఒకటి TLS కోసం ఎన్‌క్రిప్షన్ కార్యకలాపాలను మరొక సర్వర్‌కు తరలించగల సామర్థ్యం, ​​ఇది TLS సర్టిఫికేట్‌లు మరొక సిస్టమ్‌లో నిల్వ చేయబడి (ఉదాహరణకు, వెబ్ సర్వర్‌లతో కూడిన ఇన్‌ఫ్రాస్ట్రక్చర్‌లో) మరియు నిర్వహించబడే పరిస్థితులలో అవసరం కావచ్చు. ఇతర సిబ్బంది ద్వారా. డీబగ్గింగ్‌ను సులభతరం చేయడానికి మరియు అంతర్గత నెట్‌వర్క్‌లోని మరొక సర్వర్‌కు ఫార్వార్డ్ చేయడానికి (ప్రత్యేక సర్వర్‌కు గుప్తీకరణను తరలించడానికి) ఒక లేయర్‌గా ఎన్‌క్రిప్ట్ చేయని DNS-ఓవర్-హెచ్‌టిటిపికి మద్దతు అమలు చేయబడుతుంది. రిమోట్ సర్వర్‌లో, వెబ్‌సైట్‌ల కోసం HTTPS బైండింగ్ ఎలా నిర్వహించబడుతుందో అదే విధంగా TLS ట్రాఫిక్‌ని రూపొందించడానికి nginxని ఉపయోగించవచ్చు.

మరొక లక్షణం ఏమిటంటే, DoHని సాధారణ రవాణాగా ఏకీకృతం చేయడం, ఇది పరిష్కరిణికి క్లయింట్ అభ్యర్థనలను నిర్వహించడానికి మాత్రమే కాకుండా, సర్వర్‌ల మధ్య కమ్యూనికేట్ చేసేటప్పుడు, అధికారిక DNS సర్వర్ ద్వారా జోన్‌లను బదిలీ చేసేటప్పుడు మరియు ఇతర DNS ద్వారా మద్దతు ఇచ్చే ఏవైనా ప్రశ్నలను ప్రాసెస్ చేసేటప్పుడు కూడా ఉపయోగించవచ్చు. రవాణా చేస్తుంది.

DoH/DoTతో బిల్డ్‌ను నిలిపివేయడం ద్వారా లేదా మరొక సర్వర్‌కు ఎన్‌క్రిప్షన్‌ను తరలించడం ద్వారా భర్తీ చేయగల లోపాలలో, కోడ్ బేస్ యొక్క సాధారణ సంక్లిష్టత ప్రత్యేకంగా ఉంటుంది - అంతర్నిర్మిత HTTP సర్వర్ మరియు TLS లైబ్రరీ జోడించబడ్డాయి, ఇది హానిని కలిగి ఉండవచ్చు మరియు అదనపు దాడి వెక్టర్స్‌గా పనిచేస్తాయి. అలాగే, DoHని ఉపయోగిస్తున్నప్పుడు, ట్రాఫిక్ పెరుగుతుంది.

ప్రొవైడర్ల DNS సర్వర్‌ల ద్వారా అభ్యర్థించిన హోస్ట్ పేర్లకు సంబంధించిన సమాచారం లీక్‌లను నిరోధించడం, MITM దాడులు మరియు DNS ట్రాఫిక్ స్పూఫింగ్‌లను ఎదుర్కోవడం (ఉదాహరణకు, పబ్లిక్ Wi-Fiకి కనెక్ట్ చేసినప్పుడు) ఎదుర్కోవడం కోసం DNS-over-HTTPS ఉపయోగపడుతుందని గుర్తుచేసుకుందాం. DNS స్థాయిలో బ్లాక్ చేయడం (DPI స్థాయిలో అమలు చేయబడిన బ్లాకింగ్‌ను బైపాస్ చేయడంలో DNS-over-HTTPS VPNని భర్తీ చేయదు) లేదా DNS సర్వర్‌లను నేరుగా యాక్సెస్ చేయడం అసాధ్యం అయినప్పుడు పనిని నిర్వహించడం కోసం (ఉదాహరణకు, ప్రాక్సీ ద్వారా పని చేస్తున్నప్పుడు). ఒక సాధారణ పరిస్థితిలో DNS అభ్యర్థనలు నేరుగా సిస్టమ్ కాన్ఫిగరేషన్‌లో నిర్వచించబడిన DNS సర్వర్‌లకు పంపబడితే, DNS-over-HTTPS విషయంలో హోస్ట్ IP చిరునామాను గుర్తించే అభ్యర్థన HTTPS ట్రాఫిక్‌లో సంగ్రహించబడి HTTP సర్వర్‌కు పంపబడుతుంది, ఇక్కడ రిసల్వర్ వెబ్ API ద్వారా అభ్యర్థనలను ప్రాసెస్ చేస్తుంది.

ప్రామాణిక DNS ప్రోటోకాల్ (నెట్‌వర్క్ పోర్ట్ 853 సాధారణంగా ఉపయోగించబడుతుంది), TLS/SSL సర్టిఫికేట్‌ల ద్వారా ధృవీకరించబడిన హోస్ట్ చెల్లుబాటుతో TLS ప్రోటోకాల్‌ను ఉపయోగించి నిర్వహించబడిన ఎన్‌క్రిప్టెడ్ కమ్యూనికేషన్ ఛానెల్‌లో చుట్టబడిన “HTTPS ద్వారా DNS”కి “DNS ఓవర్ TLS” భిన్నంగా ఉంటుంది. ధృవీకరణ అధికారం ద్వారా. ఇప్పటికే ఉన్న DNSSEC ప్రమాణం క్లయింట్ మరియు సర్వర్‌ను ప్రామాణీకరించడానికి మాత్రమే ఎన్‌క్రిప్షన్‌ను ఉపయోగిస్తుంది, అయితే ట్రాఫిక్‌ను అడ్డగించడం నుండి రక్షించదు మరియు అభ్యర్థనల గోప్యతకు హామీ ఇవ్వదు.

కొన్ని ఇతర ఆవిష్కరణలు:

  • TCP మరియు UDP ద్వారా అభ్యర్థనలను పంపేటప్పుడు మరియు స్వీకరించేటప్పుడు ఉపయోగించే బఫర్‌ల పరిమాణాలను సెట్ చేయడానికి tcp-రిసీవ్-బఫర్, tcp-send-buffer, udp-రిసీవ్-బఫర్ మరియు udp-send-బఫర్ సెట్టింగ్‌లు జోడించబడ్డాయి. రద్దీగా ఉండే సర్వర్‌లలో, ఇన్‌కమింగ్ బఫర్‌లను పెంచడం వల్ల ట్రాఫిక్ పీక్‌ల సమయంలో ప్యాకెట్లు పడిపోకుండా ఉంటాయి మరియు వాటిని తగ్గించడం వల్ల పాత అభ్యర్థనలతో మెమరీ అడ్డుపడటం నుండి బయటపడవచ్చు.
  • కొత్త లాగ్ వర్గం “rpz-passthru” జోడించబడింది, ఇది RPZ (రెస్పాన్స్ పాలసీ జోన్‌లు) ఫార్వార్డింగ్ చర్యలను విడిగా లాగ్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
  • ప్రతిస్పందన-విధాన విభాగంలో, “nsdname-wait-recurse” ఎంపిక జోడించబడింది, “నో”కి సెట్ చేసినప్పుడు, అభ్యర్థన కోసం కాష్‌లో ఉన్న అధికారిక నేమ్ సర్వర్లు కనుగొనబడితే మాత్రమే RPZ NSDNAME నియమాలు వర్తించబడతాయి, లేకపోతే RPZ NSDNAME నియమం విస్మరించబడింది, అయితే సమాచారం నేపథ్యంలో తిరిగి పొందబడుతుంది మరియు తదుపరి అభ్యర్థనలకు వర్తిస్తుంది.
  • HTTPS మరియు SVCB రకాలతో రికార్డుల కోసం, "అదనపు" విభాగం యొక్క ప్రాసెసింగ్ అమలు చేయబడింది.
  • కస్టమ్ అప్‌డేట్-పాలసీ రూల్ రకాలు జోడించబడ్డాయి - krb5-subdomain-self-rhs మరియు ms-subdomain-self-rhs, ఇది SRV మరియు PTR రికార్డ్‌ల నవీకరణను పరిమితం చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. అప్‌డేట్-పాలసీ బ్లాక్‌లు ప్రతి రకానికి వ్యక్తిగతంగా రికార్డ్‌ల సంఖ్యపై పరిమితులను సెట్ చేసే సామర్థ్యాన్ని కూడా జోడిస్తాయి.
  • డిగ్ యుటిలిటీ యొక్క అవుట్‌పుట్‌కు రవాణా ప్రోటోకాల్ (UDP, TCP, TLS, HTTPS) మరియు DNS64 ప్రిఫిక్స్‌ల గురించిన సమాచారం జోడించబడింది. డీబగ్గింగ్ ప్రయోజనాల కోసం, డిగ్ నిర్దిష్ట అభ్యర్థన ఐడెంటిఫైయర్‌ను పేర్కొనే సామర్థ్యాన్ని జోడించింది (dig +qid= )
  • OpenSSL 3.0 లైబ్రరీకి మద్దతు జోడించబడింది.
  • DNS ఫ్లాగ్ డే 2020 ద్వారా గుర్తించబడిన పెద్ద DNS సందేశాలను ప్రాసెస్ చేస్తున్నప్పుడు IP ఫ్రాగ్మెంటేషన్‌తో సమస్యలను పరిష్కరించడానికి, అభ్యర్థనకు ప్రతిస్పందన లేనప్పుడు EDNS బఫర్ పరిమాణాన్ని సర్దుబాటు చేసే కోడ్ పరిష్కర్త నుండి తీసివేయబడింది. అన్ని అవుట్‌గోయింగ్ అభ్యర్థనల కోసం EDNS బఫర్ పరిమాణం ఇప్పుడు స్థిరంగా (edns-udp-size) సెట్ చేయబడింది.
  • బిల్డ్ సిస్టమ్ ఆటోకాన్ఫ్, ఆటోమేక్ మరియు లిబ్‌టూల్ కలయికను ఉపయోగించేందుకు మార్చబడింది.
  • "మ్యాప్" ఆకృతిలో (మాస్టర్ ఫైల్-ఫార్మాట్ మ్యాప్) జోన్ ఫైల్‌లకు మద్దతు నిలిపివేయబడింది. ఈ ఫార్మాట్ యొక్క వినియోగదారులు పేరు పెట్టబడిన కంపైల్జోన్ యుటిలిటీని ఉపయోగించి జోన్‌లను ముడి ఆకృతికి మార్చాలని సిఫార్సు చేస్తారు.
  • పాత DLZ (డైనమిక్‌గా లోడ్ చేయదగిన జోన్‌లు) డ్రైవర్‌లకు మద్దతు నిలిపివేయబడింది, దాని స్థానంలో DLZ మాడ్యూల్‌లు ఉన్నాయి.
  • Windows ప్లాట్‌ఫారమ్‌కు బిల్డ్ మరియు రన్ సపోర్ట్ నిలిపివేయబడింది. Windowsలో ఇన్‌స్టాల్ చేయగల చివరి బ్రాంచ్ BIND 9.16.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి