OP25B(Outbound Port 25 Blocking)(2014-09-13)
インターネットサービスプロバイダ(ISP)が自分の管理下のIPアドレスからの電子メール送信について、管理外ネットワークのメールサーバに対するSMTP通信を禁止する機能。
実際、このサーバ(null-i.net)にメールサーバを設定したのに何故かメールの送受信ができなかったのですが、原因はこれだったようです。
具体的には、自分が契約しているプロバイダの25/tcp(SMTP。メール送信に使う)には接続できるのですが、他所のサーバ(null-i.net)の25/tcpにはプロバイダが接続させないようにしている、ということです。
なぜOP25Bが要るか †
プロバイダが契約ユーザの悪行?を防ぐ措置になります。
そのプロバイダのメールサーバへメールを送信するのは問題ないが、
プロバイダのネットワークを経由して、よそのプロバイダ/会社のメールサーバへ送信できないようにします。
自社経由で不正アクセスされたり、スパムメールをばら撒かれたりするのを防ぐために...であっているよな?いまいちよく分かりません*1 。
しかし、それでも自前のメールサーバにメールを送りたい、
という人のために通常はサブミッションポート(587/tcp)を用意します。自前サーバで25ではなく587でメールを受けるように設定を変更すれば、プロバイダも通信を許可する仕組みです。
・・・あれ、分からなくなってきたぞ。じゃあ、迷惑メールにもサブミッションポートを使えば良いってこと?
・・・うん、分からないことは考えないことにしよう。 ![[wink]](image/face/wink.png)
歴史的な背景の話ですが †
もともとインターネットができ始めた頃は、使う人も限られていて(研究者とか)メールサーバ間での送受信は無条件で行っていたようです。善意の中継が前提で利便性重視。
その名残で、SMTP(メール送信プロトコル)には送信者を認証する機能はありません。
しかしインターネットの普及に伴って、悪意のユーザによる迷惑メール(スパム)が大量に発生し始めました。
それに対応するためにできた機能として、
- POP before SMTP
メール受信(POP。認証機能あり)が成功したユーザ(のIPアドレス)だけにメール送信(SMTP)を許可する。
この方式だと一定時間経過後に、またPOP認証からやりなおさなければならない。
そう言われてみれば、昔のプロバイダって確かにこの設定でした、
- SMTP-AUTH
SMTPにユーザ認証機能をつけたもの。
この方式だとユーザ側(MUA:Mail User Agent)、メールサーバ側(MTA:Mail Tranfer Agent)両方にこの機能の実装が必要。
・・・といっても今時は普通に実装されているのか。
- OP25B
前述のとおり。
ができたという歴史があるようです。