Home Blogs より良いウェブサイトパフォーマンスをお探しなら、 WAFを使用する
Applications

より良いウェブサイトパフォーマンスをお探しなら、 WAFを使用する

About The Author

Outline

企業はセキュリティコストとパフォーマンスとユーザーエクスペリエンスのバランスを取らなければならないと言われている。 この考え方は、セキュリティがすべてのデジタルインタラクションに対する税であることを意味する。 また、最適な応答性とロード時間を実現するためには、セキュリティを最小限に抑える必要がある。 または、最適化されている。 しかし、アプリケーションスタックにセキュリティを追加することでパフォーマンスが向上するケースはあるのだろうか。 答えはイエスであることがわかった。 このブログでは、どのようにしてこの結論に達したのか、アプリケーションのパフォーマンス低下のセキュリティ関連の原因、エッジがどのようにそれらを軽減できるのか、ある顧客がどのように9%のパフォーマンス向上を実現したのかを探る。

悪意のあるトラフィックとWebアプリケーション

Edgecast(現在はEdgio)プラットフォームは、毎日何十億ものリクエストを処理する。 当社の脅威インテリジェンスエンジンは、この膨大なデータソースを活用して、セキュリティパターンを分析し、Web Application Firewall (WAF)、ボット緩和、その他のセキュリティサービスを強化するシグネチャを更新する。 平均して、典型的なWebサイトを調査している悪意のあるリクエストは16,000件を超えている。 これらのプローブは自動化され、保護されていないWebアプリケーションと脆弱性を24時間365日検索し、プローブする。 これらの要求は、特にアプリケーションがすでに正当なユーザーからの重い負荷にさらされている場合、サービスをボロボロにする可能性がある。

悪意のあるトラフィックがアプリケーションに入る前に削除することは、パフォーマンスを向上させるためのベストプラクティスである。 WAFを使用している場合は、すでにこれを行っている。 でも出自との関係が大事なんだ CDNエッジでWAFを実行すると、悪意のあるトラフィックがドロップされ、オリジンにプロキシバックされないことが保証される。

悪意のある要求を加速する

CDNはキャッシュを活用してオリジンの負荷を軽減する。 しかし、最新のCDNは、CDNエッジとオリジンサーバー間の動的コンテンツの要求も最適化する。 これは、悪意のあるトラフィックと正当なトラフィックの両方に適用される。 ほとんどのウェブアプリケーションの脅威は、ウェブアプリケーションの動的な機能(ログインサービス、データベースクエリ、APIなど)を標的としている。 それらがフィルタリングされて除去されない限り、CDNはそれらを合法的なものとして扱い、善と悪を一緒に加速するために働く。 パフォーマンス志向で、CDNを使用してユーザーエクスペリエンスを改善し、コストを管理していると仮定すると、アプリケーションスタックは意図せずにすべてのリクエストを最適化する可能性があり、悪意のあるリクエストも含めて、オリジンリソースを低下させたり、オフラインにしたりする可能性がある。

WAFとレイテンシー

WAFは上記の課題を解決するように設計されている。 WAFはアプリケーションアーキテクチャ上の任意の時点で展開できる。 その位置は常にアプリケーションの全体的なパフォーマンスに影響を与える–良いか悪いか。 WAFがサーバ自体で実行されているか、データセンターで別のアプライアンスとして実行されているか、サードパーティのサービスを介して実行されているか、エッジファブリックやCDNに統合されているかにかかわらず、WAFはすべてのHTTP要求を検査するもう1つのレイヤである。 レイテンシとラウンドトリップ時間は、特に複数のサードパーティソリューションがチェーン接続されている場合に重要である。 組織がWAF、ボット緩和、DDoS防御サービスを展開するにつれて、このようなことはより一般的になっている。

WAFをCDNプロバイダを介してエッジに移動すると、エッジロジックと統合するように設計されており、インライン処理を利用してホップを削減するために設計されているため、即座にパフォーマンスの向上を実現できる。

WAFアーキテクチャ

アーキテクチャレベルでは、WAFはアプリケーションスタック内の他のコンポーネントと同様である。 アーキテクチャの性能はWAFの設計の影響を受ける。WAFにはCPU、RAM、SSDなどの生の馬力と、WAFオペレーティングシステムやルールセットなどのソフトウェアコンポーネントが含まれる。 新たな脅威は日々発見されている。 時間が経つにつれて、これらの新しいシグネチャは、処理するロジックが増えて膨らんだWAFランタイムを作成することができる。

パフォーマンスの最適化が目的である場合は、WAFプロバイダーのアプローチを理解することが不可欠である。 Edgioは単にWAFに新しいシグネチャを追加するだけではない。 我々は、我々のシステムアーキテクチャを利用するためにそれらを最適化し、それらが効率的に動作するように設定し、我々はパフォーマンステストで主要なソースセキュリティソフトウェアを破った理由である。 詳細については、技術記事「セキュリティルールの高速化によるアプリケーションパフォーマンスの向上」を参照。

ケーススタディ

見込み顧客は、ウェブサイトのパフォーマンスを向上させるために当社のプラットフォームを検討していた。 概念実証中に、当社のネットワークはパフォーマンスの向上を示した。 しかし興味深いことに、WAFを起動したときに、さらに27%のパフォーマンス向上が得られた。

さらに分析したところ、WAFが持続的なレイヤー7攻撃をブロックしていることがわかった。 この攻撃はボリューム的なものではなかったため、壊滅的な停止には至らなかった。 クライアントはWAFを使用していなかったため、攻撃とその期間を認識していなかった。

DNS:ドメイン名をIPアドレスに解決するのに必要な時間Time to First Byte:リクエストを発行してから、テスト用のプライマリURLからデータの最初のバイトを受信するまでにかかった。 これは、DNS + Connect + SSL + Send + Waitとして計算される。ウェブページの応答:リクエストを発行してからページの最終要素の最終バイトを受信するまでにかかった時間。 Webテストの場合、エージェントはドキュメントの完了後、テストを終了するネットワークアクティビティがないまで最大2秒間待機する。

結論

HTTP送信遅延は、クライアントのブラウザからWebアプリケーションへのパスに沿った多くの変数によって引き起こされる。 WAFはアプリケーションスタックのもう1つのコンポーネントであり、他のコンポーネントと同様に最適化してアプリケーションコンテンツを高速化することができる。 次にキャッシュヒット率と最初のバイトまでの時間を改善するソリューションを探すときは、WAFを精査することから始める。 パフォーマンスに最適化されたエッジクラウドを利用してセキュリティを実行すると、ボトルネックが解消され、すぐに2桁のパフォーマンス向上が実現する可能性がある。 今日からパフォーマンスの向上を実感できるように、接続しよう。