sendmail設定(2)Submissionポート(サブミッション・ポート)& SMTP-AUTH(認証)を使ってみる
ご利用のブラウザは、JavaScript が無効 となっていませんか?
このサイトでは、コンテンツの一部が非表示 、あるいは、コメント、お問い合わせの投稿ができない 、検索ができない ことがあります。
前回までの関連記事
前回までで、簡単なSendmailの動作確認まで行いました。
今回は、Submissionポート(サブミッション・ポート)& SMTP-AUTH(認証)を使ってみます。
Outbound Port25 Blocking (OP25B )とは、
TCPポート25を使ってメールの送信を規制することです。
SPAM対策の一つで、一般的にISP管理下のIPアドレスに関してOP25B対象となり、ISP管理下のPCからいきなりTCPポート25を使って他のサーバーへメール送信できなくなります。
つまり、メール送信は、ISPが運用するSMTPを経由しないと送信できないようになっています。
ただ、これでは、出先でいつも利用しているISP以外のISPでインターネットに接続した場合、メール送信できなくなります。
(いつも利用しているISP以外のISPのOP25B の規制により、TCPポート25を使っていつも利用しているISPが運用するSMTPへ接続できません。)
その対策として、Submissionポート (サブミッション・ポート )があります。
Submissionポート (サブミッション・ポート )とは、
いかなるインターネット接続状態からのメール送信のための TCPポート25と異なるTCPポート(TCPポート587)のことを言います。
このSubmissionポート を使う(tcpポート番号を違える)ことで、OP25B の規制を回避し、メール送信ができるようになります。
一般的に、このSubmissionポート を利用するには、認証(ユーザ、パスワード)が必要になります。
SMTP Authentication (SMTP-AUTH) とは、
メール送信に使うプロトコルであるSMTPにユーザ認証機能を追加した仕様のことで、RFC 2554によって規定されています。
Submissionポートのための設定
Submissionポートを利用するためのSMTP-AUTH(認証)にSASL を利用します。
手順として、まずは、
SASLをインストールし、
SASLを用いた認証用ユーザ、パスワードを設定
sendmailのSubmissionポート、SMTP-AUTH(認証)の設定
動作確認
の順で設定していきます。
[ 用語の解説 ]
Simple Authentication and Security Layer(SASL) とは、
インターネットプロトコルにおける認証とデータセキュリティのためのフレームワークである。
アプリケーションプロトコルから認証機構を分離することを可能にし、理論上はSASLでサポートする任意の認証機構を任意のアプリケーションプロトコルで使うことができる。
あるユーザーが別の者のアイデンティティを仮定できる「プロキシ認証」もサポートできる。
データ一貫性/データ機密性サービスを提供する「データセキュリティ層」も提供できる。
データセキュリティ層を提供する機構の例として DIGEST-MD5 がある。
SASLをサポートするアプリケーションプロトコルは、Transport Layer Security (TLS) もサポートしてSASLの提供するサービスを補完するのが一般的である。
(出典:Wikipedia)
要は、インターネットにおける認証システムの1つです。
SendmailのSubmissionポートを利用する上での認証にSASLを用います。
SASLをインストールする
SASLのユーザ、パスワードを設定する
インストールを終えたら、SASLのユーザ、パスワードを設定します。
ここでのユーザはメールアドレス になります。
例)
$ /usr/sbin/saslpasswd2 - u example. com hoge
Password:
Again (for verification):
$
上記の例では、ユーザ名:hoge@example.com となります。
パラメータの指定順(ドメイン名、ユーザの順)に注意してください。
あとは、指示に従ってパスワードを入力し、完了となります。
ここで設定された情報は、/etc/
sasldb2 というファイルに書き込まれます。
このデータを使う場合、saslの設定を一部設定しておき必要があります。
32 bit OS : /usr/lib/sasl2/
Sendmail.conf
64 bit OS : /usr/lib64/sasl2/
Sendmail.conf
#pwcheck_method:saslauthd
pwcheck_method: auxprop
auxprop : sasldb2 を使って認証する。を指定します。
saslauthd : デーモンのsaslauthd を使って認証する。の場合がデフォルト設定なので注意が必要です。
saslauthdは、基本的にCentOSのユーザID、パスワードでの認証になるのも注意が必要です。
登録したユーザは、以下のコマンドで確認することができます。
$ /usr/sbin/sasldblistusers2
hoge@example.com: userPassword
$
登録したユーザを削除したい場合は、ユーザの指定の仕方に注意してください。sasldblistusers2で表示されるユーザIDのように user@domain のように指定します。
$ /usr/sbin/saslpasswd2 - d hoge@example. com
$
sendmail.mcを設定する
/etc/mail/sendmail.mc を編集します。
...
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
...
DAEMON_OPTIONS(`Port=smtp, Name=MTA, M=A')
...
DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')
...
編集を終えたらsendmail.cfを更新します。
$ m4 / etc/ mail/ sendmail. mc > / etc/ mail/ sendmail. cf
次に、TCPポート587がiptableなどで閉じている場合は、開いておきます。
$ /sbin/iptables - A INPUT - p tcp -- dport 587 - j ACCEPT
最後にsendmailを再起動します。
$ /etc/init.d/sendmail restart
sendmail を停止中: [ OK ]
sendmail を起動中: [ OK ]
$
Submission Port + SMTP-AUTH (認証)を確認する
いかがだったでしょうか?
一番簡単なSubmission Portの設定について、簡単ながら解説してみました。
次回は、SSLプロトコルを使ったメールの暗号化(STARTTLS)を行ってみましょう。
STARTTLS とは、
広い意味でのSTMP over SSL (SMTPs) の1つの方法で、最初の接続時においては、SMTP が利用され、その後、SSL(or TLS)にて暗号化が施されます。
それに対して、SSL/TLS とは、
最初の段階から、SSL(or TLS)による暗号化が図られており、より安全と言われています。
先にも書いたようにいずれも広い意味での、STMPs ( STMP over SSL ) といわれています。
狭い意味でSTMPs ( STMP over SSL ) という場合は、後者を指します。
STARTTLS は、一般的にSubmission Port (587) と共に用いることが多く、
SSL/TLS は、別のSubmission Port (465) が用いられます。
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用 となっていませんか?
このサイトでは、コンテンツの一部が非表示 、あるいは、コメント、お問い合わせの投稿ができない 、検索ができない ことがあります。
関連記事 :
コメントを投稿 :