OP25B 環境からのメール送信
OP25B を実施している ISP の回線を使う自宅の PC から,自社のメールサーバ mail.example.com でメールを送信できなかった。メールクライアントは送信にポート 25 番を使う設定である。PC で接続を確認した結果は次のとおりである。
$ nc -vz -w 5 mail.example.com 25
nc: connect to mail.example.com port 25 (tcp) timed out: Operation now in progress
$ nc -vz -w 5 mail.example.com 587
Connection to mail.example.com 587 port [tcp/submission] succeeded!送信できるようにする対処として,最も適切なものはどれか。
- アメールクライアントで STARTTLS を有効にし,ポート 25 番の SMTP 通信を暗号化して,ISP に通信の内容を判別されないようにする。
- イメールサーバでポート 587 番での SMTP-AUTH による認証を必須にし,メールクライアントの送信先をポート 587 番に変更して認証を行わせる。
- ウ自社ドメインの SPF レコードに,ISP が自宅の回線に割り当てる IP アドレスの範囲を追加し,正当な送信元として認めさせる。
- エ送信の前に POP3 でメールサーバの認証を受けさせる POP before SMTP を設定し,認証を受けた IP アドレスからのポート 25 番での送信を許可する。
正解と解説を見る
正解 イ
この問題の基礎知識
- OP25B(Outbound Port 25 Blocking)は,ISP が利用者の回線から ISP 外のメールサーバのポート 25 番への通信を遮断する迷惑メール対策であり,宛先の TCP ポート番号で判断する。
- メールクライアントからメールサーバへの送信(メッセージサブミッション)にはサブミッションポート 587 番を用い,SMTP-AUTH で利用者を認証する。ポート 25 番は主にメールサーバ間の転送に用いる。
- SPF や DKIM は受信側が送信ドメインの詐称を検証する仕組み,POP before SMTP や SMTP-AUTH は送信を受け付けるメールサーバが利用者を確認する仕組みであり,ISP の回線上での遮断とは働く場所が異なる。
- nc -vz による確認で timed out は TCP 接続自体が確立しないこと,succeeded は TCP 接続が確立できたことを示す。
OP25B は宛先の TCP ポート番号によって通信を遮断するので,通信を暗号化しても遮断は回避できない。また,STARTTLS は SMTP の接続を確立した後に開始するものであり,結果のとおり TCP 接続自体がタイムアウトしている状況では使えない。
アクセスプロバイダはサブミッションポート 587 番への接続を遮断してはならないとされ(RFC 5068),結果でも 587 番には接続できている。メッセージサブミッション(RFC 6409)として 587 番で SMTP-AUTH による認証を行えば,ISP の外のメールサーバからも送信できる。
SPF は,メールを受信する側のサーバが送信元ホストの IP アドレスをドメインの宣言と照合する仕組みである。ISP が利用者の回線から外部のポート 25 番への通信を遮断する OP25B には影響しない。
POP before SMTP は,メールサーバ側で送信を許可する IP アドレスを決める仕組みであり,送信には引き続きポート 25 番を使う。ISP の回線から外部のポート 25 番への通信は OP25B で遮断されるので,送信できない。
照合の根拠(5 件)
- イ(正解): アクセスプロバイダはサブミッションポート 587 番の外部への通信を遮断してはならない
Access Providers MUST NOT block users from accessing the external Internet using the SUBMISSION port 587 [RFC4409].
RFC 5068 · Section 4.1(新しいタブで開きます) - イ(正解): メッセージサブミッション(587 番)では SMTP-AUTH による認証を求める
The MSA MUST, by default, issue an error response to the MAIL command if the session has not been authenticated using [SMTP-AUTH], unless it has already independently established authentication or authorization
RFC 6409 · Section 4.3(新しいタブで開きます) - ア・エ(誤り): OP25B は外向きのポート 25 番の利用自体を遮断するので,暗号化(ア)しても POP before SMTP(エ)を使っても 25 番で送る限り遮断される
A proactive technique used by some providers is to block all use of port 25 SMTP for mail that is being sent outbound
RFC 5068 · Section 4(新しいタブで開きます) - エ(誤り): POP before SMTP は送信を許可する相手を IP アドレスで決める仕組みで,送信に使うポートは変わらない
Requiring a POP [POP3] authentication (from the same IP address) within some amount of time (e.g., 20 minutes) prior to the start of a
RFC 6409 · Section 3.3(新しいタブで開きます) - ウ(誤り): SPF は受信側ホストが送信ホストの認可を確認する仕組みで,ISP による 25 番の遮断には影響しない
ADministrative Management Domains (ADMDs) can explicitly authorize the hosts that are allowed to use their domain names, and a receiving host can check such authorization.
RFC 7208 · Abstract(新しいタブで開きます)
nc の結果で 25 番は TCP 接続がタイムアウトし,587 番は接続に成功しているので,OP25B で 25 番だけが遮断されている。STARTTLS(ア)は TCP 接続の確立後の SMTP コマンドなので,接続できない 25 番では使えない。