Webサイトの脆弱性の確認方法とチェックポイント
Webサイトの脆弱性対策は、やみくもに調べるより「外から見える範囲」から順に潰していくのが効率的です。ここでは、自分で確認できる項目と、能動的な診断が必要な項目を分けて整理します。
確認すべき項目
- なりすましメール対策(SPF/DMARC/DKIM)
- 通信の暗号化(HTTPS/HSTS/証明書)
- セキュリティヘッダ(CSP等)とCookieの保護
- 公開ソフトのバージョン露出・未点検サブドメイン
- (能動診断が必要)開放ポート・既知の脆弱性・Webアプリの問題
なぜ重要か
脆弱性は早期に把握して優先度順に対処することが重要です。とくに外から見える設定不備は、攻撃者にとっても最初に見える情報であり、自動化されたスキャンの標的になりやすい領域です。
自分で確認する手順
- まず外形から確認する:HTTPS・セキュリティヘッダ・Cookie属性・SPF/DMARCは、サイトに負荷をかけずに公開情報だけで確認できる。本ハブの各記事の手順で点検する。
- バージョンの露出を見る:レスポンスヘッダの
Server・X-Powered-Byや、HTML内の生成タグにソフトウェア名とバージョンが出ていないかを確認する。露出は攻撃の的を絞らせる。 - サブドメインを棚卸しする:メインサイトだけ対策され、キャンペーン用・旧システムのサブドメインが放置されている例が多い。DNSの管理画面で現存するレコードを洗い出す。
- ここから先は能動診断の領域:開放ポートの確認(nmap)、既知脆弱性の検査(nuclei)、Webアプリケーション診断(OWASP ZAP)などは、対象サイトへ実際にリクエストを送るため**自社が管理するサイトに限り**、負荷と実施時間帯に配慮して行う。
- 見つかった項目を優先度づけする:影響(何が起きるか)×容易さ(どれだけ簡単に悪用できるか)で並べ、設定変更で治る項目から先に潰す。
よくある質問
自分で確認するのと専門的な診断は何が違いますか?
本記事の手順で確認できるのは、公開情報から見える設定不備が中心です。開放ポート・既知脆弱性・Webアプリケーションの問題は、対象へ実際にリクエストを送る能動診断でなければ分かりません。能動診断は自社が管理するサイトに限って実施してください。
他社のサイトを診断してもよいですか?
いけません。許可なく能動的な検査を行うことは、不正アクセス禁止法などに抵触するおそれがあります。診断は、自分が管理する、または管理者の明確な許可を得たサイトに限って行ってください。
ひとつずつ確認し続けるのが難しいときは
ここで挙げた検査は、サイトドックの月次の定期診断に含まれます。見つかった弱点のうちエッジで治せるものはその場で自動修復し、実施した対策は毎月のレポート(PDF)でお届けします。