DKIM چیست؟ جلوگیری از حقههای ایمیلی علیه شما
شاید با عبارت DKIM مواجه شده باشید و بخواهید بدانید که DKIM چیست؟ وقتی در حال نوشتن یک اسکریپت سایت phpmail هستیم، میتوانیم مشخص کنیم که ایمیلهای ارسالی از چه ایمیلی ارسال شوند! حتی اگر برنامهنویس هم نباشید میتوانید با استفاده از سرویسهای fake email sender آنلاین، ایمیلهای جعلی ارسال کنید. مثلا یک ایمیل به یکی از مشتریان ما ارسال کنید و بگویید خرید شما لغو شد! جالبتر اینکه میتوانید این ایمیل را با آدرس info@20script.ir ارسال کنید! این یعنی عمق فاجعه… (البته چون ما از این فاجعه جلوگیری کردهایم، نمیتوانید ایمیل جعلی ارسال کنید و این تنها یک مثال بود. 🙂 )
پس با توجه به توضیحات بالا شاید نگران شدهاید که آیا کاربران شما هم میتوانند با ایمیل شما Spoofing (کلاهبرداری) کنند؟ بله اگر کانفیگ هاست خود را اصولی انجام نداده باشید حتما! این مقاله پس از علامت تعحب و علامت سوال شد. چرا که بسیار مهم هست که از نام و برند شما سو استفاده نشود!
DKIM چیست؟
وقتی چنین مشکلی بوجود آمد، متخصصان امنیت به فکر راه چارهای افتادند. نتیجه راه حل این ماجرا استفاده از DKIM بود. DKIM یا DomainKeys Identified Mail قابلیتی هست که مانند SSL میتواند امنیت ایمیلهای شما را تضمین کند و تاییدی برای ارسال شدن ایمیل از سمت شما باشد.
DKIM شامل یک کلید خصوصی و یک کلید عمومی هست که موقع ارسال ایمیل، بررسی میکند که آیا ایمیل ارسال شده از سمت سایت (سرور سایت) شما ارسال شده است یا خیر. برای ارسال هر ایمیل یک امضای الکترونیکی با Private Key ضمیمه ایمیل میشود و این کلید که حالا عمومی شده، مهر تاییدی هست که شما ایمیل را ارسال کردهاید، نه شخص و نه سرور دیگری.
ساخت DKIM و جلوگیری از کلاهبرداری
ساخت DKIM بستگی به سیستم و سرور سایت شما دارد. اگر از سرورهای خودگردان (اختصاصی) استفاده میکنید باید با استفاده از سایت https://dkimcore.org/tools/keys.html یک کلید خصوصی و عمومی جدید بسازید.
سپس کلید را در میل سرور خود استفاده کنید تا ایمیلهای شما مهر تایید داشته باشد. اما اگر از هاست اشتراکی استفاده میکنید بسته به هاست و کنترل پنل خود، DKIM را بسازید.
تولید DKIM در سی پنل
برای تولید DKIM در سی پنل کافیست وارد کنترل پنل هاست خود شوید. سپس بخش Email را پیدا کرده و روی Authentication کلیک کنید.
در نهایت در صفحهای که باز شد، روی Enable DKIM کلیک کنید تا DKIM شما فعال شود. حالا یک DNS Record به شما نمایش داده میشود. چیزی شبیه به این:
default._domainkey IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyGm4KfaLQsOiNqfNGT0DDa+XE+TmIyr03F3/AMU8SXFwgItBU/PikYTmIyr07yhQoqlPrSL27l8XHf8AMIIB1LtxU2/490wRkuu9ZorEjRkIXSbev1GyAinBQNa5Rln2S+8AMIIBhZzfkNw7panbVJ0HPREiZAJ5TQEX1LjTqB/nArmNaMXaRUCwmYzGY45z8" eW2BJMM7Ftsj3nOTmIyr0LFSL27l8OaMDdcvpCglrFWoF1dXA78ORuvMSL27l8A5+UWRFBQ4NP6awWYj2LTSyeNeTlafawRk2B3C/dNcwpoLjz3T1wBHctcLnuC13+nMzzyUtgIVgz/7Ka8AMIIBQIDAQAB\;
و شما باید این کد را در رکوردهای DNS سایت خود وارد کنید. وارد بخش DNS Zone Editor شوید. یک رکورد TXT جدید بسازید و مقدار آن را برابر با این کد قرار دهید:
k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDzggd8sR9Pbom66z7DLPKymljMouwVO/ffmO9LeU8Ce7ESn+nreXGVyFM9PbWMM07yhQoqlPrSL27l8XHf8AMIIB1LtxU2/490wRkuu9ZorEjRkIXSbevytImOStfMcGYPObYixZE/ODyygNM8QLRaCOAZ5VQMAWHgSPBwIDAQAB
البته باید مقدار p= را در کدی که DKIM Enable به شما ارائه کرده به جای کد بالا استفاده کنید.
حالا DKIM شما با موفقیت فعال شد.
فعالسازی DKIM در دایرکت ادمین
ماجرا در دایرکت ادمین کمی پیچیدهتر هست و این عملیات باید توسط پشتیبان هاست یا مدیر سرور انجام شود. چون شما دسترسی برای انجام این تغییرات را ندارید. میتوانید این آموزش را برای مدیر سرور یا پشتیبان هاست خود ارسال کنید.
ابتدا وارد ترمینال سرور خود شوید. سپس دستور زیر را وارد کنید:
vi /usr/local/directadmin/conf/directadmin.conf
سپس این عبارت را به انتهای فایل اضافه کنید:
dkim=1
و حالا این دستور:
service directadmin restart
سپس این فایل را ویرایش کنید:
vi /etc/exim.conf
و این تغییرات را در این فایل اعمال کنید:
remote_smtp: driver = smtp dkim_domain = $sender_address_domain dkim_selector = x dkim_private_key = ${if exists{/etc/virtual/$sender_address_domain/dkim.private.key}{/etc/virtual/$sender_address_domain/dkim.private.key}{0}} dkim_canon = relaxed dkim_strict = 0
حالا بیایید exim را ریستارت کنیم:
service exim retsrat
و برای فعالسازی DKIM روی همه دامنهها، این دستور را وارد کنید:
echo "action=rewrite&value=dkim" >> /usr/local/directadmin/data/task.queue
اطمینان از کارکرد صحیح DKIM
بیایید ببینیم DKIM سایت به خوبی فعال شده یا خیر. برای اینکار از سایت mail-tester.com استفاده میکنیم.
در بخش Domain anme آدرس سایت خود و در بخش DKIM Selector مقدار default را وارد میکنیم. سپس شروع به اسکن میکنیم.
اگر در بخش DKIM Check مقدار نمایش داده شد، به این معناست که عملیات به درستی انجام شده است.
موفق باشید. 🙂
نوشته DKIM چیست؟ جلوگیری از حقههای ایمیلی علیه شما اولین بار در بیست اسکریپت. پدیدار شد.