Open2

HTTPセキュリティヘッダーまとめ

ピン留めされたアイテム
AmetaAmeta

HTTPレスポンスヘッダーはWebアプリケーションのセキュリティ改善の目的で使用されることがある。一般的には、数行のコードを追加することで完了する。

HTPヘッダーはテキストにエンコードされた、HTTPリクエストとレスポンスメッセージヘッダーの一部のフィールドである。HTTPクライTアントとサーバー両者に、コネクションの確立などのmetaデータをするようになっている。ここ数年で発表されたHTTPヘッダーがいくつかあり、これらのヘッダーを使用することでいくつかの攻撃を防ぐ助けになる。以下にそれらがどんなヘッダーで、どのようにアプリケーションに実装するか挙げる。

AmetaAmeta

Week 1

  • X-Frame-Options
    HTTPのX-Frame-Option レスポンスヘッダーは、ブラウザーがページを<frame> <iframe>、<object>の中に表示することを許すかを示すために使用される。 サイトやアプリケーションはこれを使用して、コンテンツが他のサイトに埋め込まれないよう保証することで、クリックジャッキング攻撃を防ぐことができる。
  • X-Content-Type-Options
    X-Content-Type-Optionsヘッダーは、Content-Typeヘッダーの内容からファイルの種類を決定できないようにするもの。サーバーによって使用され、Content-Type headersで指定されたMIMEに必ず沿うように指定できます。これにより、HTTPレスポンス全体を検査(sniffing)を防ぐことができる。
  • Strict-Transport-Security
    ストリクト・トランスポート・セキュリティ(HSTS)は、webアプリケーション上で、ブラウザに対して、アクセスがHTTPではなくHTTPSでされるべきと指示できる。 例えば、HTTPSにリダイレクトする前に、HTTPでえ接続されることを許可している場合、閲覧者は暗号化されていないサイトの方ににリダイレクトする前に操作することができる。これが、中間者攻撃(MTM attack)の可能性につながってしまう。
  • Referrer-Policy
    同じオリジンにはリファラーが送信されますが、オリジン間リクエストではリファラー情報が送信されません。

Week 2

  • Content-Security-Policy
    クロスサイトスクリプティング (XSS) やデータインジェクション攻撃などのような、特定の種類の攻撃を検知し、影響を軽減するために追加できるセキュリティレイヤーです。
  • Permissions-Policy
    HTTPレスポンスヘッダで、ブラウザのカメラや位置情報の取得といったpowerful featuresへのアクセス制御を行えます。 これによってFeature Policyは置き換えられます。