Security

CSP (Contents Security Policy) の記述例その2

投稿日:2021年2月16日 更新日:

1. はじめに

https://misc.laboradian.com/sec/1/ というページで出力している CSP (Contents Security Policy) 用HTTPヘッダを紹介します。

※ CSP の記述については、かなり前にも記事にしています。

Web Security

CSP (Contents Security Policy) の記述例

2015.04.18

2. 出力しているHTTPヘッダ

https://misc.laboradian.com/sec/1/ で出力している CSP用 HTTPヘッダは以下になります。

Content-Security-Policy:
  default-src 'self';
  script-src 'self' 'nonce-pvTbo6eMpnRCkCmdcmDYrl4ZT4g=' 'nonce-7gDA2ww3AZVnlN9yHHM8x2F4MT0=' www.googletagmanager.com cdnjs.cloudflare.com;
  style-src 'self' 'nonce-jy0KdxlwDUr7oqZylMCyLJToc/8=' cdn.jsdelivr.net cdnjs.cloudflare.com;
  img-src 'self' www.google-analytics.com;
  connect-src 'self' www.google-analytics.com;
  • 実際は1行になっており、改行してはいけません。セミコロンの部分以外ではスペース区切りしています。
  • default-src ディレクティブに 'self' を指定することで、各ディレクティブにおいてデフォルトで同一オリジンのソースを許可しています。それ以降は、各ディレクティブに対して個別に許可するソースをスペース区切りで指定しています。
DevToolsでレスポンスヘッダを見る
DevToolsでレスポンスヘッダを見る

3. 許可したいものと、その指定方法

各ソースを許可する指定方法は以下です。

許可したいもの 許可するための記述(ソースの指定)
そのサーバー上にあるファイルの読み込み(.css, .js, .png など)
  • ‘self’ を指定する。
インラインCSS, JavaScript
外部サーバー(クロスオリジン)上のファイルの読み込み
  • ドメインを指定する。
イベントハンドラ属性

例:<button onclick="alert(1)">ボタン</button>

  • 許可するのが難しいので、利用しない。リファクタリングする。

4. 参考

Web Security

CSP Level 3 で Strict CSP を利用する

2021.02.16

📂-Security

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Web Security

PHPのセキュリティ対策

PHP を安全に使うため、気を付けるべきポイントについて書いています。 目次1. ユーザーによる入力値の検証2. クロスサイトスクリプティング(XSS)対策1) HTML テキストの入力を許可しない場 …

Web Security

WebサイトのHTTPS(SSL)化には Upgrade-Insecure-Requests を使いましょう

目次はじめに原理方法1方法2方法1の設定方法Apacheでの設定Nginx での設定ブラウザの対応状況参考 はじめに せっかくSSLサーバー証明書をとって、Webサイトを SSL化したのに、コンテンツ …

no image

CSRF(クロスサイト・リクエスト・フォージェリ) by IPA「安全なウェブサイトの作り方 第7版」

安全なウェブサイトの作り方:IPA 独立行政法人 情報処理推進機構の、「CSRF(クロスサイト・リクエスト・フォージェリ)」から一部抜粋する。(この資料はPDFでしか提供されていない) 目次注意が必要 …

Web

PKCS #12 形式の証明書ファイルに対するコマンド操作

PKCS #12 形式の証明書ファイルに対するコマンド操作について説明します。

セキュリティ

セキュリティの会社も疑ってみる

セキュリティの会社であっても営利企業なので、いろいろ思惑があって動くこともありますよ。 気を付けましょう。 全く出鱈目な注意喚起。対策の案内が出鱈目。https://t.co/gTCApCppvV(ネ …