اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

تنظیمات DomainKeys (یا OpenDKIM) به همراه Postfix در CentOS 7

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    تنظیمات DomainKeys (یا OpenDKIM) به همراه Postfix در CentOS 7

    OpenDKIM در حقیقت روشی برای امضاء دیجیتال و بررسی کردن ایمیل ها روی Email Server با استفاده از Key های public و private میباشد. به عبارت دیگر OpenDKIM، استاندارد DKIM (مخفف DomainKeys Identified Mail) را برای امضاء کردن و بررسی کردن پیام های ایمیل بر اساس domain مورد استفاده قرار میدهد. Domain Key ها به منظور کاهش شانس Spam شدن ایمیل های خروجی مورد استفاده قرار میگیرند.

    در این پست ما نحوه نصب و کانفیگ DomainKeys به همراه postfix روی CentOS 7 را شرح خواهیم داد. در اینجا فرض میکنیم که postfix از قبل روی hostname و domain زیر نصب و راه اندازی شده است.
    • Hostname = mail5.freshdaymall.com
    • Domain = freshdaymall.com

    همچنین توصیه میشود مطالعه بفرمایید.

    آموزش نصب و راه اندازی میل سرور Postfix و Dovecot

    آموزش نصب و راه اندازی سرویس بایند در لینوکس (Bind DNS Server)

    معرفی انواع رکوردهای DNS (مانند A - MX - PTR - SOA - SPF - NS - TXT - DKIM - CNAME)





    مرحله 1 : تعریف ریپازیتوری EPEL با استفاده از دستور RPM زیر

    پکیج OpenDKIM در ریپازیتوری پیش فرض YUM موجود نمیباشد. اما در ریپازیتوری EPEL مربوط به CentOS 7 موجود است.
    کد PHP:
    [root@mail5 ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 


    مرحله 2 : نصب پکیج OpenDKIM با استفاده از YUM
    کد PHP:
    [root@mail5 ~]# yum install -y opendkim 


    مرحله 3 : اجرا کردن دستور زیر برای ایجاد Key ها

    دستورات زیر را برای ایجاد Key های public و priveate در پوشه “/etc/opendkim/keys” اجرا کنید.
    کد PHP:
    [root@mail5 ~]# opendkim-default-keygen
    Generating default DKIM keys:
    Default 
    DKIM keys for freshdaymall.com created in /etc/opendkim/keys.
    [
    root@mail5 ~]#
    [root@mail5 ~]# cd /etc/opendkim/keys/
    [root@mail5 keys]# ll
    total 8
    -rw-r----- 1 root opendkim 891 Nov 29 08:42 default.private
    -
    rw-r--r-- 1 root opendkim 320 Nov 29 08:42 default.txt
    [root@mail5 keys]
    default.private در حقیقت private key برای دامین و فایل default.txt در حقیقت public key ای است که ما آنرا در رکورد DNS خود (TXT Record) پابلیش خواهیم کرد. یک selector (به صورت پیش فرض نام آن default میباشد) در هنگام ایجاد key ها ساخته میشود، یک selector میتواند یک عبارت unique باشد که در key ها وجود دارد و همچنین در امضاء DKIM هم موجود است.



    مرحله 4 : ویرایش فایل های زیر
    • /etc/opendkim.conf : فایل کانفیگ مربوط به OpenDKIM
    • /etc/opendkim/KeyTable : همانطور که از نام آن مشخص است مسیر public key برای دامین را مشخص میکند.
    • /etc/opendkim/SigningTable : این فایل به OpenDKIM میگوید که چگونه Key ها را اعمال کند.
    • /etc/opendkim/TrustedHosts : این فایل تعریف میکند که کدام هاست ها مجاز به استفاده از key ها هستند.

    فایل“/etc/opendkim.conf” را باز کنید و پارامترهای زیر را تعریف کنید.
    برای بزرگتر شدن عکس روی آن کلیک کنیدنام:	opendkim-conf-file.jpgنمایش ها:	149اندازه:	214.2 KBشناسه:	24903







    فایل KeyTable را ویرایش کنید و example.com را با نام دامین خود جایگزین کنید.
    کد PHP:
    [root@mail5 ~]# cat /etc/opendkim/KeyTable
    # OPENDKIM KEY TABLE
    # To use this file, uncomment the #KeyTable option in /etc/opendkim.conf,
    # then uncomment the following line and replace example.com with your domain
    # name, then restart OpenDKIM. Additional keys may be added on separate lines.

    #default._domainkey.example.com example.com:default:/etc/opendkim/keys/default.private
    default._domainkey.freshdaymall.com freshdaymall.com:default:/etc/opendkim/keys/default.private
    [
    root@mail5 ~]
    فایل SigningTable را ویرایش و تعریف کنید که چه کسی ایمیل های خروجی را امضاء خواهد کرد.
    کد PHP:
    [root@mail5 ~]# cat /etc/opendkim/SigningTable
    # WILDCARD EXAMPLE
    # Enables signing for any address on the listed domain(s), but will work only if
    # "refile:/etc/opendkim/SigningTable" is included in /etc/opendkim.conf.
    # Create additional lines for additional domains.

    *@freshdaymall.com default._domainkey.freshdaymall.com 
    در پارامترهای بالا من از ستاره "*" استفاده کرده ام که به این معناست که همه کاربران روی Domain مجاز به امضاء کردن ایمیل ها هستند.

    فایل TrustedHosts را ویرایش کنید و FQDN سرور و domain name که زیر ip آدرس locahost (در حقیقت ip آدرس 127.0.0.1) آمده است را اضافه کنید.
    کد PHP:
    [root@mail5 ~]# cat /etc/opendkim/TrustedHosts
    # OPENDKIM TRUSTED HOSTS
    # To use this file, uncomment the #ExternalIgnoreList and/or the #InternalHosts
    # option in /etc/opendkim.conf then restart OpenDKIM. Additional hosts
    # may be added on separate lines (IP addresses, hostnames, or CIDR ranges).
    # The localhost IP (127.0.0.1) should always be the first entry in this file.

    127.0.0.1
    mail5
    .freshdaymall.com
    freshdaymall
    .com
    [root@mail5 ~]


    مرحله 5 : ویرایش فایل کانفیگ Postfix (/etc/postfix/main.cf)

    خط های زیر را در پایان فایل /etc/postfix/main.cf اضافه میکنیم.
    کد PHP:
    [root@mail5 ~]# vi /etc/postfix/main.cf
    smtpd_milters inet:127.0.0.1:8891
    non_smtpd_milters 
    $smtpd_milters
    milter_default_action 
    accept 


    مرحله 6 : سرویس های OpenDKIM و Postfix را start میکنیم.
    کد PHP:
    [root@mail5 ~]# hash -r
    [root@mail5 ~]# systemctl start opendkim ; systemctl enable opendkim ; systemctl restart postfix
    ln -'/usr/lib/systemd/system/opendkim.service' '/etc/systemd/system/multi-user.target.wants/opendkim.service'
    [root@mail5 ~]


    مرحله 7 : TXT DNS record دامین خود را آپدیت میکنیم.

    خروجی فایل default.txt را استفاده میکنیم و DNS Record (TXT) دامین را آپدیت میکنیم.
    برای بزرگتر شدن عکس روی آن کلیک کنیدنام:	domain-public-key-opendkim.jpgنمایش ها:	147اندازه:	52.4 KBشناسه:	24904



    سرویس postfix و bind را restart کنید.
    کد PHP:
     systemctl restart postfix bind9 
    برای تست کردن اینکه آیا مراحل بالا کار میکند یا نه، کافیست دستور زیر را اجرا کنید.
    کد PHP:
     dig default._domainkey.ceae.info TXT +short 

    همچنین توصیه میشود مطالعه بفرمایید.

    نحوه راه اندازی Bind Server در لینوکس (اوبونتو - دبیان)


    مرحله 8 : یک ایمیل تستی ارسال میکنیم و لاگ ها را مشاهده میکنیم.
    برای بزرگتر شدن عکس روی آن کلیک کنیدنام:	sendmail-with-telnet.jpgنمایش ها:	146اندازه:	205.8 KBشناسه:	24905








    در اینجا چک میکنیم که آیا ایمیل امضاء شده است یا خیر.
    برای بزرگتر شدن عکس روی آن کلیک کنیدنام:	signed-by-email.jpgنمایش ها:	147اندازه:	47.7 KBشناسه:	24906







    ایمیل ما امضاء شده و تنظیمات DKIM با موفقیت تکمیل شده است.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-08-2021, 09:19 PM.

    #2
    سلام
    وقت بخیر
    برای سرور های centos 8 سرویس bind9 نداره باید به چه صورت نصب کنیم ؟

    کامنت


      #3
      سلام. ممنونم. سرویس Bind برای سرورهای DNS هست. شما نیازی ندارید. البته میتونید یه سرور دیگه راه اندازی کنید و روش سرویس بایند رو نصب و راه اندازی کنید و دامنه تون رو بفرستید روی سرور DNS خودتون که رکوردهایی که میخواید رو در اونجا تعریف کنید اما اگر بایند ندارید برای تعریف رکوردهاتون به هاستینگ تون تیکت بزنید که اونا رکوردهایی که برای دامنه تون نیاز دارید را روی سرور Bind DNS یا DNS سرورهای دیگرشون تعریف کنند اینطور بهتر هستش.

      کامنت

      درباره انجمن منطقه لینوکسی ها

      انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

      شبکه های اجتماعی
      در حال انجام ...
      X