انواع رکورد DMARC -DKIM -SPF- PTR-SOA -NS

انواع رکورد DMARC -DKIM -SPF- PTR-SOA -NS

انواع رکورد DMARC -DKIM -SPF- PTR-SOA -NS

  • A رکورد (A record): رکورد یا سابقه ای که نام یک دامنه یعنی yourdoamin.com را به یک IP مشخص 000.000.00.000 مرتبط می سازد را با نام a record می شناسیم.
  • رکورد CNAME: رکوردهای CNAME با پیوستن دو نام دامنه به یکدیگر به دست می آیند. به عنوان مثال شما می توانید با ترکیب دو نام دامنه با یکدیگر رکورد mail.yourdomain.com را ایجاد نمایید. این کار باعث می شود که شما بدون نیاز به داشتن IP مشخص برای هر نام دامنه ای، چندین دامنه مختلف را تعریف نمایید.
  • رکورد TXT: رکورد TXT می تواند هرگونه متن دلخواهی را در بر بگیرد. اغلب برای تعریف تنظیمات SPF و DKIM استفاده می شوند.
  • رکورد MX: یکی دیگر از انواع رکوردهای DNS است که مخفف Mail Exchanger Record به معنای رکورد تبدیل کننده ایمیل است. از این رکورد برای شناسایی ایمیل سرورها برای یک نام دامنه مشخص استفاده می شود. در واقع این رکورد مشخص می کند که کدام ایمیل سرور ایمیل های ارسالی را دریافت می کند و ایمیل های دریافتی باید به کجا هدایت شوند.

رکورد NS ‎‏ چیست؟

یکی از پرکاربردترین رکورد های DNS است که name server های مسئول DNS Zone شما را شناسایی می کند. رکورد NS یا Name Server Record مشخص می کند که کدام سرور اطلاعات DNS را برای یک دامنه ارسال کند. معمولا برای دامنه دو Name Server اولیه و ثانویه یا همان Name Server Primary و Name Server Secondary ایجاد می شود. به طور خلاصه می‌توان گفت که رکورد‌های NS کمک می‌کنند تا DNS server مناسبی را که می‌تواند به سوال‌ها درباره‌ی یک وب‌سرویس خاص پاسخ بدهد، پیدا کرد.

فرض کنید برای دسترسی به یک وب‌سایت، آدرس آن را در مرورگر وارد کرده‌اید. مرورگر نیاز دارد تا IP مرتبط با آدرس وب‌سایت را پیدا کند و برای این کار به یک DNS server نیاز دارد.

  این رکوردهای NS کمک می‌کنند تا اگر یکی از DNS server های دامنه‌ی مورد نظر به هر دلیلی از دسترس خارج شد، دسترسی به دامنه یا سرویس مورد نظر به‌شکل کلی متوقف نشود.

رکورد SOA ‎‏ چیست؟

SOA یا به اختصار Start Of Authority رکوردی است که ضروری ترین بخش از یک فایل zone را تشکیل میدهد. SOA رکورد رکوردی است که به مدیران Domain اطلاعات پایه ای از دامین را میدهد نظیر : چه زمان هایی Update میشود ، زمان آخرین آپدیت چه وقت بوده ، آدرس ایمیل ادمین و غیره.توجه کنید که هر فایل zone شامل یک رکورد SOA میباشد. آپدیت شدن SOA رکورد بین name server ها به خوبی در افزایش پهنای باند و بهینه سازی آن نقش موثری دارد. و همچنین در افزایش سرعت دسترسی به وب سایت ها هنگامی که حتی DNS سرور اصلی Down شود یا از کار بیفتد را نیز بر عهده دارد. 

PTR Record‏ چیست؟

PTR Record عملکردی کاملا متفاوت با رکورد A دارد. رکورد A وظیفه‌ی تبدیل دامنه به آی‌پی (IP) را برعهده داشته و PTR Record وظیفه دارد، آی‌پی (IP) را به دامنه ( domain ) تبدیل کند. از این رکورد برای ایمیل سرور استفاده می شود. در واقع اطمینان از صحت اتصالات آیپی و هاست نیم و دامنه به واسطه این رکورد میسر می‌گردد.

  ptr record مخفف چیست؟

PTR Record ، رکوردی‌ست که برای اشاره به دامنه و تبدیل آی پی (IP) به دامنه مورد استفاده قرار می‌گیرد. این مفهوم، اصطلاحا با نام pointer record نیز شناخته می‌شود. در واقع واژه‌ی PTR از pointer الهام گرفته شده است.

  • PTR یک نوع رکورد اختیاری می باشد و بدین منظور در ارتباط با Mail Server استفاده می گردد که از اسپم شدن ایمیل های ارسالی شما جلوگیری شود.
  • از مزایای وجود این رکورد، QOS یا Quality of service می باشد که منجر به جلوگیری از اسپم شدن ایمیل های ارسالی از ip مربوطه می شود.
  • رکورد PTR معمولا از سمت شبکه روی آیپی سرور تنظیم می شود.

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 همواره لازم و ضروری است.

چندین روش برای انجام جستجوی معکوس DNS (آیا رکورد ptr تنظیم شده است یا خیر) وجود دارد:

از powershell و یا cmd در ویندوز استفاده کنید. جستجوی دستی RDNS را در ویندوز با استفاده از دستور nslookup انجام دهید.

کامند جستجوی RDNS در ویندوز

nslookup [ip_address]
 

خروجی نام دامنه را برای آدرس IP مشخص شده برمی گرداند.

اگر وب‌سایت RDNS را راه‌اندازی نکرده باشد، دستور یک خطا برمی‌گرداند.

جستجوی RDNS در لینوکس

دو راه برای جستجوی RDNS در لینوکس وجود دارد:

1. کامند dig

از دستور dig در لینوکس برای انجام جستجوی معکوس DNS دستی استفاده کنید. که عبارت است از:

 

dig -x [ip_address]

 
 

2. کامند host

دستور دیگری برای جستجوی معکوس DNS در لینوکس بصورت زیر میباشد:

host [ip_address]

خروجی نام دامنه را برای آدرس IP مشخص شده نمایش می دهد.

نویسنده :
مجید پورداود
  • مجید پورداود
  • مهندس نرم افزار و تحلیلگر ارشد سیستم های کامپیوتری تحت وب می باشم. از سال 1395 برنامه نویسی را شروع کردم و به زبان های php (فریم ورک laravel -codeigniter)  و زبان جاوا اسکریپت (فریم ورک express.js-nest.js)  تسلط دارم.  

ثبت دیدگاه جدید

0 دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *