Security Hubの検出項目の解説
[ELB.4] Application Load Balancer は、http ヘッダーを削除するように設定する必要があります
標準
リソース
カテゴリ
重要度
AWS Foundational Security Best Practices
Elastic Load Balancing
保護 > ネットワークセキュリティ
中
概要
HTTP ヘッダの取り扱いはいくつかの RFC で規定されている点でありつつも、歴史的経緯により一部の文字(アンダースコア等)に対して例外的な処理を行う処理系が存在します。 このような取り扱いの差は、マイクロサービス間でヘッダが取り回される場合や、信頼できないヘッダ処理系を利用する場合にアプリケーションロジックに対する攻撃につながる可能性があります。
ALB を利用している場合、routing.http.drop_invalid_header_fields.enabled
属性を有効化することで、正規表現 [-A-Za-z0-9]+
にマッチするヘッダのみをバックエンドに渡すように設定できます。 これによりバックエンドのアプリケーション側に渡るヘッダは原則異常値を含まないものになるため、アプリケーション側で意識すべきヘッダの取り扱い時の注意点が軽減されます。
特別な事情が無い限りは同属性を有効化し、バックエンドのアプリケーションが受け取るヘッダを妥当な範囲に制限するようにしましょう。
問題がある場合の修正方法
マネジメントコンソール上での設定
ロードバランサ名をクリックする。
Actions ドロップダウン内の Edit loadbalancer attributes をクリックする。
Drop invalid header fields をオンにする。
Save changes をクリックする。
関連する CloudFormation リソース/パラメータ
対応しない場合のリスク
この設定でヘッダの取り扱いを変更せずとも、アプリケーション側でヘッダに関する特殊な処理をしない限りは、特段大きなリスクには繋がりません。もしヘッダからの認証情報の取り出しのような、ヘッダを用いたセキュ...
Elastic Load Balancingについてのよくある質問
Elastic Load Balancingで他に推奨される設定はありますか?
AWS Foundational Security Best PracticesやCIS AWS Foundations Benchmarkでは、以下のような設定が推奨されます。これらは本Webサイトでも概要を解説しているので、必要に応じて参照してください。