応用情報技術者 2023年 秋期 午前2 問38
問題文
自社の中継用メールサーバで、接続元 IPアドレス、電子メールの送信者のメールアドレスのドメイン名、及び電子メールの受信者のメールアドレスのドメイン名から成るログを取得するとき、外部ネットワークからの第三者中継と判断できるログはどれか。ここで,AAA.168.1.5とAAA.168.1.10 は自社のグローバルIPアドレスとし、BBB.45.67.89とBBB.45.67.90 は社外のグローバルIPアドレスとする。a.b.c は自社のドメイン名とし,a.b.dとa.b.eは他社のドメイン名とする。また、IPアドレスとドメイン名は詐称されていないものとする。

選択肢
ア:
イ:
ウ:(正解)
エ:
🔒 解説は解答すると表示されます
第三者中継判定【午前2解説】
正解の理由
第三者中継(いわゆる「外部からの中継利用」「オープンリレー」的な状況)は、メールサーバが自社とは無関係な送信者と受信者間の送受信を外部ネットワークから受け付けている状態を指します。判定に用いる条件は明確で、接続元が社外の IP であること、かつ送信者ドメインと受信者ドメインの両方が自社ドメインでないこと、の両方が成立する場合です。
与えられた選択肢のうち、この条件を満たすのは ウ の行(接続元:BBB.45.67.89、送信者ドメイン:a.b.d、受信者ドメイン:a.b.e)だけです。したがって ウ が正解です。
与えられた選択肢のうち、この条件を満たすのは ウ の行(接続元:BBB.45.67.89、送信者ドメイン:a.b.d、受信者ドメイン:a.b.e)だけです。したがって ウ が正解です。
※重要な点として、外部 IP から自社ドメイン宛に接続しているログ(受信メール)は通常の外部からの受信であり、第三者中継とは区別されます(後述)。
解法ステップ
- 接続元 IP が自社か社外かを判定する(問題中で AAA.* が自社、BBB.* が社外と明示)。
- 送信者ドメインと受信者ドメインそれぞれについて自社ドメインか否かを判定する(a.b.c が自社、a.b.d/a.b.e は社外)。
- 「接続元が社外」かつ「送信者ドメインも社外かつ受信者ドメインも社外」であれば第三者中継と判定する。
- 上記を各行に適用して該当する行を選ぶ(該当は ウ のみ)。
簡潔に言うと:接続元が外部かつ両当事者のドメインが自社外、これが成立する行が第三者中継である。
選択肢別の誤答解説
- ア:接続元が AAA.168.1.5(自社のグローバル IP)であり、接続元が社内からの接続です。第三者中継は「外部からの中継利用」を指すため該当しません。アは社内発信(あるいは自社サーバの内部処理)に該当します。
- イ:接続元が AAA.168.1.10(自社)で、送信者・受信者ともに a.b.c(自社ドメイン)です。完全に社内間のやり取りなので第三者中継ではありません。
- ウ:接続元が BBB.45.67.89(社外)で、送信者が a.b.d(社外)、受信者が a.b.e(社外)です。接続元が社外かつ送信者・受信者とも自社外なので、第三者中継の定義に当てはまります。したがって正解です。
- エ:接続元が BBB.45.67.90(社外)ですが、受信者ドメインが a.b.c(自社)です。これは外部から自社宛に送信している通常の受信(インバウンド)であり、第三者中継には該当しません。外部 IP の接続だからといって必ず第三者中継になるわけではなく、送受信ドメインの組合せが重要です。
よくある誤解
- 外部 IP = 必ず第三者中継:誤りです。外部 IP から自社ドメイン宛の接続は通常の受信であり、第三者中継とは区別されます。第三者中継は「外部接続」かつ「送信者・受信者とも自社外」で判定します。
- 送信者ドメインだけが社外なら中継だと思う:誤りです。受信者側が自社であれば単なる外部からの受信であり、第三者中継ではありません。
- 接続元 IP と送信者ドメインが乖離している場合は常に詐称:本問では「IPアドレスとドメイン名は詐称されていない」とあるため、送信者ドメインの判定はそのまま利用します。実運用では SPF/DKIM/Received 解析で補強する必要があります。
補足コラム
- 第三者中継(オープンリレー)を放置するとスパム送信源にされ IP がブロックされたり、ブラックリスト登録の原因となります。メールサーバのログからは「接続元 IP」「MAIL FROM」「RCPT TO」を組合せて解析することで検出できます。
- 実運用では SMTP 認証(SMTP AUTH)やポート 587 の利用、アクセス制御で外部の不正中継を防ぎます。また、Received ヘッダを辿ることで実際の送信経路を確認できます。SPF/DKIM/DMARC は送信者ドメインの正当性確認の補助になりますが、直接の中継判定はログ上の接続元と送受信ドメインの組合せで行います。
- 簡単な検出ルール(擬似コード)例:
# logs は (src_ip, sender_domain, recipient_domain) のリスト
our_ips = {"AAA.168.1.5", "AAA.168.1.10"}
our_domain = "a.b.c"
def is_third_party_relay(src_ip, sender_domain, recipient_domain):
return (src_ip not in our_ips) and (sender_domain != our_domain) and (recipient_domain != our_domain)
for entry in logs:
if is_third_party_relay(*entry):
print("第三者中継の疑い:", entry)
FAQ
Q. 外部 IP から自社ドメイン宛のメールでも注意は必要ですか?
A. はい。外部からの受信は通常の運用ですが、不正な大量送信(DDoSやブルートフォース)やなりすましを検知する必要があります。SPF/DKIM/DMARC とレート制限で対策します。
A. はい。外部からの受信は通常の運用ですが、不正な大量送信(DDoSやブルートフォース)やなりすましを検知する必要があります。SPF/DKIM/DMARC とレート制限で対策します。
Q. 送信者ドメインが自社だが接続元が社外の場合はどう判断しますか?
A. 本問の前提(詐称なし)では送信者が自社ドメイン=社内発信と見なせます。実運用では外部の IP から自社ドメインで送信される場合、SMTP 認証済みのリモートユーザかドメイン詐称かを検証しますが、第三者中継とは見なしません。
A. 本問の前提(詐称なし)では送信者が自社ドメイン=社内発信と見なせます。実運用では外部の IP から自社ドメインで送信される場合、SMTP 認証済みのリモートユーザかドメイン詐称かを検証しますが、第三者中継とは見なしません。
Q. 「第三者中継」の判定で必ず見なければならないログ項目は?
A. 最低限、接続元 IP(接続を行ったクライアント)、MAIL FROM(送信者ドメイン)、RCPT TO(受信者ドメイン)の3点です。これらの組合せで中継か否かを判定します。
A. 最低限、接続元 IP(接続を行ったクライアント)、MAIL FROM(送信者ドメイン)、RCPT TO(受信者ドメイン)の3点です。これらの組合せで中継か否かを判定します。
関連キーワード: メール中継, オープンリレー, SMTPログ解析, SPF, Receivedヘッダ

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

