arinux

Linux サーバー設定備忘録
Postfix + Dovecot + SMTP-auth


メモ SMTP-Auth 設定


  1. postfix は、以下のように SASL をサポートするように make ファイルを作成して、コンパイルする必要があります。
  2. [mail]# make makefiles CCARGS='-DHAS_MYSQL -DUSE_SASL_AUTH -DDEF_SASL_SERVER=¥"dovecot¥" 
    -I/usr/local/include -I/usr/local/mysql/include -DDEF_CONFIG_DIR=¥"/usr/local/etc/postfix¥"' 
    AUXLIBS="-L/usr/local/mysql/lib -L/usr/local/lib -lmysqlclient -lm -lz"
    
    虫眼鏡 SASL を指定せずにコンパイルした環境で、AMTP-Auth を利用しようとすると、以下のエラーが記録されます。


    Aug 21 15:50:37 mail-mst postfix/smtpd[20877]: warning: smtpd_sasl_auth_enable is true,
    but SASL support is not compiled in
    


  3. main.cf に、以下を追加します。
  4. smtpd_sasl_security_options = noanonymous
    smtpd_sasl_auth_enable = yes
    smtpd_recipient_restrictions =
            permit_mynetworks
            permit_sasl_authenticated
            reject_unauth_destination
    smtpd_sasl_type = dovecot
    smtpd_sasl_path = /usr/local/var/run/dovecot/auth-client
    


  5. dovecot.conf に、以下を追加します。
  6. auth default {
    (省略)
      socket listen {
        client {
          # The client socket is generally safe to export to everyone. Typical use
          # is to export it to your SMTP server so it can do SMTP AUTH lookups
          # using it.
          #path = /var/run/dovecot/auth-client
          path = /usr/local/var/run/dovecot/auth-client
          mode = 0660
          user = postfix
          group = postfix
        }
      }
    }
    


  7. postfix と dovecot を再起動します。
    [mail]# /etc/rc.d/init.d/postfix restart
    Shutting down postfix:                                     [  OK  ]
    Starting postfix:                                          [  OK  ]
    
    [mail]#  /etc/rc.d/init.d/dovecot restart
    dovecot を停止中:                                          [  OK  ]
    dovecot を起動中:
    


  8. メール・クライアントから送信テストをします。メール・クライアントのメールボックスを以下のように設定します(ここでは Becky! を例にしています)。
    Becky! SMTP認証 PLAIN


  9. SMTP 認証が行われていれば、maillog に以下のように記録されます。
    Jan 26 13:39:15 mail postfix/smtpd[14496]: 2D3B084D78: client=test15.arinux.net[10.1.1.15],
    sasl_method=PLAIN, sasl_username=muser
    



メモ CRAM-MD5 利用


パスワードに CRAM-MD5 を使用する場合は、以下のように設定します。


  1. CRAM-MD5 を生成します。
    [root]# /usr/local/sbin/dovecotpw
    Enter new password: muserpasswd
    Retype new password: muserpasswd
    {HMAC-MD5}af2498d0f17c7e150959c71824f5fcae43bb5f10095e8ceaa8b3ae4ff7002cbe
    


  2. マスターDB の mysql にログインして、パスワードを入れ替えます。
    [master]# mysql -u myadmin -p
    Enter password:
    


  3. user テーブルの password の Type を確認します。
    mysql> show fields from user;
    +------------+-------------+------+-----+---------------+----------------+
    | Field      | Type        | Null | Key | Default       | Extra          |
    +------------+-------------+------+-----+---------------+----------------+
    | user_id    | int(11)     | NO   | PRI | NULL          | auto_increment |
    | user_name  | varchar(50) | NO   |     |               |                |
    | realname   | varchar(32) | NO   |     |               |                |
    | shell      | varchar(20) | NO   |     | /sbin/nologin |                |
    | password   | varchar(50) | NO   |     | NULL          |                |
    (以下省略)
    


  4. password フィールドの桁数を増やします。
    mysql> ALTER TABLE user MODIFY password varchar(80) NOT NULL;
    


  5. password を更新します。
    mysql> update user set password="{HMAC-MD5}af2498d0f17c7e150959c71824f5fcae43b
    b5f10095e8ceaa8b3ae4ff7002cbe" where user_id="2";
    


  6. 更新されたかを確認します。
    mysql> SELECT password from user where user_id="2";
    +----------------------------------------------------------------------------+
    | password                                                                   |
    +----------------------------------------------------------------------------+
    | {HMAC-MD5}af2498d0f17c7e150959c71824f5fcae43bb5f10095e8ceaa8b3ae4ff7002cbe |
    +----------------------------------------------------------------------------+
    1 row in set (0.00 sec)
    


  7. mysql を抜けます。
    mysql> ¥q
    


  8. dovecot.conf に、以下の赤字の部分を追加します。
    auth default {
      mechanisms = plain cram-md5
    (以下省略)
    


  9. dovecot を再起動します。
    [mail]#  /etc/rc.d/init.d/dovecot restart
    dovecot を停止中:                                          [  OK  ]
    dovecot を起動中:
    


  10. メール・クライアントから送信テストをします。メール・クライアントのメールボックスを以下のように設定します(ここでは Becky! を例にしています)。
    Becky! SMTP認証 CRAM-MD5


  11. SMTP 認証が行われていれば、maillog に以下のように記録されます。
    Jan 26 14:20:54 mail postfix/smtpd[14649]: 9F8A384D78: client=test15.arinux.net[10.1.1.15],
    sasl_method=CRAM-MD5, sasl_username=muser
    



ここまで

| arinux | Postfix | 16:49 | comments(0) | trackbacks(0) | pookmark |
1234567
891011121314
15161718192021
22232425262728
293031    
<< October 2017 >>
+ SELECTED ENTRIES
+ RECENT COMMENTS
+ RECENT TRACKBACK
+ CATEGORIES
+ ARCHIVES
+ 掲載予定のタイトル
  • Wordpress
  • Pukiwiki
  • SMTPs/POPs/IMAPs
  • fml
  • Tips
+ CSS Nite
+ MOBILE
qrcode
+ LINKS
+ RECOMMEND
+ PROFILE