ほとんどの侵害は、あなたのスタックを出し抜くのではなく、スピードのために調整した許容的なロードバランサーを単に通り抜けていきます。
長い間、ロードバランサーをパフォーマンス装置と考えていました。その役割はトラフィックを分散し、稼働時間を向上させ、アプリケーションを高速に感じさせることでした。セキュリティは別の場所、ファイアウォール、WAFの内部、またはアプリケーションコードの深い部分で行われるものと考えていました。
この考え方は私のコンサルティングキャリアの早期に変わりました。
ファイアウォール、エンドポイント保護、スタックの深い部分に埋め込まれたWAFなどのセキュリティツールに多大な投資をした顧客と協力しました。技術は堅牢でした。問題はツールではなく、アーキテクチャにありました。エッジでは、ロードバランサーは純粋にパフォーマンス装置として扱われ、スピードのためだけに調整されていました。厳密なTLS強制、リクエストの衛生、基本的な不正使用制御などのセキュリティポリシーは、後の段階に押し延ばされていました。
攻撃者は私たちのツールを破壊しませんでした。彼らは単に、私たちの設計が後ろに残していたオープンなパスを通り抜けました。技術的には何も失敗しませんでした。アーキテクチャが失敗したのです。
それ以来、私が設計するあらゆるアーキテクチャは1つの原則から始まります。アプリケーションセキュリティはトラフィックの入口から始まります。そして、ほとんどの現代的な環境では、その入口はロードバランサーです。
実際のプロジェクトで何が悪くなったかを見た
銀行、医療システム、SaaS企業、小売業者と協力しました。異なる業界ですが、同じパターンです。
- インターネットトラフィックはロードバランサーに到達します
- ロードバランサーはできるだけ速くトラフィックを転送します
- セキュリティは後で発生します
問題は単純です。最初のシステムが信頼を強制しなければ、その背後のすべてはすでに設計によって危険にさらされています。
例1:金融サービス
チームは下流のセキュリティツールに多大な投資をしました。しかし、ロードバランサーは、古いクライアントがまだそれを必要としたため、弱いTLSバージョンと暗号スイートを受け入れました。攻撃者は接続を古いTLSバージョンに強制し、弱い暗号スイートを悪用し、決して公開されるべきではなかったトラフィックへの可視性を得ました。
修正:TLS 1.0と1.1を無効にし、強い暗号スイートを強制し、HSTSとOCSPスタプリングを実装し、最新のAEAD暗号でTLS 1.3を優先します。
多くのチームは、ロードバランサーでのTLS設定を互換性の設定ではなく、セキュリティ制御として扱います。実際には、アプリケーションスタック全体の暗号化信頼の境界を定義します。
NISTのTLSガイダンスは、単に推奨プロトコルをリストアップするのではなく、古いバージョンが受け入れられないリスクをもたらす理由を説明しているため、特に関連があります。これには、ダウングレード攻撃、弱い鍵交換メカニズム、廃止された暗号プリミティブが含まれます。ロードバランサーが利便性のために従来のTLSを許可すると、下流のシステムが修正できない攻撃面が生じます。
アーキテクチャの観点からすると、ロードバランサーでNIST準拠のTLSポリシーを強制することで、トラフィックがWAFやアプリケーションサーバーに到達する前に、攻撃の全カテゴリを排除します。また、特に金融および医療環境で暗号化基準が厳密に審査される監査と規制レビューのための防御可能なベースラインを提供します。
例2:小売プラットフォーム
このサイトは、スクレーパー、認証情報詰め込み、在庫スカルパーなどの大量のボットトラフィックに直面しました。保護はアプリケーション内に追加されましたが、ロードバランサーはすべてのトラフィックを平等に扱いました。自動化された不正使用は、より深いセキュリティレイヤーがそれを見る前にキャパシティを消費しました。正当なユーザーが代償を払いました。
ピークの期間中、着信トラフィックの大部分は自動化された不正使用でした。ビジネスへの影響は明確でした。ページが遅くなり、チェックアウトが失敗し、収益が失われました。
OWASPの自動化された脅威ガイドが特に価値がある理由は、その焦点が洗練さではなくスケーレーションにあるからです。ほとんどの自動化された攻撃は、新しいエクスプロイトに依存していません。彼らは表面的には正当に見えるトラフィックの大量を生成するため、成功しています。
ここはロードバランサーが重要な役割を果たす場所です。彼らは認証前、セッション状態の前、ビジネスロジックが呼び出される前にトラフィックを見ます。すべてのリクエストが識別なしに下流に転送されている場合、自動化された不正使用はアプリケーションレベルの制御が行われるはるか前にインフラストラクチャを枯渇させることができます。
ロードバランサーでレート制限、接続キャップ、動作閾値を適用することにより、組織は自動化された攻撃をコストのほんの一部で中断できます。
転機:エントリーレイヤーの保護
今日、システムを設計するとき、最初の質問は「どのくらい速いのか」ではなく、「ここに入るものをどのくらい信頼していますか」です。
ロードバランサーを暗号化、アイデンティティ、プロトコルの正確さ、不正使用防止のためのポリシー強制ポイントとして扱います。それはパケットの単なる配信者ではなく、ゼロトラスト経路の最初のチェックポイントになります。
ロードバランサーでの4つの重要な慣行
1.エッジでの強力な暗号化とアイデンティティ:
- 可能な限りTLS 1.3を強制します
- 最新のAEAD暗号スイートの場合のみTLS 1.2を許可します
- ダウングレード攻撃を可能にする従来のプロトコルを無効にします
2.プロトコルとリクエストサニタイゼーション
- アプリに到達する前にトラフィックを正規化および検証します
- 不正なヘッダー(重複したホストヘッダー、無効な文字など)を拒否し、ホップバイホップヘッダーを削除します
3.ボットと不正使用制御
- IPまたはセッションでキー指定されたトークンバケットレート制限を実装します
- スクレーパーと認証情報詰め込みを早期に検出してブロックします
4.より深いセキュリティレイヤーとの統合
- ロードバランサーはWAFとアプリケーションセキュリティを補完します
- 意味的な検査の前に、転送、アイデンティティ、衛生を強制します
クラウドセキュリティアライアンスのガイダンスは、共有責任と多層防御を一貫して強調しています。
これが技術を超えて重要である理由
これは技術的な議論ではなく、ビジネスの議論です。アプリケーションがダウンすると、顧客は去ります。侵害が発生すると、信頼が失われます。どちらもしばしば、アーキテクチャの初期に行われた小さな設計決定から始まります。
強力なエッジは、無駄になったキャパシティを削減し、下流の誤検知を低減し、インシデント対応時間を短縮することで、総所有コストを削減します。
エッジセキュリティの決定が時間とともに複合する理由
ロードバランサーで行われたセキュリティの決定は、良い場合も悪い場合も、複合する傾向があります。許容的なエッジは最初は無害に見えるかもしれません。特にアプリケーションが小さく、トラフィック量が管理可能な場合です。しかし、時間とともに、これらの初期の選択肢は技術的負債に硬化します。
互換性のために弱い暗号化を許可することは、無期限にサポートされなければならない例外になります。不正使用制御を遅延させることは、すでに機能と配信のタイムラインに焦点を当てているアプリケーションチームにより多くの責任を押し付けます。リクエスト衛生を下流に押し下げることは、WAFと侵入検知システムのノイズを増加させ、アラート疲労とより遅いインシデント対応につながります。
反対も真実です。強力な制御がエントリーポイントで強制されると、下流のシステムは即座に利益を得ます。アプリケーションはより清潔で、より予測可能なトラフィックを受け取ります。セキュリティツールはより高いシグナルと偽陽性が少ないで動作します。インフラストラクチャ容量は、自動化された不正使用によって消費される代わりに、実際のユーザーのために保存されます。
これは測定可能なビジネスへの影響を持っています。チームはピークトラフィックイベント中のパフォーマンス問題と消火活動に費やす時間が少なくなります。調査の範囲が小さいため、インシデント対応がより速くなります。ベースライン制御がエッジで一貫して強制されるため、コンプライアンスレビューが容易になります。
最も重要なことに、強力なエントリーレイヤーはアーキテクチャの柔軟性を作成します。アプリケーションは、各回に異なるセキュリティ仮定を再定義することなく、進化、スケール、環境間で移行できます。ロードバランサーは安定した信頼の境界になり、変化を吸収しながら一貫した保護を維持します。
これらのメリットは1日目には見えません。何か悪いことが起こったときだけ明らかになり、その時までに、玄関の質はどのくらいの損害が発生するかを決定します。
最後の考え
私は一度、アプリケーションセキュリティはスタックの深い部分に住んでいると思っていました。経験は私に別のことを教えてくれました。私が見た全ての主な事件には1つの共通点がありました。攻撃者は簡単に入りました。
だから私は今、躊躇なくこれを言います。アプリケーションセキュリティはロードバランサーから始まるべきです。他の制御に取って代わるのではなく、すべてのシステムは強力な玄関が必要だからです。
玄関が強いとき、その背後にあるすべてのものはより安全に、スケーリングしやすく、信頼しやすくなります。
この記事はFoundry Expert Contributor Networkの一部として公開されています。
参加したいですか?