ホーム テクノロジー セキュリティ 静的 Web サイトの脆弱性に対する 7 つの HTML セキュリティのベスト プラクティス

静的 Web サイトの脆弱性に対する 7 つの HTML セキュリティのベスト プラクティス


静的 Web サイトには、すでにレンダリングされたコンテンツが保存されているため、ユーザーがページをリクエストするたびにデータベースにアクセスしたり、複雑なスクリプトを実行したり、ランタイム エンジンに依存したりする必要がありません。

これは、読み込み時間とセキュリティにおいて明らかな利点になります。静的ページはサーバー時間を大幅に節約し、脆弱性が少なくなります。これは、検索エンジンが静的ページを動的ページよりもランク付けすることを意味します。

SEO の専門家は、ほんの一瞬が完全な成功と完全な失敗を分ける世界で競争力を高めるために、可能な限り静的コンテンツに目を向けています。静的コンテンツの展開は、マーケティング戦略家の間で流行語になっており、IT 担当者は、監視すべき脆弱な箇所が少なくなることを気に入っています。

ただし、100% ハッキングを防止できるわけではないため、Web サイトに静的コンテンツを展開する予定がある場合は、安全を保つために従うべきベスト プラクティスがいくつかあることに注意してください。

セキュリティHTTPヘッダーを使用する

セキュリティ ヘッダーは、HTTP 応答ヘッダー (Web サーバーが提供するコンテンツに追加するメタデータ、エラー コード、キャッシュ ルールなどのパック) のサブセットで、ブラウザーに何をすべきか、受信したコンテンツをどのように処理するかを指示するように設計されています。すべてのブラウザーがすべてのセキュリティ ヘッダーをサポートしているわけではありませんが、非常に一般的で、ハッカーによる脆弱性の悪用を阻止するための基本的なセキュリティ対策を提供する小さなセットが存在します。

X フレーム オプション: SAMEORIGIN

X-Frame-Options ヘッダーは、サイト上の iframe によって課されるリスクを無効化または軽減することを目的としています。ハッカーは iframe を使用して、正当なクリックを捕らえ、訪問者を任意の URL に誘導することができます。 iframe の誤用を防ぐにはさまざまな方法があります。

OWASP (Open Web Application Security Project) が推奨するベスト プラクティスでは、このヘッダーをSAMEORIGINパラメーターとともに使用することを推奨しています。これにより、同じオリジン上のユーザーのみが iframe を使用できるようになります。他のオプションには、iframe を完全に無効にする DENY と、特定の URL のみに iframe へのページの配置を許可する ALLOW-FROM があります。

Apache と Nginx の実装ガイドを確認してください。

X-XSS 保護: 1;モード=ブロック

X-XSS-Protection ヘッダーは、Web サイトをクロスサイト スクリプティングから保護するように設計されています。このヘッダー機能は次の 2 つの方法で実装できます。

  • X-XSS 保護: 1
  • X-XSS 保護: 1;モード=ブロック

最初の方法はより寛容で、Web サーバーへのリクエストからスクリプトをフィルタリングしますが、とにかくページをレンダリングします。 2 番目の方法は、リクエスト内で X-XSS スクリプトが検出されたときにページ全体をブロックするため、より安全です。この 2 番目のオプションは、OWASP が推奨するベスト プラクティスです。

X-Content-Type-Options: nosniff

このヘッダーは、ブラウザがコンテンツをスキャンして、ヘッダーの指示とは異なる応答を行うことを可能にする機能である MIME「スニッフィング」の使用を防ぎます。このヘッダーが存在する場合、ブラウザは事前にコンテンツを「盗聴」してコンテンツ タイプを推測するのではなく、指示に従ってコンテンツ タイプを設定する必要があります。

このヘッダーを適用する場合は、静的 Web サイトの各ページにコンテンツ タイプが正しく適用されていることを再確認する必要があります。

コンテンツタイプ: テキスト/html;文字セット=utf-8

この行は、HTTP プロトコルのバージョン 1.0 以降、HTML ページの要求ヘッダーと応答ヘッダーに追加されました。これにより、すべてのタグがブラウザーでレンダリングされ、結果が Web ページに表示されることが確立されます。

TLS証明書を使用する

SSL/TLS 証明書は、Web サーバーが安全な HTTPS プロトコルを通じて Web ブラウザに送信するデータを暗号化できるため、Web サイトには必須です。そうすれば、移動中にデータが傍受された場合でも、データを読み取ることができなくなります。これは、ユーザーのプライバシーを保護し、Web サイトを保護するために不可欠です。静的 Web サイトには訪問者の個人情報は保存されませんが、訪問者が要求する情報が望ましくないウォッチャーに見られないようにすることが重要です。

Web サイトでの暗号化の使用は、ほとんどの Web ブラウザーで安全なサイトとしてマークされるために必要であり、EU の一般データ保護規則 (GDPR) に準拠しようとする Web サイトでは必須です。法律では SSL 証明書を使用する必要があるとは明確に規定されていませんが、規制のプライバシー要件を満たす最も簡単な方法です。

セキュリティの面では、SSL 証明書により当局は Web サイトの所有権を確認し、ハッカーがその Web サイトの偽バージョンを作成するのを防ぐことができます。 SSL 証明書を使用すると、Web サイトの訪問者は発行者の信頼性を確認でき、Web サイト上での自分の活動を誰も覗き見ることができないという安心感を得ることができます。

幸いなことに、証明書にはそれほど費用がかかりません。実際、 ZeroSSLから無料で入手することも、 SSL Storeからプレミアム版を購入することもできます。

DDoS 保護を導入する

分散型サービス拒否 (DDoS) 攻撃は、現在ますます一般的になってきています。このタイプの攻撃では、一連の分散デバイスを使用して、サーバーが飽和して動作を拒否するまで、大量のリクエストでサーバーを圧倒します。 Web サイトに静的コンテンツがあるかどうかは問題ではありません。必要な措置を講じないと、その Web サーバーは簡単に DDoS 攻撃の被害者になる可能性があります。

Web サイトに DDoS 保護を実装する最も簡単な方法は、セキュリティ サービス プロバイダーにすべてのサイバー脅威に対処してもらうことです。このサービスは、侵入検出、ウイルス対策サービス、脆弱性スキャンなどを提供するため、実質的に脅威について心配する必要はありません。

このような包括的なソリューションは高価になる可能性がありますが、サービスとしての DDoS Protection (DPaaS) など、より低コストで集中的なソリューションもあります。ホスティングプロバイダーがそのようなサービスを提供しているかどうか問い合わせる必要があります。

より手頃な価格のソリューションは、Akamai、 Sucuri 、Cloudflare が提供するクラウドベースの DDoS 保護サービスです。これらのサービスは、DDoS 攻撃の早期検出と分析、およびそれらの攻撃のフィルタリングと迂回、つまり悪意のあるトラフィックのルートを変更してサイトから遠ざけることを提供します。

DDoS 対策ソリューションを検討するときは、そのネットワーク容量に注意を払う必要があります。このパラメータは、保護がどの程度の攻撃強度に耐えられるかを示します。

脆弱な JavaScript ライブラリを避ける

Web サイトに静的コンテンツがある場合でも、セキュリティ リスクを引き起こす JavaScript ライブラリが使用されている可能性があります。一般に、これらのライブラリの 20% により Web サイトがより脆弱になると考えられています。幸いなことに、 Vulnerability DBが提供するサービスを使用して、特定のライブラリが安全かどうかを確認できます。そのデータベースでは、多くの既知の脆弱性に関する詳細情報とガイダンスを見つけることができます。

特定のライブラリの脆弱性をチェックするだけでなく、潜在的なリスクを修復する JavaScript ライブラリのベスト プラクティスのリストに従うこともできます。

  • 外部ライブラリサーバーは使用しないでください。代わりに、Web サイトをホストするのと同じサーバーにライブラリを保存します。外部ライブラリを使用する必要がある場合は、ブラックリストに登録されたサーバーのライブラリの使用を避け、外部サーバーのセキュリティを定期的に確認してください。
  • JavaScript ライブラリのバージョン管理を使用し、各ライブラリの最新バージョンを使用するようにしてください。バージョン管理ができない場合は、少なくとも既知の脆弱性のないバージョンを使用する必要があります。 Retire.js を使用すると、脆弱なバージョンの使用を検出できます。
  • Web サイトで知らない外部ライブラリが使用されているかどうかを定期的に確認してください。こうすることで、ハッカーが不要なライブラリ プロバイダーへのリンクを挿入したかどうかを知ることができます。静的 Web サイトではインジェクション攻撃の可能性は低いですが、このチェックを時々実行しても問題はありません。

バックアップ戦略の導入

静的 Web サイトでは、コンテンツが変更されるたびに、常に安全にバックアップする必要があります。バックアップ コピーは安全に保管し、クラッシュ時に Web サイトを復元する必要がある場合に備えて簡単にアクセスできるようにする必要があります。静的 Web サイトをバックアップするにはさまざまな方法がありますが、一般的には手動と自動に分類できます。

Web サイトのコンテンツがそれほど頻繁に変更されない場合は、手動バックアップ戦略が適切である可能性があります。コンテンツを変更するたびに必ず新しいバックアップを作成することを忘れないでください。ホスティング アカウントを管理するためのコントロール パネルがある場合は、そのコントロール パネル内にバックアップを作成するオプションが見つかる可能性が高くなります。そうでない場合は、いつでも FTP クライアントを使用してすべての Web サイト コンテンツをローカル デバイスにダウンロードし、安全に保管し、必要に応じて復元できます。

もちろん、Web サイト管理タスクを最小限に抑えたい場合は、自動バックアップ オプションの方が適しています。ただし、自動バックアップは通常、ホスティング プロバイダーによってプレミアム機能として提供され、Web サイトを安全に保つための総コストが増加します。

バックアップにクラウド オブジェクト ストレージの使用を検討することもできます。

信頼できるホスティングプロバイダーを使用する

信頼できる Web ホスティング サービスは、Web サイトがスムーズかつ迅速に動作することを保証するだけでなく、ハッキングされないことを保証するためにも必要です。ほとんどの Web ホスティングのレビューでは、速度、稼働時間、カスタマー サポートに関する数値と比較が示されていますが、Web サイトのセキュリティを考慮する場合は、注意深く観察する必要があり、サービスを利用する前にプロバイダーに問い合わせる必要があるいくつかの側面があります。

  • ソフトウェアのセキュリティ: ソフトウェアの更新がどのように処理されるかを確認する必要があります。たとえば、すべてのソフトウェアが自動更新される場合や、各更新が展開される前にテスト プロセスを受ける場合などです。
  • DDoS 保護: この種の保護がホスティング サービスに含まれている場合は、その実装方法の詳細を問い合わせて、Web サイトの要件を満たしているかどうかを確認してください。
  • SSL の可用性とサポート: ほとんどの場合、証明書はホスティング プロバイダーによって管理されるため、プロバイダーが提供する証明書の種類と証明書の更新ポリシーを確認する必要があります。
  • バックアップと復元: 多くのホスティング プロバイダーは自動バックアップ サービスを提供しています。これにより、バックアップの作成、保存、最新の維持を実質的に忘れることができるため、優れています。ただし、そのようなサービスのコストを考慮し、コンテンツを自分でバックアップしておくのにかかる労力と比較して考慮してください。
  • マルウェアからの保護: 信頼できるホスティング プロバイダーは、定期的にマルウェア スキャンを実行し、ファイルの整合性を監視することで、サーバーをマルウェアから保護する必要があります。共有ホスティングの場合、ホスティング プロバイダーがアカウント分離を利用して、隣接する Web サイト間でのマルウェア感染の伝播を防ぐことが望ましいです。
  • ファイアウォール保護: ホスティング プロバイダーは、敵対的なトラフィックを遮断するファイアウォールを導入することで、ホストする Web サイトのセキュリティ レベルを高めることができます。

信頼性の高い静的サイト ホスティング プラットフォームをチェックしてください。

強力なパスワードポリシーを適用する

静的サイトにはデータベースや管理されたコンテンツ システムがないため、管理するユーザー名とパスワードが少なくなります。ただし、静的コンテンツの更新に使用するホスティング アカウントまたは FTP アカウントに対しては、パスワード ポリシーを適用する必要があります。

パスワードに関する適切な実践方法には、特に次のようなものがあります。

  • 定期的に変更する
  • パスワードの最小長を設定します。
  • 大文字/小文字と特殊文字および数字の組み合わせを使用する
  • 電子メールやテキスト メッセージで連絡することは避けてください。

また、管理者アカウントのデフォルトのパスワードは最初から変更する必要があります。これはハッカーが簡単に悪用できる一般的なエラーです。パスワードを失うことを恐れる必要はありません。パスワードマネージャーを使用して安全に管理してください。

静的にしましょう

数年前、動的コンテンツが主流でした。すべてを簡単に変更および更新でき、数秒以内に Web サイト全体の再設計が可能でした。しかしその後、スピードが最優先事項になり、静的なコンテンツが突然再びクールになりました。

その意味で、すべての Web サイトのセキュリティ慣行を再評価する必要があります。確かに考慮すべき側面は減りましたが、それについて完全にリラックスすべきではありません。このベスト プラクティスのリストは、静的 Web サイトを安全かつ健全に保つための独自のチェックリストを作成するのに必ず役立ちます。

「静的 Web サイトの脆弱性に対する 7 つの HTML セキュリティのベスト プラクティス」についてわかりやすく解説!絶対に観るべきベスト2動画

AWSを使いこなすために – セキュリティとベストプラクティスと新しいサービス | AWS Summit Osaka 2019
脆弱性とは(情報セキュリティ)