このWebサイトセキュリティチェックリストに従って、企業が取るべき10の主要対策(ユーザーの認証と承認、Webトラフィックの暗号化、サードパーティリスクの軽減、DDoS攻撃やボットのブロックなど)、を実施しましょう。
この記事を読み終えると、以下のことができるようになります。
記事のリンクをコピーする
Webサイトのセキュリティは、収益、効率性、顧客インサイトの源としてWebアプリケーションに依存するすべての組織にとって重要です。機密データを取り込んで保存したり、重要なインフラストラクチャやサービスを提供するようなWebサイトを運営する組織は、その複雑さ、規模により、その配信サーバーがさまざまな攻撃の影響を受けやすくなります。
インターネットの脅威状況や規制環境が常に変化していることから、Webアプリケーションセキュリティの分野は幅広く、常に進化し続けています。たとえば、以下のチェックリストはWebサイトを保護する方法に焦点を当てたものですが、大企業においてはAPIとAI対応アプリ(Webサイトに組み込まれることが増えています)の保護がますます重要になっています。
しかし、すべての規模、すべての業界が配信する一般向けに公開しているWebサイトは、技術的制御、アクセス制御、ユーザー管理などの「基本的な対策」を講じることで恩恵を受けることができます。そのため、このWebサイトセキュリティガイドでは、以下に示す10の推奨事項を取り上げています。推奨事項:パスワードのみの認証ではなく二要素認証(2FA)を使用する
航空会社が、飛行機に搭乗する前の乗客の本人確認を行うように、企業もWebアプリケーションが稼働するデジタルシステムに誰がログインしようとしているかを確認する必要があります。
不正アクセスを防止する(本人であることの確認を行う)プロセスを、認証と呼びます。認証では、特定の特性または「要素」を電子記録と照合することで、ログインを試みる人が本人であるかどうかを検証します。
最も一般的な認証要素は次のとおりです:
一つ目(所有情報)の問題は、攻撃者によってパスワードが推測されたり盗まれたりする可能性が高いことです。攻撃者によるフィッシング、中間者攻撃、総当たり攻撃、利用者のパスワードの再利用なども増加し、また、攻撃者は流出したログイン資格情報を簡単に収集できるようにもなっています。
このため、組織はアカウントに対して二要素認証(2FA)を実装することが求められています。2FAでは、(少なくとも)異なる2種類の認証形式を必要とするため、一種類のみの認証と比べて効果的です。2FAを破ることは攻撃者にとって不可能ではありませんが、パスワードのみの認証を突破することと比べてはるかに困難であり、費用もかかります。
推奨事項:許可すべきユーザーにのみロールベースの権限を設定する
本人確認がとれたからといって、その人にすべての制御権を与える必要はありません。認可は、認証されたユーザーが何を表示・実行できるかを決定(アクセス許可)する役目を果たします。
例えば、「スーパー管理者」がすべての設定やページを編集できる唯一の権限を持ち、「閲覧専用」はサイトの分析データの閲覧に限られているなどの設定がされている場合があります。
組織が拡大するにつれて、Webチームの役割も、フロントエンド開発者、バックエンド開発者、セキュリティアナリスト、レポートアナリスト、Webデザイナー、コンテンツ編集者など、その数は増えています。そのため、ロールベースの権限を定期的に監査し、更新することが重要です。
推奨事項:自動マネージドSSL/TLSで接続を確立する
ログイン資格情報、連絡先情報、クレジットカード情報、健康情報などの機密データを収集して送信するWebサイトは、HTTPSが必須です。HTTPSは、ネットワーク上でのぞき見している人が簡単に見ることができる方法でWebサイトが情報をブロードキャストすることを防止します。
HTTPSは、Transport Layer Security(TLS)と呼ばれるプロトコルを介して動作します。プロトコルの以前のバージョンは、Secure SSL Layer(SSL)と呼ばれていました。
Webサイトやアプリケーションが安全な接続を確立できるようにするため、自動マネージドSSL/TLS証明書を提供するサービスを探してください。
TLSは、プライバシーとデータセキュリティを支える通信の基盤です。TLSを採用することで、ユーザーはクレジットカード情報やその他の個人情報や機密情報を晒すことなく、プライベートにインターネットを利用できるようになります。
また、SSL/TLSを利用すると、クライアント(ブラウザなど)は接続先のサーバーの真正性と整合性を確認した上で、暗号化を使用して情報を交換することができます。これにより、中間者攻撃の防止と特定のデータコンプライアンス要件を満たすことができます。
その他の利点:TLSは遅延を最小限に抑えてWebページの読み込み時間を短縮します。検索エンジンは暗号化を使用できないWebサイトの優先順位を下げる傾向があります。
各SSL/TLS証明書には固定の有効期限があることに注意してください。証明書の有効期限が切れている場合、クライアント(訪問者のブラウザなど)は安全な接続を確立できないと見なし、警告やエラーを表示します。証明書の更新を見過ごした場合、Webサイトの検索エンジンの順位が下がる可能性がありますが、一部のサービスは自動更新に対応しています。
推奨事項:DNS暗号化により、ユーザーのブラウジングの安全性とプライバシーを確保する
Webサイトのコンテンツは、技術的には(www.example.comなどの)URLに存在するわけではなく、(192.0.2.1などの)一意のIPアドレス上に存在します。URLを機械で扱いやすいIPアドレスに変換するプロセスを、Domain DNS System(DNS)ルックアップといいます。DNSレコードは、特定のドメインに対応するIPアドレスを示すインターネットの指示書です。
ただし、デフォルトでは、DNSクエリと応答は平文(UDP)で送信されます。つまり、ネットワーク、ISP、通信を監視できる他者から読み取られる可能性があります。これは、セキュリティとプライバシーに大きな影響を与える可能性があります。DNSクエリが非公開でない場合、政府がインターネットを検閲したり、攻撃者がユーザーのオンライン行動を追跡することが容易になります。
無料のDNSリゾルバーを使用し、次のいずれかでDNSトラフィックを暗号化します。
推奨事項:目的に特化したDNSセキュリティを使用して、特定のDNSの仕組み上の制限に対処する
DNSシステム自体がセキュリティを念頭に置いて設計されていないため、できることに限りがあります。たとえば、その仕組み上、DNSレコードの配信元を自動的に保証できる機能は無く、与えられたアドレスを無条件に受け入れます。そのため、DNSサーバーはドメインスプーフィングやDoS(サービス拒否)攻撃などに対して脆弱である可能性があります。
DNSセキュリティ(DNSSEC)は、DNSの設計上の欠陥を穴埋めします。例えば、DNSSECは、既存のDNSレコードに暗号署名を追加することで、安全なDNSを確立します。リクエストされたDNSレコードは、関連づけられた署名をチェックすることで、リクエストされたDNSレコードが偽のレコードではなく、権威ネームサーバーから送られたものであることを知ることができます。
一部のDNSリゾルバーは、すでにDNSSECを統合しています。コンテンツフィルタリング(既知のマルウェアやスパムの配信サイトをブロックする)やボットネット保護(既知のボットネットとの通信をブロックする)などの機能を提供できるDNSリゾルバーを探してください。これらのセキュリティで保護されたDNSリゾルバーの多くは無料使用でき、ルーターの設定を1つ変更するだけでこれらの機能を使用することができます。
推奨事項:攻撃者がサーバーを見つけられないようにする
攻撃者に組織のサーバーのオリジンIP(実際にWebアプリケーションリソースがホストされている場所)が見つけられてしまった場合、そのサーバーに直接トラフィックや攻撃が送られてしまう可能性があります。
すでに導入されているDNSリゾルバーによっては、次の手順でオリジンIPを秘匿化することができます。
推奨事項:常時稼働型のDDoS軽減とレート制限を実装する
分散型サービス拒否(DDoS)攻撃を受けた場合、最悪の場合Webサイトやネットワーク全体が長時間にわたって運用不能になる可能性があります。
DDoS攻撃は通常、1人の攻撃者が制御する多数のコンピューター(またはデバイス)が、Webサイトまたはオンラインサービスに一度にアクセスを仕掛けることで発生します。この悪意のある攻撃は、リソースを利用不可状態に陥れることを目的としています。
アプリケーション層へのDDoS攻撃は、依然としてWebアプリケーションに対する最も一般的な攻撃の種類であり、規模や頻度の点でさらなる巧妙化が進んでいます。
以下のような基本的なDDoS防止ツールを探してください
包括的なDDoS対策では、組織の規模やネットワーク構造、その他の要素に応じて、適切な組み合わせを使用する必要があります。詳しくは、DDoS攻撃を防ぐ方法をご覧ください。
推奨事項:クライアント側のリスク対策に特化したツールを探す
Web開発において「クライアントサイド」とは、クライアント(エンドユーザーデバイス)で表示または実行されるWebアプリケーションのすべてを指します。これには、ユーザーのブラウザ内でアプリケーションが実行するアクションに加えて、テキスト、画像、UIの残りの部分など、Webサイトの利用者に見えるものが含まれます。
クライアント側のイベントの大半は、Web訪問者のブラウザにJavaScriptやその他のサードパーティコードを読み込む必要があります。攻撃者はこの依存関係を狙って侵害を試みます(例えばMagecartが使用する攻撃手法)。これが実行された場合、訪問者はマルウェア、クレジットカードデータの盗難、暗号マイニングなどに対して脆弱になります。
Cookieの使用は、クライアント側のリスクも伴います。例えば、攻撃者はCookieを悪用してWebサイト訪問者をCookieの改ざんにさらし、最終的にアカウント乗っ取りや支払い詐欺につながる可能性があります。しかし、多くのWebサイトの管理者、開発者、コンプライアンスチームメンバーは、自分のWebサイトでどのようなCookieが使用されているかを把握していません。
サードパーティ製のスクリプトやCookieのリスクを軽減するには、次のようなサービスを実装します。
推奨事項:悪意のあるボットトラフィックを積極的に特定して軽減する
ボットの中には、認証された検索エンジンクローラーなど、必要なサービスを実行する「良性」のものもあります。しかし、それ以外のボットは放置した場合、運用を妨げたり有害になる場合があります。
物理的な商品やサービスをオンラインで販売する企業は、ボットトラフィックに対して特に脆弱です。ボットによるトラフィックが多すぎると、次のようなことを招く可能性があります。
次のようなボット管理サービスを探してください。
推奨事項:データを基にWebセキュリティの改善点を決める
Webパフォーマンスとセキュリティを継続的に改善するためには、実用的なデータを含む分析とログが不可欠です。
例えば、ログとアプリケーションセキュリティダッシュボードを使用することで、次のようなインサイトを得ることができます。
Webトラフィック分析の可視性は、継続的なリスク評価に重要な要素です。これにより、組織はアプリケーションのパフォーマンスを向上させる方法や、セキュリティ投資をどこに増強するかについて、より多くの情報に基づいた決定を行うことができます。
Cloudflareのコネクティビティクラウドは、企業のWebアプリケーションとAPIを接続し、保護する統合サービススイートで、Webアプリケーションのセキュリティと配信を簡素化します。
これらのサービスには、DDoS攻撃対策、業界をリードするWebアプリケーションファイアウォール(WAF)、ボット管理、クライアントサイドセキュリティ、APIゲートウェイ、無料のパブリックDNSリゾルバー、無料のSSL/TLS証明書、包括的なWebパフォーマンスとセキュリティに関する分析などがあります。
www.cloudflare.com//ja-jp/plansでお客様のWebサイトのニーズに合ったサービスを見つけてください。
利用開始
Webアプリケーションセキュリティについて
一般的な脅威
VPNリソース
セキュリティ用語集