מדריך מקצועי לאבטחת דואר אלקטרוני ארגוני:
הגדרת רשומות SPF, DKIM ו-DMARC
הגנה מפני פישינג, ספאם וזיוף זהות שולח
|
פרטי המסמך מיועד ל: מנהל/ת מחשוב ארגוני רמת קושי: בינונית-מתקדמת זמן יישום משוער: 2-4 שעות גרסה: 1.0 | 2024 |
סקירה מנהלתית
מסמך זה מספק הנחיות מפורטות להגדרת שלושת מנגנוני האימות המרכזיים לדואר אלקטרוני: SPF, DKIM ו-DMARC. יישום נכון של מנגנונים אלו מהווה שכבת הגנה קריטית מפני מתקפות פישינג, ספאם והתחזות לשולחים לגיטימיים.
|
מה תשיג לאחר יישום המדריך? ✓ מניעת זיוף כתובת השולח (Email Spoofing) ✓ הפחתת סיכוי הגעת הודעות פישינג לעובדים ✓ שיפור מהימנות הדואר היוצא מהארגון ✓ עמידה בדרישות אבטחה של ספקי דואר מרכזיים (Google, Microsoft) ✓ קבלת דוחות על ניסיונות שימוש לרעה בדומיין הארגוני |
חלק א’: רקע ומושגי יסוד
כיצד עובד דואר אלקטרוני – הבעיה הבסיסית
פרוטוקול SMTP, עליו מבוסס הדואר האלקטרוני, תוכנן ללא מנגנוני אימות. כל גורם יכול לשלוח הודעה תוך התחזות לכל כתובת שולח שיבחר. כדי לפתור בעיה זו, פותחו שלושה תקנים משלימים.
מה זה SPF?
Sender Policy Framework (SPF) הוא רשומת DNS מסוג TXT המגדירה אילו שרתי IP מורשים לשלוח דואר בשם הדומיין שלכם.
|
מושג |
הסבר |
|
DNS TXT Record |
רשומה בשרת ה-DNS המכילה מידע טקסטואלי |
|
IP מורשה |
כתובת IP של שרת שרשאי לשלוח מייל מהדומיין |
|
Hard Fail (-all) |
הודעות ממקורות לא מורשים נדחות |
|
Soft Fail (~all) |
הודעות ממקורות לא מורשים מסומנות אך מועברות |
|
all (Pass) + |
כל שרת יכול לשלוח מייל בשם הדומיין. |
|
Neutral (?all) |
אין מדיניות – לא מומלץ לשימוש |
מה זה DKIM?
DomainKeys Identified Mail (DKIM) מוסיף חתימה דיגיטלית להודעות הדואר היוצא. החתימה מאפשרת לשרת המקבל לאמת שההודעה אכן נשלחה מהדומיין הנטען ושתוכנה לא שונה בדרך.
|
כיצד עובד DKIM – תהליך: 1. שרת הדואר יוצר זוג מפתחות: פרטי (Private Key) וציבורי (Public Key) 2. המפתח הציבורי מפורסם ב-DNS של הדומיין שלכם 3. כל הודעה יוצאת נחתמת עם המפתח הפרטי (כותרת DKIM-Signature) 4. שרת המקבל מושך את המפתח הציבורי מה-DNS ומאמת את החתימה 5. אם החתימה תקינה – ההודעה אומתה כלגיטימית |
מה זה DMARC?
Domain-based Message Authentication, Reporting & Conformance (DMARC) מגדיר מה לעשות עם הודעות שנכשלות באימות SPF ו/או DKIM. בנוסף, DMARC מאפשר קבלת דוחות על ניסיונות לשלוח דואר בשם הדומיין שלכם.
|
מדיניות DMARC |
תיאור ומתי להשתמש |
|
p=none |
מצב ניטור בלבד. מתאים לשלב ראשון – הודעות לא מחסומות, רק דוחות נשלחים |
|
p=quarantine |
הודעות חשודות עוברות לספאם. מתאים לאחר אימות שה-SPF וה-DKIM תקינים |
|
p=reject |
הודעות חשודות נדחות לחלוטין. הגנה מקסימלית – ליישום בשלב אחרון |
חלק ב’: הגדרת SPF
שלב 1: זיהוי כל שרתי הדואר היוצאים
לפני יצירת רשומת SPF, עליכם לאסוף רשימה מלאה של כל מקורות הדואר הלגיטימיים של הארגון:
- שרת הדואר הראשי של הארגון (Exchange, Postfix, וכד’)
- שירותי דואר בענן (Microsoft 365, Google Workspace)
- מערכות שיווק בדוא”ל (Mailchimp, HubSpot, Sendinblue)
- מערכות CRM המשלחות דוא”ל (Salesforce, Zoho)
- מערכות ניטור ודוחות אוטומטיים
- שירותי סחר אלקטרוני
- מערכות HR ותשלום שכר
שלב 2: בניית רשומת ה-SPF
מבנה רשומת SPF תקנית:
|
v=spf1 [מקורות מורשים] [מדיניות ברירת מחדל]
# דוגמאות למקורות: ip4:203.0.113.10 # כתובת IPv4 ספציפית ip4:203.0.113.0/24 # טווח כתובות IPv4 ip6:2001:db8::/32 # כתובת IPv6 include:spf.protection.outlook.com # Microsoft 365 include:_spf.google.com # Google Workspace include:servers.mcsv.net # Mailchimp include:sendgrid.net # SendGrid a # כתובת ה-A של הדומיין עצמו mx # שרתי ה-MX של הדומיין |
דוגמאות מלאות לרשומות SPF
ארגון עם Microsoft 365 בלבד:
|
v=spf1 include:spf.protection.outlook.com -all |
ארגון עם Google Workspace בלבד:
|
v=spf1 include:_spf.google.com -all |
ארגון עם שרת דואר עצמאי + Mailchimp:
|
v=spf1 ip4:203.0.113.10 include:servers.mcsv.net -all |
ארגון מורכב – שרת עצמאי + Microsoft 365 + SendGrid:
|
v=spf1 ip4:203.0.113.10 ip4:198.51.100.5 include:spf.protection.outlook.com include:sendgrid.net ~all |
שלב 3: פרסום רשומת ה-SPF ב-DNS
כנסו לממשק ניהול ה-DNS של הדומיין (Cloudflare, GoDaddy, Route53 וכד’) והוסיפו:
|
שדה |
ערך |
|
Type |
TXT |
|
Host / Name |
@ (הדומיין הראשי) |
|
Value |
v=spf1 include:… -all |
|
TTL |
3600 (שעה אחת – מומלץ) |
שלב 4: אימות רשומת SPF
לאחר פרסום (המתינו עד 48 שעות), בדקו עם הכלים הבאים:
- MXToolbox SPF Checker: https://mxtoolbox.com/spf.aspx
- Google Admin Toolbox: https://toolbox.googleapps.com/apps/checkmx/
- SPF Record Testing Tools: https://www.spf-record.com/spf-lookup
בדיקה ב-Command Line:
|
# Windows: nslookup -type=TXT yourdomain.com
# Linux / macOS: dig TXT yourdomain.com |
|
אזהרות חשובות ל-SPF
|
חלק ג’: הגדרת DKIM
שלב 1: הפעלת DKIM בשרת/שירות הדואר
Microsoft 365 (Exchange Online)
- היכנסו ל-Microsoft 365 Defender Portal: https://security.microsoft.com
- נווטו אל: Email & Collaboration > Policies & Rules > Threat Policies > Email Authentication Settings
- בחרו בלשונית DKIM
- בחרו את הדומיין שברצונכם להפעיל עבורו DKIM
- לחצו על Enable לאפשר חתימת DKIM
- המערכת תציג שתי רשומות CNAME שיש להוסיף ל-DNS שלכם
רשומות ה-CNAME שתקבלו:
|
selector1._domainkey.yourdomain.com CNAME selector1-yourdomain-com._domainkey.yourtenant.onmicrosoft.com selector2._domainkey.yourdomain.com CNAME selector2-yourdomain-com._domainkey.yourtenant.onmicrosoft.com |
Google Workspace (Gmail)
- היכנסו ל-Google Admin Console: https://admin.google.com
- נווטו אל: Apps > Google Workspace > Gmail > Authenticate Email
- בחרו את הדומיין הרצוי
- לחצו על Generate New Record
- בחרו DKIM key length: 2048 bit (מומלץ)
- העתיקו את ערך ה-TXT שהתקבל
- הוסיפו את הרשומה ל-DNS
- חזרו ל-Admin Console ולחצו Start Authentication
שרת Postfix + OpenDKIM (Linux)
|
# התקנה: sudo apt-get install opendkim opendkim-tools
# יצירת מפתחות: opendkim-genkey -t -s mail -d yourdomain.com # נוצרים: mail.private (המפתח הפרטי) ו-mail.txt (רשומת ה-DNS)
# העברת המפתח הפרטי למיקום בטוח: sudo mv mail.private /etc/opendkim/keys/yourdomain.com/ sudo chown opendkim:opendkim /etc/opendkim/keys/yourdomain.com/mail.private sudo chmod 600 /etc/opendkim/keys/yourdomain.com/mail.private |
שלב 2: פרסום רשומת DKIM ב-DNS
|
שדה |
ערך |
|
Type |
TXT (או CNAME עבור Microsoft 365) |
|
Host / Name |
mail._domainkey.yourdomain.com |
|
Value |
v=DKIM1; k=rsa; p=MIGfMA0GCSq… (המפתח הציבורי) |
|
TTL |
3600 |
שלב 3: אימות רשומת DKIM
- MXToolbox DKIM Lookup: https://mxtoolbox.com/dkim.aspx
- DKIM Validator: https://dkimvalidator.com/
- שלחו הודעת ניסיון ל-Gmail ובדקו ‘Show Original’ לאימות חתימה
|
dig TXT mail._domainkey.yourdomain.com # או ב-Windows: nslookup -type=TXT mail._domainkey.yourdomain.com |
חלק ד’: הגדרת DMARC
גישת ה-3 שלבים להטמעת DMARC
הטמעת DMARC נכונה מתבצעת בהדרגה כדי למנוע חסימת דואר לגיטימי:
|
שלב 1 – ניטור (Monitor) | שבועות 1-4 מדיניות: p=none מטרה: לקבל דוחות ולהבין את תמונת הדואר הנוכחית, ללא חסימה פעולה: נתחו את הדוחות שמגיעים לכתובת rua ו-ruf שהגדרתם |
|
שלב 2 – הסגר (Quarantine) | שבועות 4-8 מדיניות: p=quarantine מטרה: הודעות חשודות מועברות לתיקיית הספאם פעולה: המשיכו לנטר דוחות ולוודא שדואר לגיטימי לא נחסם |
|
שלב 3 – דחייה (Reject) | לאחר אימות מלא מדיניות: p=reject מטרה: הגנה מקסימלית – הודעות חשודות נדחות לחלוטין פעולה: עברו לשלב זה רק לאחר שאימתם שכל הדואר הלגיטימי עובר SPF ו-DKIM |
שלב 1: בניית רשומת DMARC
|
v=DMARC1; p=[none/quarantine/reject]; rua=mailto:dmarc@yourdomain.com; ruf=mailto:dmarc-forensic@yourdomain.com; pct=100; adkim=r; aspf=r |
פירוט כל הפרמטרים
|
פרמטר |
הסבר ואפשרויות |
|
v=DMARC1 |
גרסת פרוטוקול – חייב להיות הפרמטר הראשון |
|
p=none/quarantine/reject |
המדיניות הראשית |
|
sp= |
מדיניות עבור תת-דומיינים. אם לא מוגדר – מורש מ-p |
|
rua=mailto:… |
כתובת לדוחות מצטברים (XML יומיים) |
|
ruf=mailto:… |
כתובת לדוחות פורנזיים (פרטי כשלונות) |
|
pct=100 |
אחוז ההודעות שהמדיניות חלה עליהן (0-100) |
|
adkim=r |
קפדנות DKIM: r=relaxed (מומלץ), s=strict |
|
aspf=r |
קפדנות SPF: r=relaxed (מומלץ), s=strict |
|
fo=0/1/d/s |
אילו כשלונות לדווח. fo=1 = דוח על כל כשל |
שלב 2: דוגמאות רשומות DMARC
שלב ניטור (התחלה – מומלץ):
|
v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com; ruf=mailto:dmarc-forensic@yourdomain.com; fo=1 |
שלב הסגר (25% מההודעות):
|
v=DMARC1; p=quarantine; pct=25; rua=mailto:dmarc-reports@yourdomain.com; fo=1 |
שלב דחייה – הגנה מקסימלית:
|
v=DMARC1; p=reject; pct=100; rua=mailto:dmarc-reports@yourdomain.com; ruf=mailto:dmarc-forensic@yourdomain.com; fo=1; adkim=r; aspf=r |
שלב 3: פרסום רשומת DMARC ב-DNS
|
שדה |
ערך |
|
Type |
TXT |
|
Host / Name |
_dmarc.yourdomain.com |
|
Value |
v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com |
|
TTL |
3600 |
שלב 4: ניתוח דוחות DMARC
כלים לפרשנות דוחות DMARC (פורמט XML):
- DMARC Analyzer: https://www.dmarcanalyzer.com/
- Postmark DMARC: https://dmarc.postmarkapp.com/ (חינמי לדומיין אחד)
- Google Postmaster Tools: https://postmaster.google.com/
- Mimecast DMARC Analyzer: https://www.mimecast.com/products/dmarc-analyzer/
חלק ה’: פתרון בעיות נפוצות
|
בעיה |
פתרון מומלץ |
|
דואר לגיטימי מסומן כספאם |
ודאו שכל שרתי השליחה ב-SPF. בצעו מעבר ל-quarantine/reject בהדרגה. |
|
SPF נכשל עבור שירות חיצוני |
הוסיפו include מתאים לרשומת ה-SPF. בדקו בתיעוד השירות. |
|
חריגה מ-10 DNS Lookups |
השתמשו ב-https://dmarcly.com לזיהוי. החליפו includes בכתובות IP ישירות. |
|
DKIM חתימה לא מאומתת |
ודאו שה-TTL עבר. בדקו שהמפתח ב-DNS תואם לשרת. אמתו ה-Selector. |
|
לא מגיעים דוחות DMARC |
ודאו שכתובת rua נגישה. בדקו חסימה ב-Firewall. |
|
DMARC חוסם פורוורד |
הגדירו adkim=r ו-aspf=r (relaxed mode). שקלו שימוש ב-SRS. |
חלק ו’: רשימת בדיקה מסכמת
לפני היישום
- אספתי רשימת כל שרתי ושירותי הדואר הארגוניים
- זיהיתי את כל כתובות ה-IP השולחות דואר בשם הדומיין
- יש לי גישה לממשק ניהול ה-DNS
- יש לי גישה לממשק ניהול שרת/שירות הדואר
- הכנתי כתובת מייל ייעודית לקבלת דוחות DMARC
הגדרת SPF
- הגדרתי רשומת TXT עם v=spf1…
- כללתי את כל שרתי הדואר הלגיטימיים
- בדקתי שאין חריגה מ-10 DNS Lookups
- וידאתי שיש רשומת SPF אחת בלבד לכל דומיין/ סאב דומיין
- אימתתי את הרשומה עם MXToolbox
הגדרת DKIM
- הפעלתי DKIM בשרת/שירות הדואר
- יצרתי מפתח בגודל 2048 bit לפחות
- פרסמתי את המפתח הציבורי ב-DNS
- אימתתי את החתימה על הודעת ניסיון
- שמרתי את המפתח הפרטי בצורה מאובטחת
הגדרת DMARC
- פרסמתי רשומת DMARC עם p=none לניטור ראשוני
- הגדרתי כתובת rua לקבלת דוחות
- ניתחתי את הדוחות לפחות שבועיים
- לאחר אימות – עברתי ל-p=quarantine
- לאחר אימות נוסף – עברתי ל-p=reject
אחזקה שוטפת
- הגדרתי תזכורת חצי-שנתית לסקירת רשומות
- בכל הוספת שירות דואר חדש – מעדכן SPF
- מחליף מפתחות DKIM אחת לשנה (Key Rotation)
- עוקב אחר דוחות DMARC באופן שוטף
חלק ז’: כלים ומשאבים
כלי בדיקה חינמיים
|
כלי |
שימוש |
|
MXToolbox (mxtoolbox.com) |
בדיקת SPF, DKIM, DMARC, MX Records |
|
Google Admin Toolbox |
בדיקת הגדרות דומיין עבור Google Workspace |
|
DMARC Analyzer |
ניתוח דוחות DMARC, מעקב אחר שינויים |
|
Mail Tester (mail-tester.com) |
בדיקה כוללת של איכות הדואר היוצא |
|
Postmark DMARC |
ניתוח דוחות DMARC חינמי לדומיין אחד |
|
DKIMValidator.com |
אימות חתימת DKIM על הודעות |
|
DMARCLY SPF Flattening |
פתרון לחריגה ממגבלת 10 Lookups |
תיעוד רשמי
- RFC 7208 – SPF: https://tools.ietf.org/html/rfc7208
- RFC 6376 – DKIM: https://tools.ietf.org/html/rfc6376
- RFC 7489 – DMARC: https://tools.ietf.org/html/rfc7489
- Microsoft 365 Email Auth: https://docs.microsoft.com/en-us/microsoft-365/security/office-365-security/email-authentication-about
- Google Workspace SPF: https://support.google.com/a/answer/33786
|
טיפ מקצועי מסכם
נתחו את הדוחות בקפדנות, ורק לאחר שאתם בטוחים שכל הדואר הלגיטימי מאומת – עברו לחסימה. הדרגתיות היא המפתח להצלחה. |