במאמר הקודם כתבתי על DKIM – דרך לאימות זהות השולח והתוכן של המייל. לפני כן כתבתי מאמר מפורט על SPF – שהיא דרך קלה ליישום של זהות השולח. כדי להבין את המאמר הזה חובה לקרוא את המאמרים האלו. אני משתמש במילים DKIM ו-SPF לאורך כל המאמר. אין טעם ליישם DMARC אם אין לכם DKIM ו-SPF.
DMARC זה ראשי תבות של Domain-based Message Authentication, Reporting & Conformance – שזה אומר כמובן שזה ראשי תבות שלעולם לא תזכרו את המשמעות שלהם. לא מדובר במנגנון הגנה אקטיבי אלא בהצהרה על מדיניות – או יותר נכון – מה קורה עם מייל שמישהו שולח – האם הוא אמור לעבור SPF? DKIM? ומה קורה עם סאב דומיינים? ואם המייל נכשל בבדיקה? מה קורה איתו?
אפשר לתת לשרת המייל שקיבל את המייל להחליט מה לעשות אבל אפשר ואפילו רצוי להורות לו מה לעשות. איך עושים את זה? באמצעות השתלת טקסט עם הוראות בשם המתחם. כאשר שרת מייל כלשהו מקבל מייל, הוא מבצע שאילתת nslookup כדי לראות מה מדיניות ה-DMARC. ואז הוא פועל בהתאם. אם אין DMARC? הוא יבדוק אם יש SPF או DKIM ויפעל לפי ההגדרות שלו. DMARC פשוט נותן הנחיות והוא המשלים של SPF ו-DKIM.
איך בודקים אם יש לנו DMARC? אפשר לבדוק עם כלים או להריץ פשוט nslookup:
nslookup -type=txt _dmarc.YOURDOMAIN.com
התשובה תהיה ה-DMARC. הנה למשל שאילתת DMARC שעשיתי ל-mailchimp:
בטקסט הזה:
v=DMARC1; p=reject; rua=mailto:[email protected]; ruf=mailto:[email protected]
אפשר לראות הוראות מדויקות. איזה הוראות? לפי הפרמטרים כמובן. כאשר כל אחד יכול לקבוע איזה פרמטר שהוא רוצה ובכך להנחות את שרת המייל שמגיע אליו איזשהו מייל שמצהיר על עצמו שהוא מהשרת שלנו.
בואו נעבור על ההוראות בקצרה, כי יש מספר פרמטרים, זה עובד בדיוק כמו SPF ו-DMARC:
פרמטר | הסבר | דוגמה |
v | גרסה. זה תמיד DMARC1 (מנדטורי) | v=DMARC1 |
p | מה השרת צריך לעשות אם המבחן של DKIM ו/או SPF נכשל? יש שלוש אפשרויות: none – החלטת השרת quarantine – לסמן כבעייתי. בג׳ימייל זה אל תיבת הספאם reject – למחוק (מנדטורי) | p=reject |
rua | ראשי תבות של reporting URI aggregated – כתובת מייל שאליה מגיע דו״ח מסכם מלא של כל הדחיות. כך אפשר לראות אם יש סקאמרים וספאמרים שמנסים להתלבש עליך ומה מקורם. הדו״ח והפורמט שלו הם ב-XML. מדובר בדו״ח מסכם שמבצע אגרגציה של כל המיילים. (לא חובה אך מומלץ) | rua=mailto:[email protected] |
fo | ראשי תבות של Failure reporting options – איזה מיילים להכניס לדו״ח של rua? 0 (ברירת המחדל) – המיילים שנכשלו גם ב-SPF וגם-DKIM. 1 – המיילים שנכשלו או ב-SPF או ב-DKIM. d – רק כאלו שנכשלו ב-DKIM s – רק כאלו שנכשלו ב-SPF (לא חובה אך מומלץ, רלוונטי ל-rua) | fo=1 |
ruf | כתובת מייל שאליה נשלח דו״ח פורנזי על כל מייל שנכשל בבדיקה. בניגוד ל-rua, פה מדובר במייל מפורט יותר ולא דו״ח כללי. המייל המפורט מכיל את כל ההדרים והתוכן, יש ספקי מייל שלא יכבדו את ruf משיקולי פרטיות וגם כמות המיילים שתקבלו עלולה להיות גדולה. | ruf=mailto:[email protected] |
ri | הזמן, בשניות, שיעבור בין דו״ח מסכם לדו״ח מסכם של ה-rua. ברירת המחדל היא יום. כלומר שרת המייל יאגור את כל הכשלונות וכל יום ישלח לכתובת שב-rua את הדו״ח המסכם. אפשר לשנות את זה. למשל 604800 שהוא שבוע. | ri=604800 |
pct | כמה אחוזים מתעבורת המייל יהיו כפופים למדיניות שהותוותה ב-DMARC? זה חשוב לספקים גדולים שעושים פריסה הדרגתית. ברירת המחדל היא 100. | pct=25 |
adkim | האם בדיקת ה-DKIM תהיה strict – כלומר סאב דומיין לא נחשב כחלק מהדומייןאו relaxed – סאב הדומיינים נחשבים כאותו דומיין. כלומר מייל שנשלח מ mail.domain.com מטופל כמו מייל שנשלח מ domain.com ברירת המחדל היא relaxed. | adkim=strict |
aspf | האם בדיקת ה-SPF תהיה strict – כלומר סאב דומיין לא נחשב כחלק מהדומייןאו relaxed – סאב הדומיינים נחשבים כאותו דומיין. כלומר מייל שנשלח מ mail.domain.com מטופל כמו מייל שנשלח מ domain.com ברירת המחדל היא relaxed. | spf=strict |
כאמור DMARC הוא לא חובה. הוא לא מחייב שרתי מייל ולמרות שכל ספקי המייל הגדולים משתמשים בו יש כאלו שלא משתמשים בו. אבל הצבה שלו, יחד עם מדיניות DKIM ו-SPF טובה, תאותת על כך שהשרת שלכם הוא שרת מייל לגיטימי.
מדיניות SPF היא משהו שבונה אתר יכול ליישם בעצמו. מדיניות DKIM היא משהו שצריך עזרה ממנהל האחסון כדי לעשות (לייצר מפתח פרטי ולהתקין אותו בשרת המייל ולהציב את המפתח הציבורי ברקורד בשם המתחם). מדיניות DMARC קלה להפעלה על ידי כל בונה אתרים. וידאתם שיש לכם DMARC? שיש לכם SPF? תדאגו גם להכניס רקורד של DMARC לשם המתחם שלכם.
הכלי הזה יסייע לכם לבנות את ה-DMARC. אחרי זה, אתם יכולים להכניס אותו עם כל עורך DNS zones. כמו זה שיש ב-Cpanel:
ואז פשוט להכניס את השם ואת הערך.
ניתן לבדוק את התוצאה גם עם nslookup כמו שהראיתי בהתחלה או עם אתר יעודי.
מיילים נראים לפעמים כמו וודו, אבל בפועל מדובר בפרוטוקול תקשורת קל להבנה וליישום. SPF הוא קל להבנה ולהטמעה. DKIM הוא מעט יותר מורכב, אבל ממש לא נורא במיוחד אם אתם לא אלו שצריכים להפעיל את שרת המייל. התקנת DKIM על שרת מייל דורשת הבנה. אבל בדיקה של DKIM והבנה בסיסית שלו על מנת לראות שהוא עובד זה ממש פשוט. אלו שתי המשוכות הגדולות בדרך להבטחה שהמייל שלכם לא יהיה בספאם של הלקוחות. DMARC זה הדובדבן על הקצפת. וגם מבטיח שאם יש פתאום תקלה, תקבלו דיווח על זה לכתובת מייל יעודית.
2 תגובות
סוגר שלושה מאמרים מעולים על אבטחת מיילים
עם הסבר פשוט וקל להבנה
תודה רבה!!!
מה קורה אם הגדרתי היטב את כל ההגדרות האלו, ואז הרבה ספאמרים מנסים להתחזות למשלוח מהמייל שלי (ונכשלים)? האם המוניטין של הדומיין שלי עדיין עלול לרדת ו-gmail ישלח מיילים לגיטימיים שלי אל הספאם?
לאחרונה מיילים מהדומיין הפרטי שלי מגיעים ב-gmail לספאם (אני שולח רק מיילים פרטיים ובודדים, לא רשימות תפוצה). איך אפשר לתקן את המוניטין בעיני gmail?