اطلاعیه

بستن
هنوز اعلام نشده است.

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

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

  • تنظیمات 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


    مرحله 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
مشاهده: 1
حجم: 214.2 کیلو بایت


    فایل 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
مشاهده: 1
حجم: 52.4 کیلو بایت




    مرحله 8 : یک ایمیل تستی ارسال میکنیم و لاگ ها را مشاهده میکنیم.
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: sendmail-with-telnet.jpg
مشاهده: 1
حجم: 205.8 کیلو بایت



    در اینجا چک میکنیم که آیا ایمیل امضاء شده است یا خیر.
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: signed-by-email.jpg
مشاهده: 1
حجم: 47.7 کیلو بایت


    ایمیل ما امضاء شده و تنظیمات domainkey با موفقیت تکمیل شده است.
پردازش ...
X
کانال تلگرام منطقه لینوکسی ها