首相官邸を掘ってみよう

こんにちは、カヤック技術部の竹田です。 【カヤック】面白法人グループ Advent Calendar 2024 3日目の記事になります。

本稿は首相官邸ホームページのドメイン:kantei.go.jpの調査記事になります。

首相官邸のホームページ

首相官邸をdigる

ドメイン情報を調べる方法は幾つかありますが、digを使って調べます、「digる」=「掘る」という言い回しもあるコマンドです。

ホームページhttps://www.kantei.go.jphttps://kantei.go.jpからリダイレクトされているので、各ドメイン情報を調べてみましょう。

$ dig www.kantei.go.jp
: 
www.kantei.go.jp.       60      IN      A       18.65.207.120
www.kantei.go.jp.       60      IN      A       18.65.207.11
www.kantei.go.jp.       60      IN      A       18.65.207.129
www.kantei.go.jp.       60      IN      A       18.65.207.80

$ dig kantei.go.jp
: 
;; ANSWER SECTION:
kantei.go.jp.           60      IN      A       99.84.55.20
kantei.go.jp.           60      IN      A       99.84.55.59
kantei.go.jp.           60      IN      A       99.84.55.2
kantei.go.jp.           60      IN      A       99.84.55.11

ドメインが複数のIPアドレスにバランシングされていることがわかりました。このIPアドレスの範囲を調べてみます。

$ whois 99.84.55.20 
: 
NetRange:       99.83.64.0 - 99.84.255.255
CIDR:           99.83.64.0/18, 99.83.128.0/17, 99.84.0.0/16
: 
Organization:   Amazon.com, Inc. (AMAZO-4)
$ whois 18.65.207.120
 : 
NetRange:       18.32.0.0 - 18.255.255.255
CIDR:           18.32.0.0/11, 18.128.0.0/9, 18.64.0.0/10
:      
Organization:   Amazon Technologies Inc. (AT-88-Z)

Amazon Technologies Inc.が管理している範囲であることがわかりました。curlでヘッダ情報を表示してみるとCloudFrontを利用していることがわかります。

$ curl -I https://www.kantei.go.jp/
HTTP/2 200 
:
x-cache: Hit from cloudfront
via: 1.1 0f15031d73f70e48af4f45f47e23ca3e.cloudfront.net (CloudFront)
x-amz-cf-pop: NRT57-P3
x-amz-cf-id: k-Mt7aKwMEnrkaN9IMamtbLQzBaMA2zJheU2tTCbTcTN7MP2mRdH3A==
age: 12
x-frame-options: SAMEORIGIN

nsを使ってkantei.go.jpが使用しているネームサーバーを調べてみました。Route53を利用しているようです。

$ dig kantei.go.jp ns
: 
;; ANSWER SECTION:
kantei.go.jp.           26566   IN      NS      ns-1442.awsdns-52.org.
kantei.go.jp.           26566   IN      NS      ns-1948.awsdns-51.co.uk.
kantei.go.jp.           26566   IN      NS      ns-396.awsdns-49.com.
kantei.go.jp.           26566   IN      NS      ns-663.awsdns-18.net.

首相官邸のホームページはAWS上に構築されていると考えられそうです。

お問い合わせ届くかな(返信くるかな)?

ご意見募集(首相官邸に対するご意見・ご感想のページがありました。「必ず返信をさせていただくものではございません。」とあるので返信が来るとは限りませんが、問い合わせた場合に返信を受け取れるのか不安になりました。返信がスパム扱いされてゴミ箱行きになっていることはないでしょうか、調査してみます。

MXレコード

メールサーバ(メール配送先)を確認したいのでMXレコードを引きます。 調べたところMicrosoftOutlookを利用していそうです。

$ dig kantei.go.jp mx
 : 
;; ANSWER SECTION:
kantei.go.jp.           300     IN      MX      0 kantei-go-jp.mail.protection.outlook.com.

SPFレコード (TXTレコード)

TXTレコードはお役立ち情報をメモ書きできる場所でスパムメール対策(SPFレコード,DKIMレコード,DMARCレコード)などに利用されています。こちらも確認してみることにしました。SPFレコードにはinclude:spf.securemx.jp. include:spf.protection.outlook.comがありました。メール送信にはIIJセキュアMXサービスMicrosoftOutlookを使用していることが推測されます。

$ dig kantei.go.jp txt 
: 
;; ANSWER SECTION:
kantei.go.jp.           300     IN      TXT     "MS=ms71830828"
kantei.go.jp.           300     IN      TXT     "v=spf1 include:spf.securemx.jp. include:spf.protection.outlook.com -all"
kantei.go.jp.           300     IN      TXT     "MS=4EDE4CC0C8C2ECC3468C6740E22686CAD3A029B9"

DKIMレコード (TXTレコード)

DKIMレコードはメール署名の検証に使用される公開鍵を記録しておく場所です。こちらもTXTレコードを利用しています。

$ dig selector1._domainkey.kantei.go.jp txt 
: 
;; ANSWER SECTION:
selector1._domainkey.kantei.go.jp. 3600 IN CNAME selector1-kantei-go-jp._domainkey.digitalgojp.onmicrosoft.com.
selector1-kantei-go-jp._domainkey.digitalgojp.onmicrosoft.com. 2977 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2I/B8GA8X7dd5OhSiNexueqNuyj/vgjjBc5eZlCVhbeol4EoQX/W4dz7D8wGCqxVBtgLBDG8xjmuHvmj0MLAHZmkO5C/Of+1AIbWzSMww2w3bmQuQ4EmrgeJtEGBI4q8chIWP+I7xqLu+BVWfa8ns2cA6197tuSBfbYMAbp+5z6rjeKB91oUHt3faDU2dJ68z" "v6Q+Jr4+MntIfUl1SkU71Ac5qt1lTt+FCqdHpaNwfd+bfpG2OD2nwbdlGG2Wn3BbC666eENzyrd3sy0T265iaSFcqNg7Jf1Z00LNQr3cnYBgGJOKT0AVb7h4MQDDkP4/3i48hfgX/VbMEKIPqpzSQIDAQAB;"

selector1._domainkey.kantei.go.jpがDKIM用のドメイン名でCNAMEでselector1-kantei-go-jp._domainkey.digitalgojp.onmicrosoft.com.に向けています。

向き先のselector1-kantei-go-jp._domainkey.digitalgojp.onmicrosoft.com.のTXTレコードで

  • DKIMの宣言:v=DKIM1
  • 鍵の種類:k=rsa
  • 公開鍵:p=....

が設定されていることがわかりました。

DMARCレコード (TXTレコード)

DMARCレコードはSPFやDKIMの認証結果をどのように取り扱うかを指定するレコードです、こちらもTXTレコードを利用しています。

$ dig _dmarc.kantei.go.jp txt 
: 
;; ANSWER SECTION:
_dmarc.kantei.go.jp.    300     IN      TXT     "v=DMARC1; p=none; pct=100; rua=mailto:rua-report@kantei.go.jp; ruf=mailto:ruf-report@kantei.go.jp"

各情報を整理すると

  • DMARCポリシー:p=none(認証失敗でも通す),
  • ポリシー適用割合:pct=100(全て),
  • 集計レポート送信先:rua=mailto:rua-report@kantei.go.jp
  • 認証失敗レポート送信先:ruf=mailto:ruf-report@kantei.go.jp

が設定されていました。

検証

SPF, DKIM, DMARCが設定されていることは確認できました。検証を行ってくれるサービスがあるので利用するのも良さそうですが、今回は実際に問い合わせて確認することにしました。

ご意見募集(首相官邸に対するご意見・ご感想)の検証例

後日返信がきたら、追記したいと思います。

何気なく普段見ているサイトの裏側を覗いてみると色々発見がありそうですね。カヤックでは自分の興味を掘り下げるエンジニアを募集しています。