.
Counter: 10764, today: 1, yesterday: 2

SMTP AUTHによるリレー制御

sendmail 8.10以降では、SASLをベースにしたRFC2554に定義しているSMTP AUTHをサポートします。 redhat9 では、標準でインストールされるCyrus-saslライブラリを利用し実装可能です。

/etc/mail/auth-info ファイルは特に作成しなくても動作します。詳しくは、sendmailのドキュメントを参照してください。

[更新:2007年3月8日]
今までと同じカーネルバージョンでsendmailを再コンパイルする場合、obj.Linux.2.4.**.**ディレクトリを削除してから、Buildしてください。

[更新:2012年5月18日]
PLAINだけで認証させる場合、SMTP AUTHユーザとパスワードをLinuxユーザ/パスワードと合わせる必要があります。セキュリティ的には甘いので利用には注意が必要です。

[更新:2016年7月19日]
CentOS系列でのインストール方法を追加しました。

CentOS系列での導入方法

(1) cyrus-sasl-md5のインストール

yum install cyrus-sasl-md5

(2) インストール準備

cd /usr/local/src/sendmail-8.13.6/
vi devtools/Site/site.config.m4    [新規作成]
-----------------------------------------------
APPENDDEF(`confENVDEF', `-DSASL=2')
APPENDDEF(`conf_sendmail_LIBS', `-lsasl2')
-----------------------------------------------

(3) 掃除

make clean
rm -rf obj.Linux.****

(4) インストール

sh Build
sh Build install

(5) 設定

cd cf/cf/
vi sendmail.mc    [3行追加]
-------------------------------------------------------------------
TRUST_AUTH_MECH(`LOGIN PLAIN CRAM-MD5 DIGEST-MD5')dnl
define(`confAUTH_MECHANISMS', `LOGIN PLAIN CRAM-MD5 DIGEST-MD5')dnl
define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnl
-------------------------------------------------------------------
make sendmail.cf
cp sendmail.cf /etc/mail/

(6) 認証メカニズムの設定

vi /usr/lib/sasl2/Sendmail.conf
-------------------------------------------------------------------
[変更前]
pwcheck_method:saslauthd

           ↓

[変更後]
pwcheck_method:auxprop
mech_list:cram-md5 digest-md5 plain login

※saslauthd・・・SASL独自のパスワードデータベースsasldbを用意して認証に利用する方法
※auxprop・・・UNIXユーザー認証共通でPAMやshadowを利用する方法
-------------------------------------------------------------------

(7) sendmailの再起動

/etc/rc.d/init.d/sendmail restart

(8) 確認

sendmail -d0.1 -bv root | grep SASL
-------------------------------------------------------------------
               NAMED_BIND NETINET NETUNIX NEWDB PIPELINING SASLv2 SCANF USERDB
-------------------------------------------------------------------

(9) 認証用ID、パスワードの設定

 /usr/sbin/saslpasswd2 smtpauth ← 認証用ID
********* ← パスワード入力

(10) 認証用ID、パスワードの確認

 /usr/sbin/sasldblistusers2
smtpauth@XXX.XX.XX: userPassword

(11)「(9)」で作成した認証IDと同じユーザとパスワードを設定

useradd -g 50 smtpauth
passwd smtpauth
*********

(12) メールクライアント(Windows Live Mail など)で動作確認

Red Hat Linux系列での導入方法

(インストールの準備)

# cd /usr/local/src/sendmail-8.12.10/
# vi devtools/Site/site.config.m4(新規)
APPENDDEF(`confENVDEF', `-DSASL')
APPENDDEF(`conf_sendmail_LIBS', `-lsasl')

(掃除)

# make clean
# rm -fr obj.linux.****

(インストール)

# sh Build
# sh Build install

(設定)

# cd cf/cf/
# vi sendmail.mc(追加)
TRUST_AUTH_MECH(`LOGIN PLAIN CRAM-MD5 DIGEST-MD5')dnl
define(`confAUTH_MECHANISMS', `LOGIN PLAIN CRAM-MD5 DIGEST-MD5')dnl
define(`confDEF_AUTH_INFO', `/etc/mail/auth-info')dnl
# make sendmail.cf
# cp sendmail.cf /etc/mail/

(起動)

# /etc/rc.d/init.d/sendmail restart

(確認)

# sendmail -d0.1 -bv root | grep SASL
  NETINET NETUNIX NEWDB PIPELINING SASL SCANF  USERDB XDEBUG

(認証用ID、パスワードの設定)

# /usr/sbin/saslpasswd ユーザ名

(認証用ID、パスワードの確認)

# /usr/sbin/sasldblistusers
user: ユーザ名 realm: サーバホスト名 mech: DIGEST-MD5
user: ユーザ名 realm: サーバホスト名 mech: PLAIN
user: ユーザ名 realm: サーバホスト名 mech: CRAM-MD5

(認証用ID、パスワードの削除)

# saslpasswd -d ユーザ名


リロード   差分 ソース ファイル添付 添付ファイル一覧   Wikiトップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
トラックバック [ トラックバック(0) ]
トラックバック URL: http://linuxexpert.ne.jp/modules/pukiwiki/tb/32

Expert Menu
最新記事
なぜここへ
Yahoo Japanから
検索結果から
友人に聞いて
前からURLを知っていた
他サイトからリンク
最新バージョンの確認

Linuxexpert is one of the service presented by InfomationSquare. / OmakaseBlog Login  |  Register Now!