調べ物した結果

現役SEが仕事と直接関係ないことを調べた結果とか感想とか

令和元年のIPA問題に挑む~安全確保支援士 PM1①~

目的

勉強のやり直し(すーぱー忘れてる)
回答例が欲しい人は回れ右です。

問題1 電子メールのセキュリティ対策

とりあえず問題を読んでいく。 穴埋め系はその場で回答が出せれるならマーキングして
回答を入れておくと時間短縮になる。

今回はドメインの認証技術が主題らしい。んーこの辺全然しらんけど、前からあったのかなぁ。
応用情報の問題にも出ていたし、トレンドなのかもしれない。

ざっと読んだが・・・

いつもなら全力逃げしてるタイプの問題。 メールサーバの細かいとこまで問われている。苦しい。
裸の知識では全然太刀打ちできないからカンニングしながら進めよう。

SPF・・・
https://www.nic.ad.jp/ja/basics/terms/spf.html#targetText=SPF%E3%81%AF%E3%80%81%E3%81%93%E3%81%86%E3%81%97%E3%81%9F%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9,%E6%83%85%E5%A0%B1%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%BE%E3%81%99%E3%80%82

問1

本文中「a」に入る適切な語句。 はいー知識問題。

問題はSMTPの「ある」コマンドで指定できるエンベロープの送信者メールアドレス~の「ある」
の部分を聞いている。特に前後の文脈等関係なく、知識を問う問題と判断できる。しらんけど。

カンニングだ!
http://www.puni.net/~mimori/smtp/ref.html#mail
MAIL か。MAILでよさそう。 よし答えは「MAIL」でいく。

問2(1) 表のあなうめ。

前述のSPFの仕組みが理解できていれば、埋めるのはたやすいのではないだろうか。
SPFは差出人メールアドレスの偽装を検証する技術。

攻撃の方向は
 1. 「取引先メールアドレス」に偽装した「攻撃者サーバ」からのメールを「自社」に送信する
 2.「自社のメールアドレス」に偽装した「攻撃者サーバ」からのメールを「取引先」に送信する

ここでもう一回SPFをおさらいする。


SPFに対応した「メール受信サーバ」は メールの受信時にそのメールの送信元となっているドメイン(*3)のSPFレコードを、 DNSで問い合わせます。
送信元のサーバがSPFレコード中で許可されていない場合は、 送信ドメインの詐称が行われたと判断して、 受信を拒否するなどの処理を行います。
リンク元より抜粋
https://www.nic.ad.jp/ja/basics/terms/spf.html#targetText=SPF%E3%81%AF%E3%80%81%E3%81%93%E3%81%86%E3%81%97%E3%81%9F%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9,%E6%83%85%E5%A0%B1%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%BE%E3%81%99%E3%80%82
つまり、SPFの設定が有効にするには2つの条件がいる。
・「メール受信サーバ」側でSPFが有効になっていること
・「メール送信元のDNS」にSPFレコードが登録されていること

攻撃の方向から照らし合わせると、
1.の「自社」に向けて送信されたメールなので、
 自社の「メール受信サーバ」でSPFが有効か、
 送信元(取引先のドメインDNS)にてSPFレコードが設定されているか。
 の2点が必要(2個めはなくても認証通らないだけだろうから、別によさそう)
 ふまえて、
b, d, f, h を解く
 b: 外部メールサーバ(自社の受信サーバ)では「設定する」とあるので、 〇でよいと思われる。
  取引先のDNS設定がないらしいが、SPFの認証に失敗する。だろうから「〇」で問題なさそう。
 d: 外部メールサーバ(自社の受信サーバ)では「設定しない」とあるので、×だ。
  取引先のDNS設定は「あり」になっているが、受信側のSPFが有効でなければ意味がない。
 f,h: 上記と同様。外部メールサーバ(自社の受信サーバ)で設定しないので「×」

2. のほうも同様の観点で解いていくと
 c: ×、e: ×、g: 〇, i:〇
 という感じか。双方の設定が有効でないとまともに動かない。
 というより、有効なメールが受け取れないという状態になるだろう。

問2(2) SPFレコードの設定。

 毎度、IPADNSのレコード設定問題を出してくる。いつも僕は忘れている。
 カンニングだね
https://salt.iajapan.org/wpmu/anti_spam/admin/operation/information/spf_i01/#20

ipv4でのIPアドレス部分の穴埋めになっている。
 ipv4 という指定があるので、ドメイン名を放り込むわけにはいかないだろう。
 文中にあるまともなアドレスは
 自社グローバルアドレスを示す「x1.y1.z1.1」だけなので、これが答えになると思う。
 もしかしたらここは全然しらなくても「ipv4」というワードだけで答えを絞り出せるかもしれない。邪道オブ邪道

問2(3) ちゃんと設定しているのでSPFではじかれる場合。

 中間のメールサーバが介在した場合に、エンベロープFromを変更せずに送っているとSPF認証が失敗してしまうよ。
 なんで。ということを50文字で答える問題。 
 なお、問いには「具体的に」と書かれているので、一般的な回答ではなくて、問題文に沿った形で答える必要があるでしょう。
 
 以下のようになる。から駄目よ。ということなんだと解釈する。


 SMTP(A.com) -> SMTP(B.com) ->pop3
 A.comのDNSではSMTP(A.Com)を許可
 B.comのDNSではSMTP(B.Com)を許可
 という前提で、
 
A.comのドメインを管理するDNSに「SMTP(B.com)」が許可されている確認
してしまうから、認証に失敗するのだろう。
 解答はこんな感じか。くるしいけど。
 「送信時に途中に介在したメールサーバは
  送信者メールアドレスのDNSで許可されていないから」
 

問2(4) DKIM 認証

 DKIM認証をつかって、メール送信元の正当性以外で、確認できるものはなにか。
 という問題。
DKIMは全然わからんが、なにやら公開鍵を利用した方式らしいので、
 なんとかとけるかもしれない
 DKIM・・・https://www.nic.ad.jp/ja/basics/terms/dkim.html
 
 問題中の図より、公開鍵を外部メールサーバ(自社サーバ)
 に置いておいて、受信時にカギを受け取る仕組みらしい。明記されてないが、おそらく
 受信サーバの方には秘密鍵を保持しているだろう。
 
 またまた問題文中より、メールの本文、およびメールヘッダよりハッシュ値を生成して・・・
 とある。 これはたぶん、一般的な回答でいいのではないだろうか。
 公開鍵・ハッシュから保証されるのは「真正性」だろう。この場合、メール本文の真正性が保たれる(つまり改ざんされていない)
 
 答えは
 メール本文が改ざんされていないこと。
 でいいはず。

問3 あなうめ。

 DNSレコードの穴埋めと、
 DMARCのタグの穴埋め問題。
 DNSほんとよくでるなぁ・・・
 
 MXレコードのホスト名、SPFレコードのIPアドレスを答える問題。
 a-sub.n-sha.co.jp のホスト名は・・・というか問題文中にわざわざ「ホスト名」
 ってかいてある。
 これはMXレコードのフォーマットを理解していれば答えていいよ。ということなのだろうか
 答えは「mail.x-sha.co.jp」だろう。
 
 SPFレコードの方。文中にでてくるIPアドレス
 X社のメールサーバアドレス(x2.y2.z2.1)
 X社のDNSサーバアドレス(x2.y2.z2.2)
 の2つ。
 ほかの回答でとったとおり、SPFはメールサーバを認証するものだから、メールサーバのアドレスを入れるのが妥当だろう。
 答えは「x2.y2.z2.1」だろう。

 DMARCタグの方も完全に知識の問題だ。とりあえず補完しよう。
 https://www.nic.ad.jp/ja/basics/terms/dmarc.html


SPFおよびDKIMを用いて送信元ドメインを認証する際、 認証に失敗したメールをどのように取り扱うかは、受信者の判断に任せられています。 また、認証に失敗したことやそのメールがどのように処理されたかは、 送信者には把握することができません。

そういったSPFおよびDKIMの挙動を補強するために、DMARCが提案されました。 DMARCでは、認証失敗時にどのようにメールを処理すればよいかを、 送信者が受信者に対してポリシーと呼ばれるレコードをDNS上で公開することで表明する仕組みになっています。 受信者は認証に失敗した場合に送信者のポリシーを参照し、 それに基づいてメールをどのように取り扱うかを決定します。
 URLより抜粋。https://www.nic.ad.jp/ja/basics/terms/dmarc.html

 
 わかりやすい。だがこれではpタグだのなんだの情報はない。もう少し足りない。
 
 pタグは
 https://www.wareportal.co.jp/manual/mdaemon/security--dmarc.htm
ふむ。問題文中にがっつりと「隔離」と書いてあるので
 「reject
 が妥当でしょう。
 
 aspf
 https://www.naritai.jp/guidance_record.html

adkim、 aspf パラメータは、いずれも relaxed mode を示す r か strict mode を示す s のいずれかの値を設定します。relaxed mode とは、DKIM あるいは SPF で認証したドメイン (認証識別子) と、ヘッダ上の送信者情報 (From:ヘッダ, RFC5322.From) との組織ドメインが同じであれば良い場合を示します。例えば、DKIM で認証したドメイン (DKIM-Signature:ヘッダで d= で示されるドメイン) が example.com である場合、RFC5322.From が alerts@news.example.com であったとすると、組織ドメインが同じ example.com ですので、relaxed mode ではアライメントであることにより認証結果が pass となります。逆に strict mode の場合は、完全にドメインが一致している必要がありますので、DKIM としては DMARC 認証ができないことになります。
URLより抜粋 https://www.naritai.jp/guidance_record.html
 問題分を読む限り後半の組織ドメインだけ通す必要がありそう。
 「r]が答えでよさそう。
 
とおもったらめっちゃ問題文にかいてた。ひどい。ちゃんとよめ
隔離。のワードを見る限り「reject」ではなく「quarantine」だな。うん。問題はちゃんと読もう

問4 それでも突破してくる攻撃者

 いじでも取引先に成りすましてメールを送ってくるとする。そうした場合防げない方法が
 あるよね。という問題。あるのか・・・
 
 
 問2(3) ちゃんと設定しているのでSPFではじかれる場合。がすごく怪しい雰囲気がある。
 ようは、ちゃんとエンベロープFromを書き換えれば、SPFでは防げないわけだ。
 これを答えとしよう。
 
 取引先のメールサーバの中間サーバとして、
 エンベロープを攻撃者のサーバに変換して自社に送信されたメール
 
 全然いみわからんけど。。。回答待ちだなこれは

以上。のこり2問、と午後2.問題多いなぁ・・・