【メールサーバ】PostfixとDovecotのSSL導入

  • サーバー証明書作成

    cd /etc/pki/tls/certs/
    make mail.pem
    
    下記内容を入力
    ~略~
    Country Name (2 letter code) [XX]:JP
    State or Province Name (full name) []:Tokyo
    Locality Name (eg, city) [Default City]:Akihabara
    Organization Name (eg, company) [Default Company Ltd]:OreOreCA
    Organizational Unit Name (eg, section) []:
    Common Name (eg, your name or your server's hostname) []:mail.z-area.net
    Email Address []:ユーザ名@mail.z-area.net
    
  • Postfix設定(SSL)

    vi /etc/postfix/main.cf
    
    下記内容を最終行に追加
    smtpd_use_tls = yes
    smtpd_tls_cert_file = /etc/pki/tls/certs/mail.pem
    smtpd_tls_key_file = /etc/pki/tls/certs/mail.pem
    smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache
    
    cp -pi /etc/postfix/master.cf /etc/postfix/master.cf.org
    vi /etc/postfix/master.cf
    
    下記内容を変更(コメントアウトを外す)
    #smtps     inet  n       -       n       -       -       smtpd
    #  -o smtpd_tls_wrappermode=yes
    #  -o smtpd_sasl_auth_enable=yes
    #  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
    ↓
    smtps     inet  n       -       n       -       -       smtpd
      -o smtpd_tls_wrappermode=yes
      -o smtpd_sasl_auth_enable=yes
      -o smtpd_client_restrictions=permit_sasl_authenticated,reject
    
    下記内容がコメントアウトされていないことを確認
    tlsmgr    unix  -       -       n       1000?   1       tlsmgr
    
    /etc/rc.d/init.d/postfix restart
    
  • Dovecot設定(SSL)

    cp -pi /etc/dovecot/conf.d/10-ssl.conf /etc/dovecot/conf.d/10-ssl.conf.org
    vi /etc/dovecot/conf.d/10-ssl.conf
    
    下記内容を変更(<が必要な点に注意)
    #ssl = yes
    ↓
    ssl = yes
    
    ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
    ssl_key = </etc/pki/dovecot/private/dovecot.pem
    ↓
    ssl_cert = </etc/pki/tls/certs/mail.pem
    ssl_key = </etc/pki/tls/certs/mail.pem
    
    /etc/rc.d/init.d/dovecot restart
    
  • ポート開放と閉鎖

    SMTP(SSL)では465番ポートを利用し、
    POP(SSL)では995番ポート、IMAP(SSL)では993番ポートを利用するため、
    利用状況に合わせてポートを開放します。

    POPで利用していた110番ポートは閉じました。
    SMTPで利用していた25番ポートは閉じた場合、
    メール受信の制限確認等で利用しているようで、
    閉じると外部からメールが届かなくなったため、開放したままにしています。
    内部から内部へは閉じてても届くので、その辺は調査しないと不明です。

    iptables -I INPUT 8 -p tcp -m tcp --dport 465 -j ACCEPT
    iptables -I INPUT 9 -p tcp -m tcp --dport 995 -j ACCEPT
    iptables -D INPUT -p tcp -m tcp --dport 110 -j ACCEPT
    service iptables save
    
    iptables -L --line-numbers
    
    Chain INPUT (policy ACCEPT)
    num  target     prot opt source    destination
    1    ACCEPT     all  --  anywhere  anywhere     state RELATED,ESTABLISHED
    2    ACCEPT     icmp --  anywhere  anywhere
    3    ACCEPT     tcp  --  anywhere  anywhere     state NEW tcp dpt:ssh
    4    ACCEPT     tcp  --  anywhere  anywhere     tcp dpt:http
    5    ACCEPT     tcp  --  anywhere  anywhere     tcp dpt:https
    6    ACCEPT     tcp  --  anywhere  anywhere     tcp dpt:urd
    7    ACCEPT     tcp  --  anywhere  anywhere     tcp dpt:pop3s
    8    REJECT     all  --  anywhere  anywhere     reject-with icmp-host-prohibited
    
  • メーラーの設定

    • 詳細設定タブ