مطلب، مقاله فنی و اطلاع رسانی فعالیت واحد هاستینگ و ثبت دامنه شرکت رادکام

رکوردهای SPF-DKIM-DMARC چه کاربردی دارند؟

SPF DKIM DMARC

 

سه رکورد SPF,DKIM,DMARC مربوط به سرویس ایمیل و برای جلوگیری از مشکلات پروتکل mail ارائه شده اند .پروتکل اولیه ایمیل مکانیزمی برای AUTHENTICATION ندارد و این بدان معناست هر کسی با دسترسی به mail server میتواند ایمیل به نام دامنه شما ارسال کند این مشکل کلاهبرداری های بسیاری از جمله EMAIL SPOOFINGاسپم شدن ادرس ایمیل و BLACKLIST شدن ادرس IP را ناشی میگردد که برای رفع ان طی سالیان مختلف راه حل های مختلفی ارائه گردیده اما بهترین راه در حال حاضر استفاده از این رکورد ها در سرویس DNS میباشد. برای درک این مورد بهتر است ساختار و نحوه عملکرد این پروتکل را خیلی کوتاه مرور کنیم

 

 

php?>

;to = 'nobody@example.com$

;subject = 'the subject$

;message = 'hello$

;headers = 'From: webmaster@example.com'$

;mail($to, $subject, $message, $headers)

<?


سایت های انلاین بسیاری وجود دارند که با استفاده از انها میتوانید نام فرستنده دلخواه را وارد و ایمیلی با ان نام به هر مقصدی ارسال کنید. در واقع هیچ مکانیزمی برای کنترل فیلد FROM  به صورت پیش فرض وجود ندارد و کسی که MAIL SERVICEرا در کامپیوتر خود راه اندازی کند میتواند ایمیل از هر ادرسی با هر دامنه ای ارسال کند برای مثال با command زیر و فرض اینکه سرویس mail در سرور کانفیگ شده (که در سیستم لینوکسی کار چندان سختی هم نیست ) میتوان با هر ادرسی ایمیل ارسال کرد

 

mail –a From:X@anydomain.com

که به جای X@anydomain.com میتوانید هر ادرسی قرار دهید. یکی دیگر از رایج ترین راه ها برای ارسال اسپم استفاده از تابع MAIL در PHP است.

به همین دلیل یکی از ملاحظات امنیتی در سرویس های هاستینگ غیرفعال سازی این تابع در سرور است. بدین ترتیب اسکریپ های نوشته شده با استفاده از این تابع نمیتوانند برای ارسال ایمیل انبوه مورد استفاده قرار گیرند.
حالا که مشکلات پروتکل ایمیل مرسوم را میدانیم به بررسی راه های مقابله با این مشکلات میپردازیم.سه رکورد SPF,DKIM.DMARC برای این منظور استفاده میشوند اما این رکورد ها چگونه از جعل ادرس فرستنده ایمیل جلوگیری میکنند؟


Sender Policy Framework (SPF)

 

رکورد SFPاولین و مهم ترین رکورد که مکانیزمی برای چک کردن IP فرستنده میباشد. این رکورد مشخص میکند چه IP های در اینترنت حق ارسال ایمیل با نام دامنه شما را دارند و تنها ادرس های مشخص را برای ارسال ادرس ایمیل AUTHORIZE میکند
این رکورد میتواند مقادیر مختلفی را داشته باشد (راهنماهای زیادی برای ایجاد ان در اینترنت وجود دارد) برای مثال v=spf1 a mx –all یکی از رایج ترین مقادیری است که به MAIL SERVER گیرنده اطلاع میدهد پیام های ارسالی این دامنه را باید فقط از IP موجود در رکورد A وMX ان قبول کند. در نتیجه تنها ادرسی که هاست خود در نظر گرفته اید معتبر شناخته میشود و ایمیل از هر سرور دیگری که IP دیگری دارد ارسال شود reject میشود


DomainKeys Identified Mail (DKIM)

 

رکورد بعدی که باید بعداز SPF ساخته شود DKIM است و مکانیزمی برای AUTHENTICATE کردن ایمیل ارائه میدهد تا از جعل ادرس ایمیل جلوگیری کند. روش عملکرد ان با استفاده از PUBLIC KEY و PRIVATE KEY است )برای اطلاعات بیشتر در مورد عملکرد الگوریم Asymmetric Cryptography مطالعه نمایید) سرور یک کلید خصوصی ایجاد کرده که فقط در اختیار خودش میباشد و هر ایمیل خروجی را با ان امضا میکند دریافت کننده ایمیل وقتی در HEADER ایمیل این امضا را میبیند سعی در decrypt کردن ان با کلید عمومی موجود در با استفاده از رکورد موجود در DNS (رکورد DKIM) میکند. بدین ترتیب گیرنده ایمیل در صورتی که بتواند با ان کلید عمومی ایمیل را DECRYPT کند یعنی ایمیل توسط سرور امضا شده و در غیر این صورت ایمیل به عنوان اسپم علامت گذاری میشود


Domain-based Message Authentication, Reporting and Conforma (DMARC)

 

در نهایت اخرین رکورد که پس از تعریف دو رکورد قبلی ایجاد میشود DMARC است. این رکورد به گیرنده میگوید با توجه به نتیجه رکورد های SPF/DKIM چه عملکردی داشته باشد و میتوان گفت این نوع ایمیل ها توسط گیرنده رد شوند فقط اسپم یا قرنطینه شوند
در انتها لازم به ذکر حتی با وجود تمامی تمهیدات در نظر گرفته شده با استفاده از این سه رکورد همچنان امکان جعل ادرس ایمیل و کلاه برداری به روش های مختلف وجود دارد به همین دلیل ایمن نگه داشتن سرویس) رعایت (best practices همواره لازم و ضروری است.