نصب و پیکربندی Postfix برای ارسال ایمیل - قسمت ۵ - پیادهسازی SPF (Sender Policy Framework)
نویسنده: وحید نصیری
تاریخ: ۱۴۰۴/۰۴/۱۹ ۰۸:۱۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
A، MX و PTR تثبیت کردهایم. اکنون زمان آن رسیده که به دنیا به طور رسمی اعلام کنیم کدام سرورها مجاز به ارسال ایمیل از طرف دامنه ما هستند. این کار با استفاده از یک استاندارد اعتبارسنجی به نام SPF انجام میشود. SPF به سرورهای گیرنده کمک میکند تا ایمیلهای جعلی که با سوءاستفاده از نام دامنه شما ارسال میشوند (Email Spoofing) را شناسایی کنند.yourdomain.com) یک رکورد SPF دارد یا خیر. اگر رکورد SPF وجود نداشته باشد یا IP سرور شما در آن لیست نشده باشد، سرور گیرنده به ایمیل شما با شک و تردید نگاه میکند. در هدر (Header) ایمیل دریافت شده، ممکن است پیامهایی شبیه به این موارد را مشاهده کنید:Received-SPF: neutral (google.com: 203.0.113.50 is neither permitted nor denied by domain of sender@yourdomain.com) client-ip=203.0.113.50;
Received-SPF: softfail (google.com: domain of transitioning sender@yourdomain.com does not designate 203.0.113.50 as permitted sender)
Pass است.TXT در DNS شماست که ساختار مشخصی دارد. بیایید یک نمونه را تحلیل کنیم:"v=spf1 a mx ip4:203.0.113.50 ~all"v=spf1: این بخش همیشه در ابتدا میآید و مشخص میکند که این یک رکورد SPF نسخه ۱ است.a: به سرور گیرنده میگوید: "اگر آدرس IP فرستنده با آدرس IP رکورد A دامنه yourdomain.com مطابقت داشت، مجاز است."mx: میگوید: "هر سروری که در رکوردهای MX دامنه من لیست شده است، مجاز به ارسال ایمیل است." (در مورد ما، این همان mail.yourdomain.com است).ip4:203.0.113.50: به طور صریح اعلام میکند که این آدرس IP نسخه ۴ مجاز به ارسال ایمیل است. این بخش برای سرور ما بسیار مهم است.include:some-service.com: (در مثال ما نیامده) اگر از سرویس دیگری برای ارسال ایمیل استفاده میکنید (مثلاً Mailgun یا SendGrid)، با این مکانیزم میتوانید SPF آنها را نیز در رکورد خود بگنجانید.all: این بخش که همیشه در انتها قرار میگیرد، مشخص میکند با ایمیلهایی که از سرورهای غیرمجاز ارسال میشوند چه رفتاری شود. این بخش یک پیشوند دارد:~all (SoftFail): به سرور گیرنده میگوید: "اگر ایمیل از یک منبع ناشناس آمد، آن را بپذیر اما به عنوان مشکوک علامتگذاری کن." این گزینه برای شروع و در مرحله تست بسیار مناسب است.-all (HardFail): به سرور گیرنده میگوید: "اگر ایمیل از منبعی غیر از موارد ذکر شده آمد، آن را تحت هیچ شرایطی قبول نکن و فوراً رد (Reject) کن." این گزینه امنیت بالاتری دارد اما در صورتی باید استفاده شود که ۱۰۰٪ مطمئن باشید تمام IPهای مجاز را لیست کردهاید.~all شروع کنید. پس از چند هفته و اطمینان از اینکه تمام ایمیلهای شما به درستی ارسال میشوند، آن را به -all تغییر دهید.mail.yourdomain.com) که رکورد MX به آن اشاره میکند و میخواهیم به آن اجازه ارسال دهیم."v=spf1 mx ~all"A و MX را تنظیم کردید). یک رکورد جدید ایجاد کنید. فیلدها را به صورت زیر پر کنید:TXT@ (این علامت به معنای خود دامنه اصلی، یعنی yourdomain.com، است)."v=spf1 mx ~all" (برخی پنلها نیاز به علامت نقل قول " دارند و برخی نه. بهتر است ابتدا بدون آن امتحان کنید).| Type | Name | Value (Content) | TTL |
| TXT | @ | v=spf1 mx ~all | Auto |
dig استفاده کنید:dig TXT yourdomain.com +short
"v=spf1 mx ~all"
Received-SPF باید وضعیت Pass را مشاهده کنید که یک گام بسیار بزرگ در افزایش اعتبار و بهبود تحویلپذیری (Deliverability) ایمیلهای شماست.