web-dev-qa-db-ja.com

nginx-ロケーションブロック内のセキュリティヘッダー?

私はnginxセットアップのセキュリティヘッダー( https://securityheaders.com )をテストしていて、nginxサフィックスロケーションブロックで人々の意見を確認したいと思っていました。

現在、http(s)://my.siteに対して「A +」を取得していますが、サフィックスの場所をテストする場合は「B」、つまり https://my.site/location1

警告は欠落しているためのものです:-

  • コンテンツ-セキュリティ-ポリシー
  • リファラー-ポリシー
  • 機能-ポリシー

'A +'を受信するサーバーブロックは次のもので構成されます:-

    add_header 'Referrer-Policy' 'no-referrer';
    add_header Strict-Transport-Security "max-age=15552000; preload" always;
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-XSS-Protection "1; mode=block" always;
    add_header Feature-Policy "geolocation none;midi none;notifications none;Push none;sync-xhr none;microphone none;camera none;magnetometer none;gyroscope none;;speaker self;vibrate none;fullscreen self;payment none;";
    add_header Content-Security-Policy "frame-ancestors my.site;";

'B'を受け取るロケーションブロックの例は、次のもので構成されます。

location /location1 {
    proxy_pass              http://192.168.1.1;
    proxy_set_header        X-Real-IP         $remote_addr;
    proxy_set_header        Host              $Host;
    proxy_set_header        X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_redirect          off;
    proxy_buffering         off;
    auth_basic              "Restricted";
    auth_basic_user_file    /etc/nginx/.htpasswd;
    error_log               /var/log/nginx/blah.error.log;

ロケーションブロック内にCSPを追加してみましたが、これが方法である場合は、構文が間違っている必要があります。

セキュリティヘッダーは、ロケーションブロックにカスケードすることを目的としていますか?または、スキャンの結果は期待されていますか?それとも私はただうんざりしています...

乾杯、ジョニー

2
jonny21

欠落していると報告されたヘッダーには、alwaysディレクティブがありません。テストされているものが、他のヘッダーを返すためにadd_headerが必要とする応答コードの1つを返さないのではないかと推測しています。

2
womble