क्या एसपीएफ़ कल्पना में 10-डीएनएस-लुकअप सीमा आमतौर पर लागू होती है?


24

मेरी समझ यह है कि एसपीएफ कल्पना निर्दिष्ट करती है कि एक ईमेल रिसीवर को 10 से अधिक DNS लुकअप नहीं करने चाहिए ताकि एक प्रेषक के लिए सभी अनुमत आईपी को इकट्ठा किया जा सके। इसलिए यदि एक SPF रिकॉर्ड है include:foo.com include:bar.com include:baz.comऔर उन तीन डोमेन में से प्रत्येक में SPF रिकॉर्ड है जिसमें 3 includeप्रविष्टियां भी हैं , तो अब हम 3 + 3 + 3 + 3 = 12 DNS लुकअप तक हैं।

  1. क्या मेरी समझ सही है?

  2. मैं अपने डोमेन के लिए केवल 2 या 3 सेवाओं का उपयोग करता हूं और मैं पहले से ही इस सीमा को पार कर रहा हूं। क्या यह सीमा आम तौर पर (या कभी) प्रमुख / लघु ईमेल प्रदाताओं द्वारा लागू की जाती है?


3
RFC4408 s10.1 का कहना है कि " SPF क्रियान्वयन अधिकतम 10 प्रति SPF चेक में DNS लुकअप करने वाले तंत्र और संशोधक की संख्या को सीमित करता है ", लेकिन यह लुकअप नहीं, बल्कि तंत्र और संशोधक की संख्या पर एक सीमा है। वे जितने चेक करते हैं। क्या आप हमें इस बारे में स्पष्ट जानकारी दे सकते हैं कि आपको क्या लगता है कि आपका एसपीएफ़ रिकॉर्ड उस सीमा से कम हो रहा है?
MadHatter

@MadHatter उस जानकारी के लिए धन्यवाद! मैंने अपना प्रश्न स्पष्ट कर दिया है।
जॉन बाकिर

यह संभावित रूप से 12 से अधिक हो सकता है यदि इसमें केवल आईपी पते के बजाय CNAME या MX रिकॉर्ड शामिल हैं। जब तक मैं गलत नहीं समझता कि क्या @ मदहैटर का जिक्र है।
साइमन ईस्ट

जवाबों:


29

दोनों libspf2(C) और Mail::SPF::Query(perl, sendmail-spf-milter में प्रयुक्त ) 10 DNS-कारण तंत्रों की एक सीमा को लागू करते हैं , लेकिन बाद वाला (AFAICT) MX या PTR सीमा लागू नहीं करता है। mx और ptr में से libspf2प्रत्येक को भी 10 तक सीमित करता है ।

Mail::SPF(पर्ल) में 10 डीएनएस-कारण तंत्रों की सीमा होती है, और प्रति एमएक्स और पीटीआर प्रति तंत्र में 10 देखने की सीमा होती है। (दो पर्ल पैकेज आमतौर पर, डिफ़ॉल्ट रूप से नहीं होते हैं, MIMEDefang में उपयोग किए जाते हैं ।)

pyspfसभी पर 10 की सीमाएं हैं: "लुक्स", एमएक्स, पीटीआर, CNAME; लेकिन यह स्पष्ट रूप से ऑपरेशन के दौरान MAX_LOOKUPS को 4 से गुणा करता है। जब तक "सख्त" मोड में, यह MAX_MX और MAX_PTR को 4 से गुणा नहीं करता है।

मैं वाणिज्यिक / मालिकाना कार्यान्वयन पर टिप्पणी नहीं कर सकता, लेकिन उपरोक्त (छोड़कर pyspf) स्पष्ट रूप से 10 DNS-ट्रिगर तंत्र (उस पर अधिक) की एक ऊपरी सीमा को लागू करते हैं, दे या लेते हैं, हालांकि अधिकांश मामलों में इसे चलाने पर ओवरराइड किया जा सकता है- पहर।

आपके विशिष्ट मामले में आप सही हैं, इसमें 12 शामिल हैं और यह 10. की सीमा से अधिक है। मुझे उम्मीद है कि अधिकांश SPF सॉफ्टवेयर "PermError" को वापस कर देंगे , हालांकि , असफलता केवल अंतिम "शामिल" प्रदाता (नों) को प्रभावित करेगी क्योंकि गिनती एक चल रहे कुल के रूप में गणना की जाएगी: एसपीएफ़ तंत्र का मूल्यांकन बाएं से दाएं किया जाता है और चेक पास पर "जल्दी-आउट" होगा, इसलिए यह इस बात पर निर्भर करता है कि भेजने वाले सर्वर के अनुक्रम में कहां है।

इसके आस-पास का तरीका उन तंत्रों का उपयोग करना है जो DNS लुकअप को ट्रिगर नहीं करते हैं, जैसे ip4और ip6फिर, mxयदि संभव हो तो उपयोग करें जो आपको 10 और नामों तक पहुंचाता है, जिनमें से प्रत्येक में एक से अधिक आईपी हो सकते हैं।

चूंकि एसपीएफ़ संभावित घातीय स्केलिंग के साथ मनमाने ढंग से डीएनएस अनुरोधों के परिणामस्वरूप होता है, इसलिए इसे आसानी से डॉस / प्रवर्धन हमलों के लिए उपयोग किया जा सकता है। इसे रोकने के लिए जानबूझकर कम सीमाएं हैं: यह आपके इच्छित तरीके को मापता नहीं है।


10 तंत्र (कड़ाई से तंत्र + "पुनर्निर्देशित" संशोधक) के कारण DNS लुक-अप बिल्कुल वैसा नहीं है जैसा कि 10 DNS लुक-अप। यहां तक ​​कि "DNS लुकअप" व्याख्या के लिए खुला है, आप पहले से नहीं जानते हैं कि कितने असतत लुकअप की आवश्यकता है, और आपको नहीं पता है कि आपके रिर्सचिव रिवाल्वर में कितने असतत लुकअप प्रदर्शन करने की आवश्यकता है (नीचे देखें)।

RFC 4408 §10.1 :

SPF कार्यान्वयन आवश्यक रूप से "शामिल" तंत्र या "पुनर्निर्देशन" संशोधक के उपयोग के कारण होने वाले किसी भी लुकअप सहित SPF जाँच में अधिकतम 10 पर DNS लुकअप करने वाले तंत्र और संशोधक की संख्या को सीमित करता है। यदि चेक के दौरान यह संख्या पार हो जाती है, तो एक PermError MUST को लौटा दिया जाना चाहिए। "शामिल", "ए", "एमएक्स", "पीटीआर", और "मौजूद" तंत्र के साथ-साथ "रीडायरेक्ट" संशोधक इस सीमा के खिलाफ गिनती करते हैं। "सभी", "ip4", और "ip6" तंत्रों को DNS लुकअप की आवश्यकता नहीं होती है और इसलिए इस सीमा के विरुद्ध गणना नहीं की जाती है।

[...]

जब "एमएक्स" और "पीटीआर" तंत्र, या% {p} मैक्रो का मूल्यांकन करते हैं, तो वहां 10 से अधिक एमएक्स या पीटीआर आरआर की सीमा नहीं होनी चाहिए और जांच की गई।

तो आप 10 तंत्र / संशोधक का उपयोग कर सकते हैं जो DNS लुकअप को ट्रिगर करते हैं। (यहां शब्दांकन खराब है: यह केवल सीमा की ऊपरी सीमा को बताता है, एक पुष्टि कार्यान्वयन की सीमा हो सकती है 2.)

§5.4 के लिए mx तंत्र, और §5.5 के लिए ptr तंत्र प्रत्येक नाम उस तरह के 10 लुकअप की एक सीमा होती है, और कहा कि केवल कि तंत्र, जैसे के प्रसंस्करण के लिए लागू होता है:

सेवा से इनकार (DoS) हमलों को रोकने के लिए, 10 mx से अधिक नामों को "mx" तंत्र के मूल्यांकन के दौरान नहीं देखा जाना चाहिए (धारा 10 देखें)।

यानी आपके पास 10 mx नाम के साथ 10 mx तंत्र हो सकते हैं, इसलिए उनमें से प्रत्येक 200 के कुल के लिए 20 DNS ऑपरेशन (10 MX + 10 A DNS लुकअप प्रत्येक) का कारण हो सकता है। यह ptr या % {p} के लिए समान है , आप 10 ptr तंत्र देख सकते हैं , इसलिए 10x10 PTR, प्रत्येक PTR को भी A लुकअप की आवश्यकता होती है, फिर से कुल 200।

यह वास्तव में 2009.10 परीक्षण सूट की जांच करता है, " प्रसंस्करण सीमाएं " परीक्षण देखें।

क्लाइंट DNS लुकअप ऑपरेशंस की कुल संख्या पर एसपीएफ-चेक की कोई स्पष्ट रूप से ऊपरी सीमा नहीं है , मैं इसे अनुमानित रूप से 210 की गणना करता हूं, देना या लेना। डीएनएस डेटा प्रति एसपीएफ-चेक की मात्रा को सीमित करने के लिए एक सुझाव भी है, हालांकि वास्तविक सीमा का सुझाव नहीं दिया गया है। आप एक मोटा अनुमान लगा सकते हैं क्योंकि एसपीएफ़ रिकॉर्ड 450 बाइट्स तक सीमित है (जो दुखद रूप से अन्य सभी TXT रिकॉर्ड्स के साथ साझा किया गया है), लेकिन यदि आप उदार हैं तो कुल 100kiB से अधिक हो सकता है। उन दोनों मूल्यों को स्पष्ट रूप से प्रवर्धन हमले के रूप में संभावित दुरुपयोग के लिए खुला है, जो कि वास्तव में .110.1 कहता है कि आपको बचने की आवश्यकता है।

अनुभवजन्य साक्ष्य बताते हैं कि कुल 10 लुकअप मैकेनिज्म को आमतौर पर रिकॉर्ड में लागू किया जाता है (microsoft.com के लिए SPF की जाँच करें जो ऐसा लगता है कि इसे 10 तक रखने के लिए कुछ लंबाई में गए हैं)। बहुत-से-लुकअप विफलता के साक्ष्य एकत्र करना कठिन है क्योंकि अनिवार्य त्रुटि कोड केवल "PermError" है, जो सभी प्रकार की समस्याओं को कवर करता है ( DMARC रिपोर्टिंग हालांकि उस के साथ मदद कर सकती है)।

OpenSPF FAQ , कुल सटीक "10 DNS तंत्र या पुनर्निर्देशन" के बजाय "10 DNS लुकअप" की कुल सीमा को समाप्त करता है । यह अकसर पूछे जाने वाले प्रश्न गलत है क्योंकि यह वास्तव में कहता है:

चूंकि एसपीएफ रिकॉर्ड के अनुसार 10 डीएनएस लुकअप की सीमा है, आईपी पते को निर्दिष्ट करते हुए […]

जो RFC के साथ असहमति में है जो एक "SPF जांच" ऑपरेशन पर सीमाएं लगाता है, इस तरह से DNS लुकअप ऑपरेशन को सीमित नहीं करता है, और स्पष्ट रूप से बताता है कि SPF रिकॉर्ड एक एकल DNS पाठ RR है। एफएक्यू का मतलब यह होगा कि जब आप एक "एसपीएफ" प्रक्रिया शुरू करते हैं तो गिनती को फिर से शुरू करें क्योंकि यह एक नया एसपीएफ़ रिकॉर्ड है। क्या झंझट है।


डीएनएस लुकअप

वैसे भी "DNS लुकअप" क्या है? एक उपयोगकर्ता के रूप में । मैं ping www.microsoft.comएक एकल डीएनएस "लुकअप" को शामिल करने के लिए " " विचार करूंगा : एक नाम है जिसे मैं एक आईपी में बदलने की उम्मीद करता हूं। सरल? अफसोस की बात नहीं।

एक व्यवस्थापक के रूप में मुझे पता है कि www.microsoft.com एक एकल आईपी के साथ एक साधारण ए रिकॉर्ड नहीं हो सकता है, यह एक CNAME हो सकता है जो बदले में एक रिकॉर्ड प्राप्त करने के लिए एक और असतत लुकअप की आवश्यकता है, जो कि मेरे अपस्ट्रीम रिज़ॉल्वर का प्रदर्शन करेगा मेरे डेस्कटॉप पर रिज़ॉल्वर के बजाय। आज, मेरे लिए, www.microsoft.com 3 CNAME की एक श्रृंखला है जो अंत में akamaiedge.net पर A रिकॉर्ड के रूप में समाप्त होती है, यह किसी के लिए (कम से कम) 4 DNS क्वेरी ऑपरेशन है। SPF "ptr" तंत्र के साथ CNAME को देख सकता है, हालांकि MX रिकॉर्ड CNAME नहीं होना चाहिए।

अंत में, एक DNS प्रशासक के रूप में मुझे पता है कि किसी भी प्रश्न का उत्तर देना (लगभग) कई असतत DNS संचालन, व्यक्तिगत प्रश्न और उत्तर लेनदेन (UDP डेटाग्राम) शामिल हैं - खाली कैश मानकर, एक पुनरावर्ती रिज़ॉल्वर को DNS रूट पर शुरू करने और अपने तरीके से काम करने की आवश्यकता है नीचे: .commicrosoft.com→ आवश्यकता www.microsoft.comके अनुसार विशिष्ट प्रकार के रिकॉर्ड (NS, A आदि) मांगने और CNAME से निपटने के लिए। आप के साथ कार्रवाई में देख सकते हैं dig +trace www.microsoft.com, हालांकि आप शायद नहीं ठीक उसी जवाब जियोलोकेशन प्रवंचना की वजह से (उदाहरण के मिल जाएगा यहाँ )। (TXT रिकॉर्ड्स पर SPF पिग्गीबैक के बाद से इस जटिलता के लिए थोड़ा और भी अधिक है, और DNS उत्तरों पर 512 बाइट्स की अप्रचलित सीमा का मतलब टीसीपी पर प्रश्नों को पुनः प्राप्त करना हो सकता है।)

तो एसपीएफ़ एक खोज के रूप में क्या विचार करता है? यह वास्तव में देखने के व्यवस्थापक बिंदु के सबसे करीब है , इसे प्रत्येक प्रकार के DNS क्वेरी की बारीकियों के बारे में पता होना चाहिए (लेकिन उस बिंदु तक नहीं जहां इसे वास्तव में व्यक्तिगत DNS डेटाग्राम या कनेक्शन की गणना करने की आवश्यकता है)।


यह उपकरण आपको यह बताता है
Gaia

क्या आप मुझे अपनी पोस्ट का ELI5 संस्करण दे सकते हैं? मुझे emailstuff.org/spf में 10 से कम प्रविष्टियाँ कहाँ होनी चाहिए ? DNS टैब में? 'परिणाम' टैब में मैं केवल 5 प्रविष्टियाँ देखता हूं (प्रत्येक IP के बहुत से भाग।
Gaia

2
यहां दो और एसपीएफ उपकरण हैं जो मददगार लग रहे थे: dmarcian.com/spf-survey - यदि आपका SPF 10 लुकअप से अधिक है तो एक चमकदार लाल त्रुटि संदेश दिखाता है। emailstuff.org/spf - रिपोर्ट प्राप्त करने के बाद DNS टैब पर क्लिक करें (लेकिन आपको उन्हें खुद गिनना होगा)।
medmunds

मैं अभी भी असमंजस में हूँ। क्या आप एक उदाहरण दे सकते हैं कि कैसे "लुकअप" एक "मैकेनिज्म" से अलग है? या निष्कर्ष यह है कि यह वास्तव में कोई फर्क नहीं पड़ता - कि आप अभी भी 10 लुकअप के भीतर रखना चाहिए?
साइमन ईस्ट

1
@SimonEast ने स्पष्टीकरण में कहा, एसपीएफ को प्रत्येक प्रकार के डीएनएस रिकॉर्ड के निहितार्थ को समझने की जरूरत है ताकि यह डीएनएस "लागत" पर एक मोटे अनुमान प्राप्त कर सके, वास्तव में सभी सेम की गिनती के बिना।
mr.spuratic

11

RFC4408 s10.1 करता है, जैसा कि आपने नोट किया है, DNS गतिविधि पर कुछ सीमाएं लगाएं। विशेष रूप से:

एसपीएफ कार्यान्वयन जरूरी तंत्र और संशोधक की संख्या को सीमित करता है जो DNS लुकअप को अधिकतम 10 प्रति एसपीएफ जांच में शामिल करते हैं, जिसमें "शामिल" तंत्र या "पुनर्निर्देशित" संशोधक के उपयोग के कारण होने वाले कोई भी लुकअप शामिल हैं। यदि चेक के दौरान यह संख्या पार हो जाती है, तो एक PermError MUST को लौटा दिया जाना चाहिए। "शामिल", "ए", "एमएक्स", "पीटीआर", और "मौजूद" तंत्र के साथ-साथ "रीडायरेक्ट" संशोधक इस सीमा के खिलाफ गिनती करते हैं। "सभी", "ip4", और "ip6" तंत्रों को DNS लुकअप की आवश्यकता नहीं होती है और इसलिए इस सीमा के विरुद्ध गणना नहीं की जाती है। एसपीएफ रिकॉर्ड का मूल्यांकन किए जाने के बाद स्पष्टीकरण स्ट्रिंग लाने के लिए DNS लुकअप के कारण "ऍक्स्प" संशोधक इस सीमा के खिलाफ नहीं गिना जाता है।

और इसके अलावा

जब "एमएक्स" और "पीटीआर" तंत्र, या% {p} मैक्रो का मूल्यांकन करते हैं, तो वहां 10 से अधिक एमएक्स या पीटीआर आरआर की सीमा नहीं होनी चाहिए और जांच की गई।

ध्यान दें कि पूर्व तंत्र की संख्या पर एक सीमा है , प्रदर्शन की संख्या नहीं; लेकिन यह अभी भी एक सीमा है।

जहाँ तक मैं बता सकता हूँ, हाँ, ये सीमाएँ काफी कठिन हैं। वे मनमाने ढंग से जटिल SPF रिकॉर्ड बनाने वाले लोगों को रोकने के लिए डिज़ाइन किए गए हैं और उन DoS सर्वरों का उपयोग कर रहे हैं जो DNS लुकअप की एक विशाल श्रृंखला में उन्हें रोककर उनके रिकॉर्ड की जाँच करते हैं, इसलिए यह किसी भी व्यक्ति के सर्वोत्तम हित में है जो एक एसपीएफ़ धारक को लागू करता है उनका सम्मान करें।

आप ध्यान दें कि नेस्टेड शामिल हैं, इन सीमाओं के साथ सबसे बड़ी समस्या पैदा होने की संभावना है, और यदि आप कई डोमेन शामिल करने का निर्णय लेते हैं, जिनमें से प्रत्येक में खुद को शामिल करने का भारी उपयोग होता है, तो आप काफी जल्दी उन पर जा सकते हैं। ऐसे लोगों के उदाहरण खोजना बहुत मुश्किल नहीं है जिनके लिए इसने ठोस मुद्दे बनाए हैं

यह प्रतीत होता है कि आम तौर पर समस्याएं तब पैदा होती हैं जब लोग अपने निवर्तमान ईमेल को संभालने के लिए एसपीएफ़ और कई अलग-अलग और अलग-अलग दोनों कंपनियों का उपयोग करने का निर्णय लेते हैं । मैं आपके प्रश्न से अनुमान लगाता हूं कि आप उस श्रेणी में आते हैं। एसपीएफ़ को ऐसा करने वाले लोगों की सेवा के लिए डिज़ाइन नहीं किया गया लगता है । यदि आप ऐसा करने पर जोर देते हैं, तो आपको अपने DNS सर्वर पर किसी प्रकार का क्रॉन जॉब करने की संभावना होगी जो लगातार उन सभी एसपीएफ़ रिकॉर्डों का मूल्यांकन करता है जिन्हें आप शामिल करना चाहते हैं, उन्हें और तंत्रों की एक श्रृंखला के रूप में व्यक्त करते हैं (जिनकी संख्या पर कोई सीमा नहीं है), और परिणाम को आपके SPF रिकॉर्ड के रूप में पुन: प्रकाशित करता है।ip4:ip6:

एक के साथ खत्म करने के लिए मत भूलना -all, या पूरे अभ्यास व्यर्थ था।


आपका उपकरण अब नीचे दिखाई देता है, @ JANSáreník
सिमोन ईस्ट

@SimonEast कुछ भी नहीं है जब एक मॉडरेटर एक पोस्ट को हटाता है। स्पफ-टूल्स जीथब पर हैं ( spf-tools githubमैं खोजने की कोशिश करता हूं), मैं लेखकों में से एक हूं, यह मुफ्त सॉफ्टवेयर है जो उस समुदाय को वापस देने के लिए है जिसे मैंने बहुत अधिक लिया है और अगर यह किसी और की मदद करता है तो खुश होगा। स्वयं प्रचार वे इसे कहते हैं। और चर्चा के लिए कोई जगह नहीं।

@ JANSáreník ओह कितना अजीब, अब MadHatter और मेरी टिप्पणियाँ संदर्भ से बाहर नहीं हैं। हम्म। ठीक है।
साइमन ईस्ट

@SimonEast, उन टिप्पणियों को हटाने के लिए मुझे क्षमा करें। मैंने इसे किया और यह महसूस नहीं किया कि यह अन्य टिप्पणियों को संदर्भ से बाहर कर देगा।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.