استانداردهای مختلفی در جهت کمک به مهار روند پیشرفت مشکلات امنتی مربوط به ایمیل‌ها ارائه شده است. رکورد SPF یا "Sender Policy Framework"، یکی از این استانداردهاست که با استفاده از آن مالک یا صاحب یک دامنه می‌تواند، مشخص کند که کدام سرورهای ایمیل اجازه دارند از طریق دامنه آن‌ها ایمیل ارسال ‌کنند.

 

در این آموزش، به شرح جزئیات این استاندارد پرداخته شده است.

 

رکورد SPF چیست؟

SPF، یک استاندارد باز است که صاحب یک دامنه را قادر می‌سازد، یک لیست عمومی از ارسال کنندگان تأیید شده ارائه دهد. به عنوان مثال، اگر برای ارسال ایمیل معاملاتی خود از یک API ایمیل مانند Postmark استفاده کنید و سپس از Campaign Monitor برای ارسال ایمیل‌های بازاریابی خود استفاده نمایید، هر دو سرویس را به عنوان فرستنده تایید شده در نظر خواهید گرفت. از این طریق، سرورهای دریافت کننده ایمیل می‌توانند بررسی نمایند که ایمیل از سروری ارسال شده است که اجازه ارسال از طرف شما را دارد. اگر این پیام از سروری ارسال شده باشد که در لیست شما نیست، سرور دریافت کننده می‌تواند آن را جعلی بداند و بر اساس سیاست اتخاذ شده با آن رفتار کند.

در SPF، هر پیام ایمیل دارای دو آدرس فرستنده است که یکی از آن‌ها در بخش From ایمیل دیده می‌شود و در معرض دید قرار دارد و دیگری در قسمت سرآیند پیام پنهان بوده و در اصل آدرس بازگشت ایمیل است که تحت عنوان Return-Path شناخته می‌شود. این دو آدرس فرستنده می‌توانند مختلف باشند؛ ولیکن در فرایند ارزیابی اعتبار ایمیل؛ تنها از آدرس پنهان در سرآیند ایمیل استفاده می‌شود.

Return-Path، آدرس ایمیلی است که سرورهای گیرنده از آن برای آگاه کردن سرور ارسال کننده ایمیل از مشکلات تحویل استفاده می‌کنند. بنابراین یک ایمیل بدون در نظر گرفتن جعلی بودن آدرس From می‌تواند از SPF عبور نماید. مشکل این محدودیت این است که آدرس From همان چیزی است که گیرندگان در کلاینت‌های ایمیل خود می‌بینند. بعلاوه، حتی اگر پیامی در SPF با شکست روبه‌رو شود، هیچ تضمینی برای عدم ارسال آن وجود ندارد. تصمیم نهایی در مورد تحویل، به ISP دریافت کننده بستگی دارد.

SPF، تنها یکی از فاکتورهایی است که ISP برای تعیین اینکه آیا باید ایمیل ارسال شود، استفاده می‌کند. زمانی که صحبت از تأیید آدرس From می‌شود، DMARC استاندارد نسبتاً جدیدی است که برای رفع این نقص در SPF طراحی شده است.

 

دلیل نیاز به افزودن رکورد SPF به دامنه

اگرچه SPF، ممکن است عالی نباشد؛ ولیکن استفاده کردن از آن بهتر است. هرچند بدون راه‌اندازی SPF، همچنان می‌توانید ایمیل ارسال نمایید؛ اما انجام این کار شانس شما را بهبود می‌بخشد. داشتن سیاست SPF، یک سیگنال اعتماد اضافی به ISP ارائه می‌دهد تا بتوانید احتمال رسیدن ایمیل‌های خود را به صندوق ورودی افزایش دهید. سیاست SPF همچنین می‌تواند با افزودن یک لایه اضافی همراه با DKIM و DMARC، زمان سوء استفاده هرزنامه نویسان از دامنه شما، به کاهش اعلان‌های برگشت و خطا کمک کند.

 

نحوه عملکرد رکوردهای SPF

اکنون که یک تصویر کلی از SPF دارید، در این بخش به جزئیات فنی آن می‌پردازیم.

بیشتر سرویس‌های ایمیل، دستورالعمل‌های پیکربندی ساده‌ای از رکورد SPF را ارائه می‌دهند و سپس قسمت سخت را برای شما مدیریت می‌نمایند. برخی از ارائه دهندگان، مانند Postmark، نیازی به اضافه کردن هیچ رکورد DNS برای استفاده از SPF ندارند. خوشبختانه، برای بهره‌مندی از SPF لازم نیست که عملکرد درونی آن را درک کنید. اما افزایش دانش شما در مورد آن می‌تواند مفید باشد.

بیایید نگاهی به سیاست SPF در عمل بیندازیم و ببینیم روند آن به چه صورت عمل می‌کند:

 

همانطور که قبلاً ذکر شد، جزئیات اصلی در مورد SPF این است که با مشاهده دامنه Return-Path موجود در سرآیند ایمیل کار می‌کند. بدین معنی که سرور دریافت کننده، رکورد SPF دامنه را استخراج کرده و سپس بررسی می‌نماید که آیا IP سرور ایمیل منبع برای ارسال ایمیل برای آن دامنه تأیید شده است.

سرورهای دریافت کننده با بررسی یک ورودی خاص TXT DNS در دامنه شما، که شامل لیستی از آدرس‌های IP تأیید شده است، SPF را تأیید می‌کنند. این، یکی از جنبه‌های اصلی SPF است. با استفاده از DNS می‌تواند، چیزی را ایجاد کند که هر وب سایت یا برنامه‌ای از قبل دارد. این ورودی DNS شامل چندین قسمت است که هر کدام اطلاعات مختلفی را به سرور ارائه می‌دهند.

 

پیاده سازی رکورد SPF در دامنه

برای استفاده از SPF برروی ایمیل‌های ارسالی از طریق Postmark نیازی به انجام کاری نیست؛ اما برای بیشتر سرویس‌ها، اجرای SPF، تنها به یک ورودی TXT در DNS نیاز دارد. این ورودی، چندین مقدار را در یک خط کوتاه از متن تلفیق می‌کند. اگر یک ارائه دهنده نیاز دارد که آن‌ها را به قسمت ورودی SPF خود اضافه کنید، آن‌ها متن کامل مورد نیاز برای کپی کردن در ورودی SPF شما را ارائه می‌دهد. با این حال، باید دقت کنید که شما تنها باید بخش include: را از ساختار آن‌ها برداشته و به ورودی SPF موجود خود اضافه نمایید.

رایج‌ترین اشتباه هنگام تنظیم SPF، داشتن چندین ورودی SPF TXT در DNS شما است. اگر این کار را انجام دهید، سرور دریافت کننده نمی‌داند کدام ورودی SPF TXT ورودی قطعی است. این می‌تواند منجر به شکست سرورهای معتبر در SPF شود. بنابراین، هر زمان که نیاز به افزودن رکورد SPF برای یک سرویس جدید دارید، همیشه مطمئن شوید که از قبل ورودی SPF TXT را ندارید. اگر از قبل آن ورودی را دارید، تنها کافیست سرویس را به آن ورودی اضافه نمایید.

 

عملکرد ساختار رکورد SPF

ساختار رکورد SPF ممکن است در ابتدا پیچیده و گیج کننده به نظر برسد؛ اما درک آن هنگامی‌که اصول آن را بدانید کاملاً آسان است. بیایید عناصر اصلی آن را در مثال زیر تجزیه و تحلیل کنیم:

v=spf1 a mx include:spf.mtasv.net include:_spf.createsend.com ~all

v = spf1: این بیان می‌کند که کدام نسخه از SPF استفاده می‌شود.

a: این بیان می‌کند که اگر دامنه دارای یک رکورد آدرس (A یا AAAA) برای آدرس فرستنده باشد، پس مطابقت دارد. بنابراین، اگر از آدرس IP رکورد A شما برای ارسال ایمیل استفاده شود، عبور می‌کند.

mx: نسخه کوتاه این است که زمانی که ایمیل از آدرس IP سرورهای ایمیل ورودی دامنه نشات گرفته باشد، پس مطابقت دارد. سرور گیرنده ابتدا رکورد MX را با بالاترین اولویت بررسی می‌کند.

include: عبارات include در اصل به سرورهای دریافت کننده می‌گویند که مقادیر مربوط به رکوردهای SPF را در دامنه مشخص شده در آن بگنجاند. این رکوردها به طور کلی مجموعه‌ای از آدرس‌های IP را برای سرویس مشخص می‌کنند. در این حالت spf.mtasv.net حاوی ورودی SPF برای Postmark است و _spf.creatsend.com نمایانگر ورودی SPF Campaign Monitor است. برای بررسی مجدد اینکه همه موارد آنطور که باید کار می‌کند، می‌توانید با استفاده از دستور dig در ترمینال خود به این موارد نگاه کنید. بدین منظور، تنها dig txt spf.mtasv.net را تایپ کنید و رکورد SPF مربوط به Postmark و آدرس‌های IP مشخص شده را مشاهده نمایید.

~all: این مشخص می‌کند که همه پیام‌ها باید پذیرفته شوند؛ اما به عنوان یک “Soft fail” برچسب گذاری شوند و ISP دریافت کننده می‌تواند از آن به عنوان یک عامل اضافی برای بررسی هرزنامه بودن پیام استفاده کند. شما می‌توانید ~ را با - جایگزین کنید. در این صورت نشان می‌دهد که پیام باید رد (reject) شود. با این حال، بدلیل اینکه این حالت، سخت گیرانه تر است، توصیه نمی‌شود.

 

این مطلب نیز ممکن است برای شما مفید باشد: DKIM چیست و چرا اهمیت دارد؟

 

هر یک از این مقادیر، به سرورهای گیرنده اطلاعات مهمی را می‌دهد که می‌توانند از آن‌ها برای اطمینان از ارسال پیام از یکی از منابع معتبر شما استفاده کنند. به عنوان یکی از اولین تلاش‌ها برای ایمن سازی ایمیل، SPF مسیری را برای پروتکل‌های امنیتی ایمیل آینده مانند DKIM و DMARC ایجاد کرد. بنابراین، بهترین روش برای ایمن سازی ایمیل دامنه شما افزودن لایه SPF با DKIM و DMARC است.

 

 

 

منبع:

postmarkapp