آیا همه منابع ایمیل دامنه خود را میشناسید؟ آیا اسپمرها سعی میکنند دامنه ایمیل شما را برای فرصتهای هک یا کلاهبرداری جعل کنند؟ آیا از بهترین شیوههای ایمیل برای اطمینان از تحویل inbox پیروی میکنید؟ اینها سوالاتی هستند که DMARC به آنها پاسخ داده و به شما کنترل کامل تحویل ایمیل برای دامنه کسب و کارتان را میدهد. همه چیزهایی را که باید درباره DMARC بدانید در این مطلب ذکر کردهایم
DMARC چیست؟
DMARC مخفف Domain-based Message Authentication, Reporting & Conformance استانداردی است که از ارسال هرزنامهها از دامنه شما برای ارسال ایمیل بدون اجازه (spoofing) جلوگیری میکند. ارسالکنندگان هرزنامه میتوانند آدرس «from» را روی پیامها جعل کنند، بنابراین به نظر میرسد که اسپم از طرف کاربری در دامنه شما آمده است. یک مثال خوب از این موضوع جعل PayPal است، جایی که اسپم یک ایمیل تقلبی برای شما ارسال نموده و وانمود میکند که PayPal است تا اطلاعات حساب شما را به دست آورد. DMARC تضمین میکند که این ایمیلهای تقلبی حتی قبل از اینکه آنها را در inbox خود ببینید مسدود میشوند. علاوه بر این، DMARC به شما گزارش میدهد که چه کسی از طرف دامنه شما ایمیل ارسال کرده و اطمینان حاصل میکند که فقط ایمیلهای قانونی دریافت میشود.
خبر خوب این است که DMARC برای هر کسی در دسترس و رایگان است و به شما امکان میدهد ایمیلهای دامنه خود را ایمن کنید و کنترل تحویل ایمیل خود را به دست آورید. تنها کاری که باید انجام دهید این است که مراحل پیاده سازی را دنبال کنید و یک Email Service Provider (ESP) را انتخاب کنید که از DMARC پشتیبانی کند.
مزایای پیاده سازی DMARC چیست؟
DMARC یکی از اجزای کلیدی استراتژی امنیت ایمیل و قابلیت تحویل یک برند است زیرا این امکان را فراهم میکند:
- قابلیت مشاهده (Visibility) – ایمیلهای ارسال شده با استفاده از دامنه خود را بررسی کنید تا مطمئن شوید که با استفاده از SPF و/یا DKIM به درستی احراز هویت شدهاند.
- محافظت از نام تجاری (Brand Protection) - پیام های جعلی را که ممکن است به اعتبار برند شما نزد مشتریان آسیب برساند مسدود کنید.
- امنیت (Security) - از قربانی شدن (victim) کاربران به کلاهبرداریهای فیشینگ که میتواند امنیت سازمان شما را به خطر بیندازد جلوگیری نمائید.
آیا DMARC نرخ تحویل (Deliverability) را بهبود میبخشد؟
DMARC به شما امکان میدهد ببینید ایمیلهای ارسال شده با دامنه شما به درستی با استفاده از SPF و DKIM احراز هویت میشوند یا خیر که به شما امکان میدهد هر گونه مشکل احراز هویت را که میتواند بر قابلیت تحویل ایمیلهای شما تأثیر بگذارد شناسایی و برطرف کنید.
جلوگیری از رسیدن ایمیلهای جعلی به کاربران میتواند شکایات هرزنامه (اسپم) را کاهش داده و از اعتبار دامنه شما نز ISP ها محافظت کند.
DMARC چگونه کار میکند؟
قبل از درک پروتکل DMARC، ابتدا باید دو استاندارد احراز هویت ایمیل به نامهای DKIM و SPF را بشناسید. DMARC بر اساس این استانداردها ساخته شده است، بنابراین اجازه دهید ابتدا آنها را بررسی کنیم.
DKIM (Domainkeys Identified Mail)
DKIM روشی برای تایید صحت پیامهای ایمیل است. هنگام ارسال، هر ایمیل با استفاده از یک کلید خصوصی امضا شده و سپس در سرور ایمیل دریافت کننده (ISP) با استفاده از یک کلید عمومی که در DNS است، اعتبارسنجی میشود. این فرآیند تایید میکند که پیام در حین انتقال تغییر نکرده است. مثلا به Gmail اجازه میدهد که پیام را بازرسی و تصمیم بگیرد که آیا پیام همچنان در همان حالت (state) است که ارسال شده است. به عبارت دیگر، کسی را از رهگیری ایمیل شما، تغییر آن و سپس ارسال آن به همراه اطلاعات جدید (جعل) باز می دارد. یکی دیگر از مزایای کمتر شناخته شده DKIM این است که ISPها از این اطلاعات برای ایجاد شهرت(reputation) در دامنه شما استفاده میکنند. اگر روشهای ارسال عالی دارید (low spam, bounces, high engagement) میتواند به بهبود اعتماد و شهرت نزد ISP کمک کند.
با DKIM ، هر ایمیلی که ارسال میکنید با کلید خصوصی ذخیره شده در سرور ایمیل شما امضا میشود. ISPهای بعدی میتوانند یکپارچگی یک پیام را با واکشی(fetching) یک کلید عمومی مربوطه از یک رکورد DKIM ویژه در DNS شما تایید کنند. رمزنگاری پشت این همان چیزی که در SSL استفاده میشود و تضمین میکند که فقط پیامهایی که با کلید خصوصی شما امضا شدهاند از بررسی کلید عمومی عبور میکنند. نمونهای از کلید عمومی در در DNS به شکل زیر است:
pm._domainkey.domain.com IN TXT
k=rsa\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOCTHqIIQhGNISLchxDvv2X8NfkW7MEHGmtawoUgVUb8V1vXhGikCwYNqFR5swP6UCxCutX81B3+5SCDJ3rMYcu3tC/E9hd1phV+cjftSFLeJ+xe+3xwK+V18kM46kBPYvcZ/38USzMBa0XqDYw7LuMGmYf3gA/yJhaexYXa/PYwIDAQAB
کلید خصوصی باید مخفی بماند. اگر یک کاربر بدخواه به کلید مخفی شما دست پیدا کند، میتواند امضاهای DKIM را جعل کند.
SPF (Sender Policy Framework)
SPF راهی برای ISPها (مانند Gmail ، Yahoo و...) است تا تایید کنند که سرور ایمیل مجاز به ارسال ایمیل برای یک دامنه است. این یک لیست سفید برای سرویسهایی است که مجاز به ارسال ایمیل از طرف شما هستند. مانند DKIM، SPF نیز از طریق DNS کار میکند. به عنوان مثال، اگر از Campaign Monitor برای ارسال ایمیل بازاریابی و Gmail برای ارسال ایمیل معمولی استفاده میکنید، می توانید یک رکورد DNS که شامل سرورهای ایمیل آنها به عنوان منابع قابل اعتماد برای ارسال ایمیل برای دامنه خود است، وارد کنید.
v=spf1 a mx include:spf.mtasv.net include:_spf.google.com include:cmail1.com ~all
به خاطر داشته باشید، یک دامنه ارسال تنها باید یک رکورد SPF داشته باشد. هر سرویسی که استفاده میکنید از طریق دستورالعمل های includeمانند مثال بالا به رکورد SPF اضافه میشود.
SPF برای تایید اینکه چه کسی میتواند از طرف دامنه شما ایمیل ارسال کند بسیار مهم شده است و مستقیم بر تحویل ایمیل تأثیر میگذارد. نه تنها برای ایمیل مارکتینگ یا حسابهای ایمیل شرکتی شما لازم است، بلکه برای مواردی مانند پشتیبانی (Zendesk، Helpscout و...) یا سایر ارائهدهندگانی که از طرف شما ایمیل ارسال میکنند نیز به آن نیاز دارید.
اگر کنجکاو هستید، میتوانید با نگاه کردن به header پیام، تایید کنید که آیا پیامی بهدرستی با DKIM امضا شده است یا SPF آن پاس شده است. در Gmail، این را میتوان با استفاده از گزینه Show original مشاهده کرد.
DKIM و SPF چه ربطی به DMARC دارند؟
خب با SPF و DKIM، این بر عهده ISP است که تصمیم بگیرد با نتایج چه کند. DMARC قدمی فراتر گذاشته و به شما کنترل کامل میدهد تا سیاستی را برای reject یا quarantine ایمیلهای منابعی که نمیشناسید یا به آنها اعتماد ندارید، تنظیم کنید، بر اساس نتایج DKIM و SPF. به عنوان مثال، از آنجایی که PayPal یک هدف بزرگ برای کلاهبرداری ایمیل است، آنها یک رکورد DMARC منتشر میکنند که میگوید اگر DKIM یا SPF شکست خورد، پیام را ریجکت کنید. ISPهای شرکتکننده به این خطمشی نگاه میکنند و ایمیلهایی را که با شکست مواجه میشوند کنار میگذارند. طبق گزارش Agari، در فصل تعطیلات 2013، DMARC به PayPal کمک کرد تا حدود 25 میلیون حمله را متوقف کند.
DMARC به شما این امکان را میدهد که به ISPها بگویید در صورت عدم وجود SPF و DKIM چگونه میخواهید رفتار کنند. نمودار زیر نشان میدهد که چگونه SPF و DKIM با خط مشی DMARC شما کار میکنند.
مشابه SPF و DKIM، این سیاست در DNS قرار دارد. یک رکورد DMARC معمولی در DNS به شکل زیر خواهد بود:
_dmarc.domain.com TXT v=DMARC1\; p=reject\; pct=100\; rua=mailto:dmarc-reports@domain.com\;
رکورد بالا یک خطمشی (policy) برای رد کردن (p=reject) 100% (pct=100) تعیین میکند، اگر ایمیل DKIM یا SPF را پاس نمیکند. علاوه بر این، میتوانید از ISPها بخواهید گزارشهای جمعی درباره این تصمیمها را به آدرس ایمیل (rua=mailto:dmarc-reports@domain.com) ارسال کنند. این رکورد و سیاست چیزهای بیشتری وجود دارد که به زودی به آنها خواهیم پرداخت.
با گزارشات DMARC چه باید کرد؟
ISPهایی که از DMARC پشتیبانی مینمایند هم گزارشهایی در مورد ارسال فعالیت برای دامنه شما ایجاد میکنند. گزارشها فایلهای XML هستند که به آدرس ایمیل مشخص شده در رکورد DMARC شما ایمیل میشوند. گزارشها حاوی مبدا ارسال (دامنه یا IP) به همراه اینکه آیا پیام SPF و DKIM ارسال شده است یا خیر. این یکی از بهترین جنبههای DMARC است. نه تنها به شما این امکان را میدهد که امنیت ایمیل دامنه خود را کنترل کنید، بلکه به شما دید عمیقی نسبت به افرادی که از طرف شما ارسال میکنند و اینکه آیا آنها با DKIM امضا میکنند یا به کمک SPF ارسال مینمایند، میدهد.مشکل گزارشها این است که باید یک فایل XML را غربال کنید.
یک رکورد DMARC چگونه است؟
میتوانید با تایپ < dig txt _dmarc.sendgrid.net > در ترمینال خود بررسی کنید که یک رکورد DMARC چگونه است. سپس، Valimail را برای مشاهده رکورد DMARC برای هر دامنهای که یکی منتشر شده است، بررسی کنید.
در اینجا نمونه ای از رکورد DMARC Twilio SendGrid آورده شده است:
v=DMARC1;p=none;rua=mailto:dmarc@parsdev.com;ruf=mailto:dmarc@parsdev.com;rf=afrf;pct=100
تجزیه و تحلیل نحوه عملکرد DMARC
در ادامه یک تفکیک کد عمیق از نحوه عملکرد DMARC آمده است:
"v=DMARC1"
این نمونه نسخهای را نشان میدهد که سرور دریافت کننده هنگام اسکن رکورد DNS برای دامنه ارسال کننده پیام به دنبال آن است. اگر دامنه حاوی یک رکورد متنی نباشد که با "v=DMARC1" شروع شود، سرور دریافت کننده، بررسی DMARC را اجرا نمیکند.
“p=none”
خطمشی(policy) است که کاربر در رکورد DMARC شما انتخاب میکند و به سرور ایمیل گیرنده شرکتکننده میگوید با ایمیلهایی که مطابق با استانداردهای SPF و DKIM نیستند، اما ادعا میکنند از دامنه شما هستند، چه کاری انجام دهد. در این مورد، سیاست "none" خواهد بود. 3 نوع سیاست وجود دارد:
- p=none: به گیرنده دستور میدهد تا هیچ اقدامی را علیه ایمیلهای غیرمجاز انجام ندهد، اما به ارسال گزارشهای ایمیل به "mailto:" در رکورد DMARC برای هرگونه تخلف ادامه دهد.
- P= quarantine: این دستور به گیرنده میگوید که ایمیلهای ناموفق را، معمولا در پوشه اسپم، جدا کند.
- p=reject: این سیاست به گیرنده اجازه میدهد در صورت فعال بودن، تمام ایمیلهای غیرمجاز در نظر گرفته شده برای دامنه را رد کند. در عوض، فقط ایمیلهایی که توسط دامنه شما تایید شده است میتوانند به صندوق ورودی(inbox) دسترسی پیدا کنند. همه اینمیلهای دیگر برای کاهش هر گونه موارد مثبت کاذب رد میشوند.
“rua=mailto:dmarc@parsdev.com”
این بخش اسکریپت حاوی یک آدرس ایمیل "mailto:" به انتخاب شما به سرور دریافت کننده نشان میدهد که گزارش های انبوهی از خرابیهای DMARC را کجا ارسال کند. این گزارشها حاوی اطلاعات سطح بالا و غیردانهای درباره خرابیهای DMARC هستند و روزانه برای سرپرست دامنه که رکورد DMARC را در اختیار دارد ارسال میشود.
“ruf=mailto:dmarc@parsdev.com”
این نمونه به سرور دریافت کننده میگوید که در مورد خرابیهای DMARC گزارشهای قانونی را کجا ارسال کند. این گزارش های قانونی حاوی جزئیات مربوط به هر شکست است و در زمان واقعی برای مدیر دامنه که دارای رکورد DMARC است ارسال میشود. برخلاف نمونه "rua"، آدرس ایمیل "mailto:" باید از دامنه رکورد DMARC باشد که آن را منتشر کرده است.
"rf=afrf"
فرمتی است که رویکرد گزارش مورد نظر بیمه گذار را به سرور دریافت کننده میگوید. در اینجا، "afrf" به معنای aggregate failure reporting format است.
“pct=100”
این بخش به سرور دریافت کننده میگوید که چه مقدار از ایمیلهای دریافتی باید مطابق با مشخصات خط مشی DMARC به عنوان مقدار درصد از 1 تا 100 باشد. در این مورد، اگر "p=" 100٪ باشد، تمام ایمیلهایی که در بررسی DMARC ناموفق هستند، رد می شوند. برعکس، وقتی روی ۱٪ تنظیم شود، تنها ۱٪ از ایمیلهای ناموفق رد میشوند و غیره.
اما این تازه شروع است. مکانیسم های قابل توجه دیگری نیز وجود دارد که باید در یک رکورد DMARC گنجانده شود.
“sp=”
این دستور تصمیم می گیرد که آیا سرور دریافت کننده باید خط مشی DMARC را برای زیر دامنهها اعمال کند یا خیر.
“adkim=”
این بخش DKIM احراز هویت DMARC را روی «s» برای سختگیرانه (strict) یا «r» برای آرامش(relaxed) تنظیم میکند. تنظیم strict تضمین میکند که DKIM تنها در صورتی عبور میکند که فیلد "d=" در امضا دقیقا با دامنه "from" مطابقت داشته باشد. وقتی روی relaxed تنظیم شود، پیامها فقط در صورتی DKIM را ارسال میکنند که فیلد «d=» با دامنه اصلی آدرس «from ri » مطابقت داشته باشد.
“ri=”
به یاد داشته باشید که فاصله زمانی را برای هر چند وقت یکبار دریافت گزارشهای انبوه درباره خرابیهای DMARC تنظیم کنید.
نظرتون برامون مهمه شما اولین نظر رو بنویسید