レンタルサーバー・自宅サーバー設定・構築のヒント
レンタルサーバー・自宅サーバー設定・構築のヒント - レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。

sendmail設定(2)Submissionポート(サブミッション・ポート)& SMTP-AUTH(認証)を使ってみる

2011年10月14日 2015年5月16日
sendmail smtp auth

前回までの関連記事

前回までで、簡単な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を利用します。

手順として、まずは、

  1. SASLをインストールし、
  2. SASLを用いた認証用ユーザ、パスワードを設定
  3. sendmailのSubmissionポート、SMTP-AUTH(認証)の設定
  4. 動作確認

の順で設定していきます。

[ 用語の解説 ]

Simple Authentication and Security Layer(SASL)とは、
インターネットプロトコルにおける認証とデータセキュリティのためのフレームワークである。 アプリケーションプロトコルから認証機構を分離することを可能にし、理論上はSASLでサポートする任意の認証機構を任意のアプリケーションプロトコルで使うことができる。 あるユーザーが別の者のアイデンティティを仮定できる「プロキシ認証」もサポートできる。 データ一貫性/データ機密性サービスを提供する「データセキュリティ層」も提供できる。 データセキュリティ層を提供する機構の例として DIGEST-MD5 がある。 SASLをサポートするアプリケーションプロトコルは、Transport Layer Security (TLS) もサポートしてSASLの提供するサービスを補完するのが一般的である。
(出典:Wikipedia)

要は、インターネットにおける認証システムの1つです。
SendmailのSubmissionポートを利用する上での認証にSASLを用います。

SASLをインストールする

以下の3つのパッケージがインストールされていればOKです。

  • cyrus-sasl
  • cyrus-sasl-plain
  • cyrus-sasl-md5

インストールされていないようなら、以下のようにインストールします。

$ yum install cyrus-sasl
         :

$ yum install cyrus-sasl-plain
         :

$ yum install cyrus-sasl-md5
         :

$  rpm -qa | grep sasl
cyrus-sasl-2.1.22-5.el5_4.3
cyrus-sasl-md5-2.1.22-5.el5_4.3
cyrus-sasl-plain-2.1.22-5.el5_4.3
$


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 を編集します。

...
dnl --- コメントアウトしてあるものを解除します --- dnl
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
...
dnl --- 25portは認証しないように設定します --- dnl
dnl DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
DAEMON_OPTIONS(`Port=smtp, Name=MTA, M=A')dnl
...
dnl --- Submission Port 587portは認証するように設定します --- dnl
dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
...

編集を終えたら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 (認証)を確認する

別のサーバーから、telnetを使って確認してみましょう。
対象となるSMTPサーバーのIPアドレスは、12.34.56.78とします。

$ telnet 12.34.56.78 587
Trying 12.34.56.78...
Connected to 12.34.56.78.
Escape character is '^]'.
220 host.example.com ESMTP Sendmail 8.13.8/8.13.8; Thu, 13 Oct 2011 14:44:27 +0900
AUTH LOGIN
334 VXNlcm5hbWU6
aG9nZUBleGFtcGxlLmNvbQ==
334 UGFzc3dvcmQ6
cHBwd3d3
235 2.0.0 OK Authenticated
mail from:hoge@example.com
250 2.1.0 hoge@example.com... Sender ok
rcpt to:test-user@yahoo.co.jp
250 2.1.5 test-user@yahoo.co.jp... Recipient ok
data
354 Enter mail, end with "." on a line by itself
TEST Relay 587
.
250 2.0.0 p9D5iRKZ015644 Message accepted for delivery
QUIT
221 2.0.0 host.example.com closing connection
Connection closed by foreign host.
$

ユーザ、パスワードに関しては、Base64によるエンコードされた文字列になります。(Base64でデコードすると..)
334 VXNlcm5hbWU6Username:
334 UGFzc3dvcmQ6Password:
のようにプロンプトの表示から、Base64によるエンコードされているのに注意してください。

また、ここでの入力は、(Base64によるエンコードする)
ユーザに hoge@example.comaG9nZUBleGFtcGxlLmNvbQ==
パスワードに pppwwwcHBwd3d3
のようにBase64によるエンコードされた文字列を入力します。

Base64によるエンコード、デコードは、http://ostermiller.org/calc/encode.htmlにて行うことができます。

以下は、TCPポート25を使ったメールのリレーが、正しく規制されるか確認しています。

$ telnet 12.34.56.78 25
Trying 12.34.56.78...
Connected to 12.34.56.78.
Escape character is '^]'.
220 host.example.com ESMTP Sendmail 8.13.8/8.13.8; Thu, 13 Oct 2011 11:57:21 +0900
mail from:hoge@example.com
250 2.1.0 hoge@example.com... Sender ok
rcpt to:test-user@yahoo.co.jp
550 5.7.1 test-user@yahoo.co.jp... Relaying denied
data
503 5.0.0 Need RCPT (recipient)
QUIT
221 2.0.0 host.example.com closing connection
Connection closed by foreign host.
$

最後にSubmission Portから送信したメールが正しく届いたか確認できたらOKです。


いかがだったでしょうか?
一番簡単な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など) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない検索ができないことがあります。


関連記事 :

telnetを使ったsendmailのメール中継のテスト方法

sendmailのメール中継のテスト方法について、telnetを使う方法を簡単に sendmail設定(2)Submissionポート(サブミッ ...

sendmailを使って内部メールをgmailへ転送する

今回は、sendmailです。 といっても、sendmailを本格的使いだすとメンテナンスも大変ですし、設定も面倒です。しかし、かといって、シ ...

Postfix で Submissionポート(サブミッション・ポート)& SMTP-AUTH(認証)を使ってみる

前回までの関連記事 Debian(Ubuntu)で postfix を使ってみる postfixを使って単純に全メールを1つのメールサーバー ...

sendmail設定(4) SMTP-AUTH(認証)+SMTPs (SSL/TLS) を使ってみる

前回までの関連記事 sendmailを使って内部メールをgmailへ転送する Dovecotでメールを受信する sendmail設定(1) ...

sendmail設定(3)Submissionポート(サブミッション・ポート)& SMTP-AUTH(認証)& STARTTLSを使ってみる

前回までの関連記事 sendmailを使って内部メールをgmailへ転送する Dovecotでメールを受信する sendmail設定(1) ...



コメントを投稿 :

お名前 *

メールアドレス *
( メールアドレスが公開されることはありません。)

サイトアドレス

コメント *

* 印の項目は、入力が必要な項目です。




最近投稿の記事

[ 画像提供元 : Amazon ] 先日、1TBのディスクの入れ替え時にバックアップをとろうとディスクコピーを行いました。 その際 ...

Windows で Linux ファイルシステム Ext4 のディスクをマウントするには? Ext3Fsd が、おそらく、最も簡単なツール ...

今回は、Windows で Compass を使ってみました。 Compass とは、 Sass(サス、Syntactica ...

今回は、Anti Adblock を使ってみました。 Anti Adblock とは、 そもそも Adblock という ウェブ ...

デスクトップ環境でない サーバーで、Webページのキャプチャー画像をコマンドで撮る には、wkhtmltoimage, CutyCapt ...


さくらのVPS 全プラン リニューアルです。(石狩(北海道)も選択可)


root権限ありで ¥685 / 月 ~ と非常にリーズナブルな CPU 1(core)の 512 プランから、 最高 CPU 10(core), メモリ 32(GB), SSD容量 800(GB) までとプランが充実。
ディスクは、SSDとHDDの選択が可能になった他、データセンターは人気の東京、石狩(北海道)となりました。

また、どのプランでも好きなOSが選べます
( CentOS, Fedora, Scientific Linux, FreeBSD, Ubutu, Debian )

管理人もおすすめのVPSです。
試用期間がありますから、一度、お試しを!!

詳しくは、http://vps.sakura.ad.jp/さくらのVPSのサイトへ へどうぞ!!

カテゴリ


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。
最近、スワップにも対応した Serverman@VPS は、かなりリーズナブルかもです。

  • メモリ1GB~2GBのEntryプラン :月額:490円
  • メモリ2MB~4GBのStandardプラン :月額:980円
  • メモリ4GB~8GBのProプラン :月額:1,980円

新規申し込みで1ヶ月間完全無料となるキャンペーンを実施中です。
Serverman@VPSの特徴は、安さとIPv6対応です。また、初期設定費0円もポイントです。

IPv6でちょっと遊んでみたい方には、おすすめかもしれませんね。最低利用期間もありませんから、気に入らないときは即解約もできます。

Serverman@VPSの詳細については、 http://dream.jp/vps/ Serverman@VPSのサイトへへどうぞ。



KVM採用 ConoHa VPSは、時間単位で借りれる便利なVPSです。


ConoHa VPS は、初期設定費0円最低利用期間無し時間単位で清算可能、 さらに、Web APIを使って自動化を図ることもできる便利なVPSです。

海外サーバー設置も可能で、ローカル接続にも対応と、かなり、機能豊富なサーバーです。

新規ユーザ登録で、クーポンもらえますから、まずは、お試しですね。

ConoHa VPSの詳細については、
http://www.conoha.jp/ へどうぞ。

KVM採用 お名前.com VPS(KVM) 2G プラン 初期設定費無料 キャンペーン 実施です。


メモリ2GBプラン CPU:3core、Disk:200GB
月額:1,153円から (初期設定:1,680円0円)

さくらのVPSがリニューアルされてもなんのその。
1GBメモリ / 2Core を ¥834 – の格安価格で提供中です!
間違いなくスペックからすると割安感ありです。
年間割引時の途中解約で返金がないのは、 ちょっと残念ですが、それでもこの割安感は魅力です。

まずは、お試しですね。

お名前.com VPS(KVM)の詳細については、
http://www.onamae-server.com/vps/ へどうぞ。(お試し期間が15日あります。)



  • ソーシャルブックマーク

  • はてなブックマークへ追加するはてな登録数
ページトップへ
Time : 0.2447 [s]