Windows TIPS
[Network]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

スパム・メールの送信を制限するOutbound Port 25 Blockingとは

デジタルアドバンテージ 打越 浩幸
2006/09/30
メールの送信は、一般的にはTCPの25番ポート(SMTP)が利用される。
スパムなどの送信を防ぐため、プロバイダが25番経由での通信を禁止している場合がある。これをOutbound Port 25 Blocking(OP25B)という。
OP25B環境では、ほかのプロバイダのネットワーク上に存在するメール・サーバへ直接SMTP通信をすることができない。。
OP25B環境でメールを送信したい場合は、プロバイダのメール・サーバを利用するか、サブミッション・ポートを利用する。
 
解説

 スパム・メールやウイルス・メールなどの送信を制限するため、最近では、Outbound Port 25 Blocking(以下OP25B。日本語に訳すと「外向き25番ポートのブロック機能」)という技術がISP(インターネット・サービス・プロバイダ)で導入され、普及し始めている。本TIPSでは、このOP25Bについて解説する。

 インターネットでメールを送信する場合、一般的にはSMTPプロトコルを利用してメール・サーバへ接続し、メールの本文を送信する。SMTPプロトコルでは、(標準的には)TCPの25番ポートを使い、メール・クライアント・ソフトウェア(メーラ)からの送信要求を受け付ける。だがこのポートは、クライアント・ソフトウェアからの送信だけでなく、メール・サーバ間での中継でも利用される。そのため、一般的には、認証なしで接続、利用できるようになっている。もしSMTPプロトコルで認証を必須にしてしまうと、任意のドメインからのメールを受け付けることができなくなるからだ。インターネットは、もともと利用者の善意に基づいて運用されていたため、このようなシステムでも問題になることは(当初は)なかった。

 だが認証がないことを利用して、スパム・メール業者が迷惑メールを大量に送信したり、メール送信ウイルスが、ウイルスに感染したメールを送信したりする場合がある。このようなメール・サーバの不正な利用は、受信者に対して迷惑がかかるだけでなく、インターネット回線の帯域を圧迫し、正常なほかの通信を阻害することにもなる。このような不正な通信を阻止するために、最近(ここ1、2年で)ISPで導入が進んでいるのが、OP25Bという通信のブロック(阻止)技術である(ただしこれだけ完全にスパム・メールを防ぐことができるわけではなく、ほかにもいくつかの技術がある)。

OP25Bとは

 OP25Bとは、簡単にいうと、TCPのあて先ポート番号が25番(SMTPプロトコル)となっている通信パケットをブロックする機能である。OP25Bが有効になっていると、ISPのネットワークを経由して、ISP外へ接続しようとするSMTP通信がすべてブロックされる。これにより、ISP外のメール・サーバに対して直接SMTPで接続し、メールを送信することができなくなる。

 スパム・メールを送信する業者は(もしくはメール送信型のウイルスは)、プロパイダで用意しているメール・サーバを利用せず、インターネット上に存在する(セキュリティ設定の甘い)メール・サーバを利用するか、自分自身でメール送信先ドメインのメール・サーバに直接接続して、メールを大量に送信する。そのため、OP25BでSMTP通信がブロックされると、このような形態の通信が行えなくなる。

 ただしこれでは、正常なメール・クライアント(一般のユーザー環境)からもメールを送信できなくなるので、通常のメール送信では、プロバイダが用意したメール・サーバを利用するようになっている。このメール・サーバは、ISPのネットワーク内からのみ利用できるように設定されているし、場合によっては認証機能も備えているので、不正な送信を繰り返しているユーザーはすぐにアカウントの停止などの対策が行われるのが普通である。

OP25BによるSMTP通信のブロック
OP25Bでは、ISPのネットワーク外に存在するメール・サーバへのメール送信(SMTP通信。デフォルトではTCPの25番)をすべてブロックする。一般のユーザーがメールを送信するときは、プロバイダが提供している(たいていの場合は認証付きの)メール・サーバを利用する。これにより、正規のメール以外は送信できなくなる。サブミッション・ポート(587番)は、メーラからの送信専用ポートであり、たいていは認証付きで運用されている(詳細は後述)。

OP25Bの確認方法

 プロバイダでOP25Bが導入されると、外部あてのSMTP通信が利用できなくなる。以前は利用できていたメール送信が、ある日突然失敗するようになった場合は、OP25Bが導入されていないかどうかを確認する必要があるだろう。もちろん、導入までには必ずプロバイダから通知などが来ているはずであるが(たいていは、導入までには数カ月の猶予がある)、見過ごしていたり、捨ててしまっていたりすると、突然通信エラーになって、慌てるかもしれない。

nslookupでMXレコードを検索する(Windows TIPS)

 プロバイダがOP25Bを導入しているかどうかは、telnetコマンドでいくつかのメール・サーバに接続してみれば分かる。まず適当なドメインのメール・サーバ情報をnslookupコマンドで検索する(関連記事参照。DNSのMXレコードを検索する)。そして、見つかったメール・サーバのSMTPポート(25番ポート)に対して、telnetコマンドで接続してみる。正しく接続され、メール・サーバのグリーティング・メッセージ(メール・サーバの応答)が表示されれば、OP25Bは導入されていない。だがSMTPがブロックされていると、telnetは接続できずに、タイムアウト・エラーとなる(タイムアウトするまで1分程度かかる)。プロバイダのメール・サーバには接続できるが、それ以外の外部のメール・サーバに接続できなければ、OP25Bが導入されていると判断できる。

C:\>nslookup -type=mx EXAMPLE.COM …メール・サーバ情報をDNSで引く
Server:  server01.mycompany.local
Address:  192.168.1.12

EXAMPLE.COM   MX preference = 10, mail exchanger = MAIL.EXAMPLE.COM
MAIL.EXAMPLE.COM     internet address = XXX.XXX.XXX.XXX
 ↑…メール・サーバ情報(ホスト名とIPアドレス)

C:\>telnet MAIL.EXAMPLE.COM 25 …メール・サーバの25番ポートへ接続する
接続中: MAIL.EXAMPLE.COM...ホストへ接続できませんでした。 ポート番号 25: 接続に失敗しました …接続失敗のエラー

C:\>

外部のメール・サーバを利用したい場合は?――サブミッション・ポートの利用

 場合によってはプロバイダのメール・サーバではなく、外部のメール・サーバを利用したいことがある。例えば、会社のメール・サーバを利用して送信する場合や(会社からのメールを、会社のドメインから送信させるために、いつも利用している会社のメール・サーバを経由させる)、ホスティング・サービスで運用しているドメインのメール・サーバを利用したりする場合である。これらのケースでは、インターネット上の特定の場所に置かれたメール・サーバを利用するため、どうしてもプロバイダのネットワークを越えてSMTP通信を行う必要がある。

 このような用途で利用するため、最近ではSMTPのサブミッション・ポートを使ったメール送信サーバを用意しているプロバイダも少なくない。これは、通常の25番ポートではなく、サブミッション・ポート(TCPの587番ポート)を経由して送信する機能である。すでに述べたように、デフォルトの25番ポートでは、認証機能を無効にして利用するのが一般的である(認証機能を利用することもできるが、そうすると、一般のメールが受け付けられなくなるので、利用しない)。

 これに対し、メール・クライアント(メーラ)からメール・サーバに送信(submission)するための専用プロトコルとして、サブミッション・ポートの利用が定義されている(規格はRFC2476参照)。SMTPとほぼ同じであるが、一般的には認証機能を有効にして運用するので(認証を利用しないことも可能)、送信者を厳密に識別することができる。またOP25Bが実施されていても、ポート番号が異なるので通信ブロックの対象とはならず、(たいていの場合は)どこからでも利用することができる。

サブミッション・ポートの組織内での利用

 このサブミッション・ポートは、プロバイダだけでなく、一般の会社などでも利用できるだろう。メール・サーバを外部からもアクセスできるように公開する場合、認証付きのサブミッション・ポートを用意すれば、インターネットからも安全に利用できる(少なくとも、認証なしの標準SMTPポートを用意するよりははるかに安全である)。その場合、ポート番号はデフォルトの587番ではなく、異なるポート番号にすると、より安全性が高まるだろう。

 また同時に、外部のメール・サーバに対するSMTP通信を禁止して(OP25Bを社内でも実施する。あて先ポート番号が25番のTCP通信をファイアウォールで禁止する)、サブミッション・ポートの利用を義務付ければ、社内から(許可を得ない)不正なメールを送信したり、ウイルスに感染してメールで情報をばら撒いてしまったりといった事故もある程度防ぐことが可能となる。

サブミッション・ポートを利用したメールの送信

 メールの送信をサブミッション・ポートで行う場合、メール・クライアントでの設定変更が必要となる。通常はTCPの25番を利用するようになっているはずであるが、これを(デフォルトでは)587番に変更し、さらに認証を利用するように変更する。具体的な設定方法についてはTIPS「サブミッション・ポートを利用してメールを送信する」を参照していただきたい。またサーバ(Exchange Server)において、サブミッション・ポートを利用するようにする方法については、今後別TIPSで取り上げる。End of Article

関連記事(Windows Server Insider)
Windows TIPS:nslookupの基本的な使い方(MXレコード編)
Windows TIPS:サブミッション・ポートを利用してメールを送信する
 
関連リンク
迷惑メール対策、「まず25番ポートの遮断とSPFを広めたい」(@IT NewsInsight)
ケータイ向けのスパムはシャットアウトします、IIJ(@IT NewsInsight)
25番ポートの攻防(Security&Trust ウォッチ)
Outbound Port 25 BlockingワーキンググループのRecommendation参照(JEAG:Japan Email Anti-Abuse Group)
RFC2476 -- Message Submission(RFC Editor)
 
「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間