מסירת דואר ו-DNS

מגבלת בדיקות SPF: פתרון בעיית 10 בדיקות DNS

מאת Alexey Bulygin
הסבר על מגבלת בדיקות SPF ועל תקרת 10 בדיקות DNS

העיקרון של מגבלת בדיקות SPF פשוט: אם הערכת מדיניות SPF דורשת יותר מ-10 רכיבים שמפעילים בדיקות DNS, שרת המקבל עשוי לעצור את העיבוד ולהחזיר שגיאה קבועה. לכן דואר שההגדרות שלו נראות תקינות בלוח ניהול ה-DNS עדיין עלול להיכשל באימות בפועל. אם אתם כבר מסדרים את הדואר של הדומיין, התחילו במאמר על דואר עסקי לעסקים קטנים, ואז חזרו לטפל כאן בחלק שלרוב מתחיל להסתבך בהמשך.

זה קורה לצוותים שוב ושוב. מוסיפים Google Workspace, אחריו Microsoft 365, אחריו Mailchimp, מערכת CRM ומערכת תמיכה. כל ספק אומר: ״רק הוסיפו את ה-include שלנו״. כעבור כמה חודשים רשומת SPF תקינה מבחינה תחבירית, אבל עלולה לא לעבוד בהערכה בפועל. הודעות מתחילות להגיע לספאם וחלקן חוזרות לשולח. קשה להבין למה, משום שבמבט ראשון הרשומה עדיין נראית רגילה.

החדשות הטובות: בדרך כלל הפתרון לא מסובך. הסירו רכיבים שאינם בשימוש. אל תשתמשו ב-`mx` אלא אם יש בו צורך אמיתי. העבירו דואר שיווקי לתת-דומיין ושמרו על מדיניות פשוטה בדומיין הראשי.

מהי מגבלת בדיקות SPF?

מגבלת בדיקות SPF היא התקרה שמגדיר ה-RFC לרכיבי SPF שמפעילים DNS במהלך ההערכה. אסור לשרת המקבל לעבד יותר מ-10 רכיבים כאלה לאורך מסלול ההערכה המלא, כולל שרשראות `include` מקוננות. אם המדיניות חורגת מהתקרה, SPF עשוי להחזיר `permerror`, וההודעה מאבדת אות אימות חשוב.

RFC 7208 מגדיר את הכלל. המגבלה נועדה למנוע מ-SPF ליצור תעבורת DNS מופרזת. זו אינה אפשרות לבחירה או המלצה בלבד, אלא מגבלה של הפרוטוקול.

הנקודה שקל לפספס היא שמגבלת בדיקות SPF מצטברת. אין תקציב של 10 בדיקות ברשומה הראשית ועוד 10 בתוך כל include. לכל מסלול ההערכה יש תקציב משותף אחד.

מנגנון SPFעלות בדיקותמשמעות מעשית
include:1נפוץ, אבל רכיבי include מקוננים מצטברים מהר
a1עשוי להתאים לתצורות קטנות, אך לעיתים מיותר
mx1+לרוב אינו מתאים להרשאת שליחה יוצאת
ptr1+עדיף להימנע; RFC 7208 ממליץ בחום שלא להשתמש בו
exists1נדיר וקל להגדירו בצורה שגויה
redirect=1שימושי בתצורות מסוימות, אך עדיין נספר
ip4 / ip60ללא בדיקת DNS בזמן הערכת SPF
all0קביעת מדיניות בלבד, בלי עלות בדיקה

למה מגבלת בדיקות SPF פוגעת ברשומות שנראות תקינות?

מגבלת בדיקות SPF עלולה לפגוע ברשומות שנראות מסודרות, משום ש-SPF אינו בוחן את המראה של רשומת TXT הראשית. מה שחשוב הוא מספר הרכיבים שמפעילים DNS וששרת המקבל מעריך לאחר מעקב אחר include, redirect, `a` ו-`mx` לאורך השרשרת.

לדוגמה:

אתם מפרסמים `v=spf1 include:_spf.google.com include:spf.protection.outlook.com include:servers.mcsv.net -all` וחושבים שהשתמשתם בשלוש בדיקות. זה לא החישוב המלא. הרשומות של Google ושל Microsoft כוללות רכיבי בדיקה נוספים בהמשך. הרשומה הגלויה קצרה, אבל מסלול ההערכה המלא לא בהכרח קצר.

לכן הבעיה של מגבלת בדיקות SPF מופיעה לעיתים בהמשך ולא ביום הראשון. כשספקים משנים את עצי SPF שלהם, המספר אצלכם עשוי לעלות גם בלי שתשנו שוב את ה-DNS.

יש מלכודת נוספת: בדיקות ריקות, המכונות void lookups. RFC 7208 ממליץ למימושים להגביל אותן לשתיים. בדיקה ריקה היא שאילתת DNS שאינה מחזירה נתונים או שמחזירה `NXDOMAIN`. שגיאת הקלדה אחת ב-include לא בהכרח תגרום לכשל, אבל שני יעדים שגויים עלולים לעשות זאת. כך במהלך בדיקת מגבלת בדיקות SPF אתם עשויים לגלות `permerror` גם כשאתם עדיין מתחת ל-10.

גם הנחיות Google לשולחים מדגישות את החשיבות: אימות חסר או פגום עשוי לגרום להודעות של שולחים בכמויות גדולות להגיע לספאם או להידחות. Google מתארת דרישה ל-SPF, ל-DKIM ול-DMARC אצל שולחים כאלה, ומציינת שהודעות שאינן עומדות בדרישות עשויות להידחות או להישלח לספאם. ראו את השאלות הנפוצות על דרישות Google לשולחים.

איך מחשבים את ניצול מגבלת בדיקות SPF?

כדי לחשב את ניצול מגבלת בדיקות SPF, התחילו ברשומה הראשית ועקבו אחר ההפניות המקוננות. ספרו כל מנגנון שמפעיל DNS במסלול ההערכה, כולל הרכיבים שלכם וההפניות הפנימיות של הספקים. אם מספר הרכיבים שמוערכים עולה על 10, אי אפשר להשלים את ההערכה תוך עמידה במגבלת הפרוטוקול.

התחילו ברשומה הראשית:

dig +short txt example.com

פלט לדוגמה:

"v=spf1 include:_spf.google.com include:spf.protection.outlook.com -all"

לאחר מכן בדקו כל דומיין שאליו יש הפניה:

dig +short txt _spf.google.com

dig +short txt spf.protection.outlook.com

המשיכו לעקוב עד שתגיעו רק ל-`ip4`, ל-`ip6` או לרכיבים שמסיימים את הערכת המדיניות.

פעלו לפי שיטת הספירה הבאה:

  1. ספרו כל include, a, mx, ptr, exists ו-redirect במסלול ההערכה.
  2. ספרו גם רכיבים מקוננים בתוך הרשומות שנכללות באמצעות include.
  3. אל תספרו ip4, ip6 או all.
  4. סמנו כל יעד include שאינו מחזיר נתונים. הוא עלול לגרום לבעיה של בדיקות ריקות.

אם אתם רוצים לבדוק במהירות את הגדרות DNS בזמן הוספת דומיין ב-TrekMail, התחילו בתיעוד על בדיקת מצב DNS ועל רשומות DNS נדרשות.

טעויות נפוצות סביב מגבלת בדיקות SPF

רוב התקלות הקשורות למגבלת בדיקות SPF נובעות מאותן טעויות: צבירת ספקים בדומיין ראשי אחד, השארת ספקים ישנים ברשומה, שימוש ב-`mx` כקיצור דרך ושטיחה ידנית ללא תהליך תחזוקה. אלה אינם מקרים חריגים, אלא תוצאות של ניהול DNS לא מוקפד כשהתצורה גדלה.

הגורמים העיקריים:

טעותלמה היא מזיקהמה עדיף לעשות
השארת ספקים ישניםמבזבזת תקציב בדיקות ומרחיבה את הסיכוןהסירו כל ספק שכבר אינו משמש לשליחה
שימוש ב-mx לאימות שליחה יוצאתשרתי MX לקבלת דואר לרוב אינם שרתי השליחה שלכםהרשו במפורש את השולח בפועל
שימוש ב-ptrאיטי, לא מומלץ ורגיש לתקלותהסירו אותו
שליחת הכול מדומיין אחדדואר שיווקי ודואר טרנזקציוני חולקים תקציב SPF אחדפצלו זרמי דואר בין תת-דומיינים
שטיחה ידניתעלולה להיכשל כשספקים מחליפים כתובות IPהפכו עדכונים לאוטומטיים או הימנעו משטיחה

כאן צוותים מבלבלים בין מורכבות גלויה למורכבות בפועל. include יחיד של ספק עשוי לכלול כמה רכיבי בדיקה לאחר הרחבתו. לכן הגישה של ״נוסיף רק עוד שולח אחד״ עלולה ליצור בעיה עם מגבלת בדיקות SPF.

אם אתם עדיין בוחרים בין העברה, כינוי או תיבת דואר אמיתית לצורך מסוים, גם הבחירה הזאת קשורה להגדרת השולח. לקריאה נוספת: כינוי דואר בדומיין לעומת תיבת דואר והעברת דואר באמצעות כינוי.

איך מטפלים במגבלת בדיקות SPF תוך צמצום הסיכון לדואר?

הדרך העדיפה לטפל במגבלת בדיקות SPF היא להפחית את מורכבות המדיניות, ולא להוסיף עוד פתרונות מאולתרים. הסירו תחילה שולחים שאינם בשימוש, ואז העבירו מערכות עתירות שליחה לתת-דומיינים. השתמשו בשטיחה רק אם תוכלו לעדכן אותה אוטומטית.

1. הסירו רכיבים מיותרים.

מחקו ספקים שאינכם משתמשים בהם והסירו `ptr`. החליפו `mx` בהרשאה הדרושה לשולח האמיתי. מדיניות SPF רבות עשויות לחזור אל מתחת למגבלת בדיקות SPF לאחר סבב ניקוי אחד.

2. פצלו תעבורה לפי תת-דומיין.

זו לרוב גישה טובה לצוותים שגדלים.

; Primary company mail
example.com.              TXT  "v=spf1 include:spf.trekmail.net -all"

; Marketing mail
marketing.example.com.    TXT  "v=spf1 include:servers.mcsv.net include:hubspotemail.net -all"

; Transactional app mail
notify.example.com.       TXT  "v=spf1 include:amazonses.com -all"

לכל תת-דומיין יש תקציב SPF משלו. זה עשוי להפחית את מורכבות הדומיין הראשי ולהקל על ניהול מגבלת בדיקות SPF.

3. השתמשו בשטיחה רק כמוצא אחרון.

שטיחה מחליפה רכיבי include בטווחי IP מפורשים:

; Before
v=spf1 include:vendor-a.example include:vendor-b.example -all

; After
v=spf1 ip4:192.0.2.10 ip4:192.0.2.11 ip4:198.51.100.0/24 -all

היא עשויה להפחית את ניצול הבדיקות לכמעט אפס, אבל יוצרת עבודת תחזוקה. ספקים משנים כתובות IP, הרשומה מתיישנת והאימות עלול להיכשל. אם אתם משטחים את הרשומה, הפכו את העדכון לאוטומטי.

הגישה הישנה והחדשה: ניהול מגבלת בדיקות SPF עם TrekMail

הגישה הישנה למגבלת בדיקות SPF היא להוסיף עוד ועוד ספקי תיבות דואר, פלטפורמות שיווק וממסרים לדומיין ראשי אחד, עד שצריך לחקור את היסטוריית ה-DNS כדי להבין אותו. הגישה החדשה מצמצמת רכיבים משתנים ומפרידה תפקידי שליחה מההתחלה.

הגישה הישנה: רשומת SPF עמוסה בדומיין הראשי, ספקים ישנים שלא הוסרו, תעבורה שיווקית מעורבת עם דואר מתיבות אמיתיות, ואחריות לא ברורה להרשאות השליחה.

הגישה החדשה: שמרו על אחסון תיבות פשוט, הפרידו שולחים עתירי תעבורה לתת-דומיינים, ותנו לדומיין הראשי מדיניות SPF קצרה עם מרווח מספיק.

TrekMail יכול לסייע בתצורה הזאת. בשימוש בשליחה מנוהלת של TrekMail בחבילות בתשלום, הנחיות DNS מתארות הוספת `include:spf.trekmail.net` לרשומת SPF. הרכיב עצמו נספר כבדיקה אחת, ויש לבדוק גם הפניות מקוננות אם קיימות. המחיר ההתחלתי המוצג הוא $3.50 לחודש, והתכונות המתוארות כוללות דומיינים מותאמים אישית, תיבות IMAP, catch-all, העברת דואר מתיבות, כלי הגירה מובנה וגישה ל-API. בחבילות בתשלום מתוארת תקופת ניסיון חינמית של 14 יום, המחייבת כרטיס אשראי. Nano מוצגת כחבילה חינמית ללא תקופת ניסיון ומשתמשת ב-BYO SMTP. בדקו את המחירים והתנאים העדכניים.

בחבילת Nano אפשר להשתמש ב-TrekMail כשכבת תיבות הדואר ולשלוח דרך SES, Mailgun או ממסר אחר. הקפידו על תכנון תת-דומיינים כדי שהמדיניות הראשית לא תגיע למגבלת בדיקות SPF. התיעוד על SMTP מותאם אישית (BYO), על SMTP מנוהל של TrekMail ועל התחלת הגירה בלוח הבקרה מסביר את ההיבטים התפעוליים.

אם אתם מאחדים דומיינים, תוכלו לקרוא גם על אחסון דואר למספר דומיינים ועל הגדרת דואר בדומיין שלי.

לסיכום: איך נשארים מתחת למגבלת בדיקות SPF?

כדי להישאר מתחת למגבלת בדיקות SPF, שמרו על מדיניות פשוטה. צמצמו את השולחים בדומיין הראשי והעבירו דואר בכמויות גדולות ודואר יישומים לתת-דומיינים. בדקו מחדש את רכיבי include של הספקים בכל הוספת כלי. אם המדיניות קרובה ל-10, התייחסו לכך כאות אזהרה.

זו התשובה המעשית. מגבלת בדיקות SPF אינה מקרה קצה תאורטי של RFC, אלא מגבלה תפעולית ממשית שמורגשת כשמצטברים שירותים. שמרו על רשומה קצרה ועל אחריות ברורה ל-DNS. אל תאפשרו לחמישה ספקים לחלוק מסלול אימות אחד עם תקציב מוגבל ללא בדיקה, אלא אם אתם אוהבים לנתח כותרות דואר בשעה 2 לפנות בוקר.

לתצורה מסודרת יותר, TrekMail מציע אחסון דואר למספר דומיינים בתעריף קבוע ללא חיוב לפי משתמש, עם אחסון משותף, הגירת IMAP מובנית ובחירה בין BYO SMTP ל-SMTP מנוהל של TrekMail. הזמינות והתנאים עשויים להשתנות בין חבילות. ראו את מחירי TrekMail או עברו ישירות אל TrekMail.

שתפו מאמר זה

אנו משתמשים בטכנולוגיות הנחוצות להפעלה ולאבטחה של TrekMail. באישור, אתם מאפשרים גם ניתוח מוגבל ומדידת פרסום כמתואר במדיניות העוגיות שלנו.

התחברות ל-TrekMail

גישה ללוח הבקרה, לתיבות הדואר ול-DNS שלכם.

או

12 תווים הסיסמאות תואמות

או

דוא״ל האיפוס נשלח

אם קיים חשבון לכתובת הזו, שלחנו אליה הוראות לאיפוס הסיסמה.

בהמשך אתם מסכימים ל תנאי השימוש ול מדיניות הפרטיות של TrekMail.