FC4/sendmail/FC4付属のsendmailでSMTPSとSMTP AUTH(SMTP認証)に対応させる方法
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
#contents
----
* Fedora Core 4 付属の sendmail で SMTPS と SMTP AUTH(SMT...
ここではよりセキュア(安全)なサーバ運用のために、SMTP AU...
** 1. Fedora Core 4 の sendmail パッケージ [#y46897b5]
Fedora Core 4 付属の sendmail パッケージでは、特に別の...
手順としては sendmail の設定(sendmail.mc)→認証鍵の作成→...
** 2. sendmail 側の設定編 [#mfa52414]
まずは sendmail 側の設定です。初期状態では SMTP 認証(SM...
*** 2-1. sendmail.mc の編集 [#m7b7ec7d]
sendmail の設定ファイル /etc/mail/sendmail.mc を開きま...
ファイルを開いたら 48, 49 行目を確認します。初期状態で...
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN ...
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGES...
sendmail.mc(正確には M4 マクロ)では dnl がコメント=無...
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAI...
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD...
引き続き、証明書(認証時に用います)に関する設定も有効...
dnl define(`confCACERT_PATH',`/etc/pki/tls/certs')
dnl define(`confCACERT',`/etc/pki/tls/certs/ca-bundle.cr...
dnl define(`confSERVER_CERT',`/etc/pki/tls/certs/sendmai...
dnl define(`confSERVER_KEY',`/etc/pki/tls/certs/sendmail...
ここでも無効になっていますので、コメントアウト(コメント...
define(`confCACERT_PATH',`/etc/pki/tls/certs')
define(`confCACERT',`/etc/pki/tls/certs/ca-bundle.crt')
define(`confSERVER_CERT',`/etc/pki/tls/certs/sendmail.pe...
define(`confSERVER_KEY',`/etc/pki/tls/certs/sendmail.pem')
(補足:sendmail.mc では認証鍵の作成を /usr/share/ssl/ 配...
引き続き 130 行目尾を確認します。
dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
初期状態では、このようにコメントされている状態ですが、...
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
ちなみに Port=smtps とは SMTPS 通信用の専用ポート TCP 4...
*** 2-2. sendmail.cf の作成 [#l24b7fd9]
sendmail.mc で下準備が終わったあとは、新しい sendmail.c...
作業前には念のため sendmail.cf のバックアップをとってお...
# cp -p /etc/mail/senndmail.cf /etc/mail/sendmail.cf.org
バックアップなど準備が整ったら、次のコマンドで sendmail...
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
以上で sendmail 側の設定は終わりました。
** 3. SSL 証明書の設定編 [#k5631907]
SMTP 認証 (SMTP AUTH) では「正しい利用者から通信がなさ...
*** 3-1. sendmail.pem の作成 [#nf03bc0c]
sendmail が SMTP 認証(SMTP AUTH)に用いるための専用の公...
ディレクトリを移動します。
# cd /etc/pki/tls/certs
もしディレクトリがない場合は oepnssl パッケージのセット...
次に、実際に鍵の作成を行います。
# make sendmail.pem
コマンドを実行すると、自動で暗号ファイルの作成などの処...
umask 77 ; \
PEM1=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
PEM2=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
/usr/bin/openssl req -utf8 -newkey rsa:1024 -keyout $PEM...
cat $PEM1 > sendmail.pem ; \
echo "" >> sendmail.pem ; \
cat $PEM2 >> sendmail.pem ; \
rm -f $PEM1 $PEM2
Generating a 1024 bit RSA private key
....++++++
......................................++++++
writing new private key to '/tmp/openssl.hg9938'
-----
You are about to be asked to enter information that will...
into your certificate request.
What you are about to enter is what is called a Distingu...
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:
ここからは会社・個人に応じた情報を入力していくことにな...
Country Name (2 letter code) [GB]:
まずは国名です。日本在住なので【 JP 】(Japan)と入力しま...
Country Name (2 letter code) [GB]:JP
次は州名・都道府県名の入力です。
State or Province Name (full name) [Berkshire]:
私の場合は富山県在住なので【 Toyama-Ken 】と入力します...
State or Province Name (full name) [Berkshire]:Toyama-Ken
この次は市区町村名です。
Locality Name (eg, city) [Newbury]:
私の場合、滑川市という所に住んでいるので【 Namerikawa-S...
Locality Name (eg, city) [Newbury]:Namerikawa-Shi
次は組織名の入力です。
Organization Name (eg, company) [My Company Ltd]:
普通は会社名の入力で良いとおもうのですが、私のような個...
Organization Name (eg, company) [My Company Ltd]:Pockets...
次は部署名です。
Organizational Unit Name (eg, section) []:
特に部署名が無い場合は空白でも構いません。私は適当に【 ...
Organizational Unit Name (eg, section) []:Development Se...
さて、次はちょっと重要です。メールサーバのホスト名を入...
Common Name (eg, your name or your server's hostname) []:
私が運用しているメールサーバは【 sion.pocketstudio.jp ...
Common Name (eg, your name or your server's hostname) []...
最後にメールアドレスです。
Email Address []:
ここには私のアドレス【 zem@pocketstudio.jp 】を入力しま...
Email Address []:zem@pocketstudio.jp
以上の流れで証明書の作成は終わりました。
*** 3-2. sendmail.pem の確認 [#i91ffddd]
ls コマンドで certs ディレクトリ内に sendmail.pem とい...
$ ls -l sendmail.pem
-rw------- 1 root root 2332 7月 1 18:50 sendmail.pem
この sendmail.pam の中に先ほど入力した所在地・ホスト名...
cat sendmail.pem を実行すると【RSA PRIVATE KEY】と【CERT...
なお、この作業で用いた他にも make のオプションがありま...
詳しく確認したい場合は次のコマンドでどうぞ。
# make -C /etc/pki/tls/certs usage
*** 3-3. sendmail デーモンの再起動 [#e6bfd0b3]
さて、これで証明書の準備が終わりました。次に sendmail ...
# /sbin/service sendmail restart
sendmail を停止中: ...
sm-client を停止中: ...
sendmail を起動中: ...
sm-client を起動中: ...
通常であれば問題なく再起動できるのですが、もしエラーが...
さて、まだこの段階では SMTP 認証(SMTP AUTH)の設定は完了...
reject=550 5.7.1 <zem@pocketstudio.jp>... Relaying denie...
これはエラー 5.7.1 メール中継を拒否しました。適切な認証...
** 4.SASL(Simple Authentication and Security Layer)認証の...
安全に SMTP 認証を行うため、ここでは SASL を用います。S...
*** 4-1. SASL 用パスワードの設定 [#m0dcce00]
設定には saslpasswd2 コマンドを用います。
コマンドは【 /usr/sbin/saslpasswd2 -u ホスト名 -c ID名 ...
以下は sion.pocketstudio.jp のサーバで zem というユーザ...
# /usr/sbin/saslpasswd2 -u sion.pocketstudio.jp zem
Password:
Again (for verification):
コマンドを入力すると、パスワードを2回入力して設定は終...
以上で設定は完了です。ユーザ事に個別に SASL ID とパスワ...
** 5. Linux ログイン ID とパスワードによる SMTP 認証 [#ec...
セキュリティ的にあまりおすすめは出来ませんが、Linux の...
また saslauthd も起動が必要になります。
# /sbin/service saslauthd start
saslauthd を起動中: ...
サーバ再起動後も自動起動するように、chkconfig で起動の...
# /sbin/chkconfig saslauthd on
--list オプションをつけると、ただしく on になっている事...
# /sbin/chkconfig --list saslauthd
saslauthd 0:off 1:off 2:on 3:on 4:on ...
※個人的にはあまり平文での認証はおすすめ出来ません。せっか...
** 6. 送信テスト [#s7b6d944]
*** 6-1. Becky! を用いた SMTP 認証(CRAM-MD5) [#y3415620]
Becky! のメニューにある【 ツール(T) 】→【 メールボック...
『 基本設定 』のタブ(見出し)では【 SMTPS 】にチェックを...
『 詳細 』のタブ(見出し) では、まず、『 SSL/TLS 関連』...
【 SMTP 認証 】にチェックを入れると、送信時に SMTP 認証...
(【 LOGIN 】にチェックを入れた場合は Linux サーバのログ...
送信に成功すると次のようなログが /var/log/maillog に残...
sion sendmail[10384]: AUTH=server, relay=dhcp102 [192.16...
また SMTPS で暗号化されている事は、同じくログが daemon=...
*** 6-2. Outlook Express を用いた SMTP 認証(PLAIN) [#f41e...
Outlook Express を使うと MD5 を用いた暗号化はうまく動作...
ひとまず、Outlook Express で使うには……前項[[「Linux ロ...
メニューの【ツール(T)】→【アカウント(A)】を選びます。メ...
『 サーバー 』のタブ(見出し)を押し、画面下のほうにある...
『 送信メール サーバー 』という画面が開きます。【 次の...
再びプロパティに戻り【 詳細設定 】のタブ(見出し)をクリ...
『送信メール(SMTP)』の項目は 25 ですが【 465 】に変更し...
これでメールの送信テストを行います。初回送信時には『暗...
** 7. エラー対策一覧 [#p6e46bc2]
【reject=550 5.7.1 … Relaying denied. Proper authenticati...
-「sion sendmail[4688]: incorrect digest response」
>この場合は純粋にログイン認証に失敗しています。saslpasswd...
パスワードが間違いないかどうか、確認することをおすすめし...
-「sion sendmail[4299]: no secret in database」
>/etc/sasldb2 ファイル内に指定されている ID 情報が無いと...
----
一般的なプロバイダでは POP Before SMTP 認証(メール受信...
終了行:
#contents
----
* Fedora Core 4 付属の sendmail で SMTPS と SMTP AUTH(SMT...
ここではよりセキュア(安全)なサーバ運用のために、SMTP AU...
** 1. Fedora Core 4 の sendmail パッケージ [#y46897b5]
Fedora Core 4 付属の sendmail パッケージでは、特に別の...
手順としては sendmail の設定(sendmail.mc)→認証鍵の作成→...
** 2. sendmail 側の設定編 [#mfa52414]
まずは sendmail 側の設定です。初期状態では SMTP 認証(SM...
*** 2-1. sendmail.mc の編集 [#m7b7ec7d]
sendmail の設定ファイル /etc/mail/sendmail.mc を開きま...
ファイルを開いたら 48, 49 行目を確認します。初期状態で...
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN ...
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGES...
sendmail.mc(正確には M4 マクロ)では dnl がコメント=無...
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAI...
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD...
引き続き、証明書(認証時に用います)に関する設定も有効...
dnl define(`confCACERT_PATH',`/etc/pki/tls/certs')
dnl define(`confCACERT',`/etc/pki/tls/certs/ca-bundle.cr...
dnl define(`confSERVER_CERT',`/etc/pki/tls/certs/sendmai...
dnl define(`confSERVER_KEY',`/etc/pki/tls/certs/sendmail...
ここでも無効になっていますので、コメントアウト(コメント...
define(`confCACERT_PATH',`/etc/pki/tls/certs')
define(`confCACERT',`/etc/pki/tls/certs/ca-bundle.crt')
define(`confSERVER_CERT',`/etc/pki/tls/certs/sendmail.pe...
define(`confSERVER_KEY',`/etc/pki/tls/certs/sendmail.pem')
(補足:sendmail.mc では認証鍵の作成を /usr/share/ssl/ 配...
引き続き 130 行目尾を確認します。
dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
初期状態では、このようにコメントされている状態ですが、...
DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
ちなみに Port=smtps とは SMTPS 通信用の専用ポート TCP 4...
*** 2-2. sendmail.cf の作成 [#l24b7fd9]
sendmail.mc で下準備が終わったあとは、新しい sendmail.c...
作業前には念のため sendmail.cf のバックアップをとってお...
# cp -p /etc/mail/senndmail.cf /etc/mail/sendmail.cf.org
バックアップなど準備が整ったら、次のコマンドで sendmail...
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
以上で sendmail 側の設定は終わりました。
** 3. SSL 証明書の設定編 [#k5631907]
SMTP 認証 (SMTP AUTH) では「正しい利用者から通信がなさ...
*** 3-1. sendmail.pem の作成 [#nf03bc0c]
sendmail が SMTP 認証(SMTP AUTH)に用いるための専用の公...
ディレクトリを移動します。
# cd /etc/pki/tls/certs
もしディレクトリがない場合は oepnssl パッケージのセット...
次に、実際に鍵の作成を行います。
# make sendmail.pem
コマンドを実行すると、自動で暗号ファイルの作成などの処...
umask 77 ; \
PEM1=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
PEM2=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
/usr/bin/openssl req -utf8 -newkey rsa:1024 -keyout $PEM...
cat $PEM1 > sendmail.pem ; \
echo "" >> sendmail.pem ; \
cat $PEM2 >> sendmail.pem ; \
rm -f $PEM1 $PEM2
Generating a 1024 bit RSA private key
....++++++
......................................++++++
writing new private key to '/tmp/openssl.hg9938'
-----
You are about to be asked to enter information that will...
into your certificate request.
What you are about to enter is what is called a Distingu...
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:
ここからは会社・個人に応じた情報を入力していくことにな...
Country Name (2 letter code) [GB]:
まずは国名です。日本在住なので【 JP 】(Japan)と入力しま...
Country Name (2 letter code) [GB]:JP
次は州名・都道府県名の入力です。
State or Province Name (full name) [Berkshire]:
私の場合は富山県在住なので【 Toyama-Ken 】と入力します...
State or Province Name (full name) [Berkshire]:Toyama-Ken
この次は市区町村名です。
Locality Name (eg, city) [Newbury]:
私の場合、滑川市という所に住んでいるので【 Namerikawa-S...
Locality Name (eg, city) [Newbury]:Namerikawa-Shi
次は組織名の入力です。
Organization Name (eg, company) [My Company Ltd]:
普通は会社名の入力で良いとおもうのですが、私のような個...
Organization Name (eg, company) [My Company Ltd]:Pockets...
次は部署名です。
Organizational Unit Name (eg, section) []:
特に部署名が無い場合は空白でも構いません。私は適当に【 ...
Organizational Unit Name (eg, section) []:Development Se...
さて、次はちょっと重要です。メールサーバのホスト名を入...
Common Name (eg, your name or your server's hostname) []:
私が運用しているメールサーバは【 sion.pocketstudio.jp ...
Common Name (eg, your name or your server's hostname) []...
最後にメールアドレスです。
Email Address []:
ここには私のアドレス【 zem@pocketstudio.jp 】を入力しま...
Email Address []:zem@pocketstudio.jp
以上の流れで証明書の作成は終わりました。
*** 3-2. sendmail.pem の確認 [#i91ffddd]
ls コマンドで certs ディレクトリ内に sendmail.pem とい...
$ ls -l sendmail.pem
-rw------- 1 root root 2332 7月 1 18:50 sendmail.pem
この sendmail.pam の中に先ほど入力した所在地・ホスト名...
cat sendmail.pem を実行すると【RSA PRIVATE KEY】と【CERT...
なお、この作業で用いた他にも make のオプションがありま...
詳しく確認したい場合は次のコマンドでどうぞ。
# make -C /etc/pki/tls/certs usage
*** 3-3. sendmail デーモンの再起動 [#e6bfd0b3]
さて、これで証明書の準備が終わりました。次に sendmail ...
# /sbin/service sendmail restart
sendmail を停止中: ...
sm-client を停止中: ...
sendmail を起動中: ...
sm-client を起動中: ...
通常であれば問題なく再起動できるのですが、もしエラーが...
さて、まだこの段階では SMTP 認証(SMTP AUTH)の設定は完了...
reject=550 5.7.1 <zem@pocketstudio.jp>... Relaying denie...
これはエラー 5.7.1 メール中継を拒否しました。適切な認証...
** 4.SASL(Simple Authentication and Security Layer)認証の...
安全に SMTP 認証を行うため、ここでは SASL を用います。S...
*** 4-1. SASL 用パスワードの設定 [#m0dcce00]
設定には saslpasswd2 コマンドを用います。
コマンドは【 /usr/sbin/saslpasswd2 -u ホスト名 -c ID名 ...
以下は sion.pocketstudio.jp のサーバで zem というユーザ...
# /usr/sbin/saslpasswd2 -u sion.pocketstudio.jp zem
Password:
Again (for verification):
コマンドを入力すると、パスワードを2回入力して設定は終...
以上で設定は完了です。ユーザ事に個別に SASL ID とパスワ...
** 5. Linux ログイン ID とパスワードによる SMTP 認証 [#ec...
セキュリティ的にあまりおすすめは出来ませんが、Linux の...
また saslauthd も起動が必要になります。
# /sbin/service saslauthd start
saslauthd を起動中: ...
サーバ再起動後も自動起動するように、chkconfig で起動の...
# /sbin/chkconfig saslauthd on
--list オプションをつけると、ただしく on になっている事...
# /sbin/chkconfig --list saslauthd
saslauthd 0:off 1:off 2:on 3:on 4:on ...
※個人的にはあまり平文での認証はおすすめ出来ません。せっか...
** 6. 送信テスト [#s7b6d944]
*** 6-1. Becky! を用いた SMTP 認証(CRAM-MD5) [#y3415620]
Becky! のメニューにある【 ツール(T) 】→【 メールボック...
『 基本設定 』のタブ(見出し)では【 SMTPS 】にチェックを...
『 詳細 』のタブ(見出し) では、まず、『 SSL/TLS 関連』...
【 SMTP 認証 】にチェックを入れると、送信時に SMTP 認証...
(【 LOGIN 】にチェックを入れた場合は Linux サーバのログ...
送信に成功すると次のようなログが /var/log/maillog に残...
sion sendmail[10384]: AUTH=server, relay=dhcp102 [192.16...
また SMTPS で暗号化されている事は、同じくログが daemon=...
*** 6-2. Outlook Express を用いた SMTP 認証(PLAIN) [#f41e...
Outlook Express を使うと MD5 を用いた暗号化はうまく動作...
ひとまず、Outlook Express で使うには……前項[[「Linux ロ...
メニューの【ツール(T)】→【アカウント(A)】を選びます。メ...
『 サーバー 』のタブ(見出し)を押し、画面下のほうにある...
『 送信メール サーバー 』という画面が開きます。【 次の...
再びプロパティに戻り【 詳細設定 】のタブ(見出し)をクリ...
『送信メール(SMTP)』の項目は 25 ですが【 465 】に変更し...
これでメールの送信テストを行います。初回送信時には『暗...
** 7. エラー対策一覧 [#p6e46bc2]
【reject=550 5.7.1 … Relaying denied. Proper authenticati...
-「sion sendmail[4688]: incorrect digest response」
>この場合は純粋にログイン認証に失敗しています。saslpasswd...
パスワードが間違いないかどうか、確認することをおすすめし...
-「sion sendmail[4299]: no secret in database」
>/etc/sasldb2 ファイル内に指定されている ID 情報が無いと...
----
一般的なプロバイダでは POP Before SMTP 認証(メール受信...
ページ名: