بخش ششم : yahoo.com

  • قسمت اول Domainkey


در yahoo علاوه بر تنظیمات صحیح DNS Server و همچنین SPF Record نیاز به Domainkey نیز وجود دارد.

Domainkey چیست؟
یکی از ابداعات یاهو برای جلوگیری از Spam و اهراز هویت دامین ارسال کننده توسط یک جفت کلید ssl که کلید Private در سرایند ایمیل ارسال میشود و کلید Public در DNS Server قرار میگیرد و بدین وسیله یاهو از هویت ارسال کننده نامه اطمینان پیدا میکند.
در ایمیل هایی که ارسال کننده آن دارای Domainkey معتبر باشند به صورت پیش فرض توسط یاهو به کاربر اعلام میگردد.



روش نصب و ایجاد Domainkey برای دامین فرضی mydomain.com:

مرحله اول ایجاد Folder برای Key :
کد:
cd /var/qmail/control/domainkeys
mkdir mydomain.com
مرحله دوم ساخت جفت کلید Private و Public :

کد:
cd mydomain.com
dknewkey private > public.txt
بعد از اجرای دستور بالا در داخل پوشه mydomain.com دو فایل با نامهای private و public.txt ایجاد خواهد شد.
نا گفته نماند که انتخاب نام برای این 2 فایل به صورت اختیاری میباشد، محتوای فایل public.txt حاوی تنظیمات DNS میباشد که به صورت کلید عمومی در DNS سرور قرار میگیرد به عنوان مثال :
کد:
private._domainkey IN TXT "k=rsa; p=MEwwDQYJKoZIhvcNAQEBBQADOwAwOAIxAN6Go..."


توجه قسمت قرمز رنگ در مثال بالا همان کلید عمومی میباشد که با پارامتر p مشخص شده و پارامتر k نشان دهنده نوع کلید میباشد.

و فایل private شامل کلید عمومی که توسط qmail به header هر ایمیل ارسالی الحاق خواهد شد.توجه کنید که انتخاب نام برای این فایل لازم به توجه بیشتری است زیرا همین نام باید در DNS نیز تعریف گردد.


حال میبایست پرمیشن های لازم برای پوشه و دو فایل مذکور تعیین گردد، بدین منظور از دستورات زیر استفاده خواهیم کرد :

کد:
کد PHP:
chmod 440 private
cd ..

chown -R root:vchkpw mydomain.com 
تنظیمات DNS برای Domainkey :

گام اول در تنظیمات DNS Server ایجاد یک TXT Record با نام پیش فرض domainkey_ میباشد که به شرح زیر است :
کد:
_domainkey.your-domain.com. IN TXT "t=y; o=-; r=postmaster@mydomain.com"
توجه کنید که t=y به این معنی است که این Record در حال تست میباشد و با استفاده از ابزارهایی که تعریف خواهد شد میتوانید DNS Server خود را برای Domainkey تست کنید و در پایان راه اندازی میتوانید t=y را حذف کنید.

گام دوم ایجاد یک TXT Record برای کلید عمومی که در حقیقت همان محتوای public.txt میباشد :

کد:
کد PHP:
private._domainkey      IN      TXT     "k=rsa; p=MEwwDQYJKoZIhvcNAQEBBQADOwAwOAIxAN6Go..." 
توجه برای private._domainkey :
همانطور که مشاهده کردید این رکورد با نام private در زیر مجموعه domainkey_ نام گذاری شده است که در حقیقت private همان نامی است که هنگام ایجاد کلید توسط شما انتخاب شده!
هنگامی که qmail کلید private را به سرآیند ایمیل الحاق میکند نام فایل کلید خصوصی نیز برای yahoo ارسال میشود و yahoo با استفاده از آن نام در زیر مجموعه domainkey_ از دامین شما به دنبال کلید خصوصی خواهد گشت.پس دقت کنید که این نام و نام فایل کلید خصوصی باید یکسان باشد.

بعد از به روز رسانی DNS Server میتوانید از طریق دو آدرس زیر Domainkey خود را تست کنید :
http://domainkeys.sourceforge.net/policycheck.html

http://domainkeys.sourceforge.net/selectorcheck.html

پ.و : در قسمت بعدی، آموزش روش تنظیمات tcp.rules برای الحاق کلید خصوصی به سرآیند ایمیل ها توضیح داده خواهد شد.

پایان بخش ششم