診断について
確認する内容
外部から受け身で確認できる範囲だけを見ます。
- メール: SPF、DMARC、DKIM(よく使われる名前を、いくつか試します。見つからなくても「無い」とは断定せず、「確認できず」と表示します)
- TLS: 証明書の期限とホスト名の一致、信頼できる証明書か、TLS の版、HTTP から HTTPS への転送、HSTS
- HTTP ヘッダー: CSP、フレームへの埋め込みの制限、X-Content-Type-Options、Referrer-Policy、Permissions-Policy、Cookie の属性、ソフトの名前や版の露出
結果は「良好」「要改善」「確認できず」の 3 つで示します。点数は付けません。
診断先に送る通信
診断のために、診断先に次の通信を送ります。通常のアクセスと同じ程度の、少ない通信です。
- DNS の問い合わせ(TXT レコードなど)
- 80 番ポートへの HTTP の要求と、443 番ポートへの HTTPS の要求(トップページの取得。本文は先頭の 64KB までしか読みません)
- 転送先への追従(最大 3 回。80・443 番ポートだけ)
User-Agent は Digdeeper で始まり、末尾に、この説明ページの URL が入ります。
Digdeeper/0.1 (external security check; +https://digdeeper.report/about)
見ないもの・しないこと
- 管理画面などの公開パスの探索、ポートスキャン、脆弱性の照合はしません。
- ログインや入力フォームの送信はしません。
- サイトの中身(ファイル、データベース)は見ません。そのため、マルウェアに感染しているかどうかは判定できません。
保存する情報
診断先のホスト名と診断の結果は保存しません。運用のログにも、ホスト名や利用者のアドレスを残しません。
短時間に何度も診断されるのを防ぐため、利用者のアドレスと診断先のドメインから作った識別子(元の値には戻せない形)を、 外部のストア(Upstash)に、回数を数えるために置きます。保存する期間は、約 20 分です。
このほか、回数だけを数えています(診断が成功した回数、どのページから来たか、ランサーズへの案内を押した回数。日ごと、90 日間)。
人による操作かどうかの確認に、Cloudflare の Turnstile を使っています。確認のために、お使いのブラウザの情報と IP アドレスが Cloudflare に送られます。
診断を断りたいとき
ご自分のサイトに診断の通信を受けたくない場合は、サーバーや CDN、WAF の設定で、User-Agent が Digdeeper で始まる要求を拒否してください(403 などを返します)。 拒否すると、HTTP ヘッダーなどの項目は「確認できず」になります。DNS と TLS の接続は公開されている情報なので、止められません。