8.5.2. Nginx サーバー設定のハードニング


セキュリティーオプションを調整して、Nginx HTTP およびプロキシーサーバーの設定をハードニングします。これにより、一般的な Web アプリケーションの脆弱性からシステムを保護できます。

一般的な Web アプリケーションの脆弱性から保護するために、以下のセキュリティーオプションを設定します。

  • バージョン文字列を無効にするには、server_tokens 設定オプションを変更します。

    server_tokens off;

    このオプションは、サーバーのバージョン番号などの追加の情報表示を停止します。以下のようにこの設定では、Nginx によって処理されるすべての要求のサーバー名のみが表示されます。

    $ curl -sI http://localhost | grep Server
    Server: nginx
  • /etc/nginx/nginx.conf または /etc/nginx/conf.d/*.conf ファイル内のサーバーまたはロケーションブロックにセキュリティーヘッダーを追加します。

    • たとえば、X-Frame-Options ヘッダーオプションは、ドメイン外のすべてのページが Nginx によって提供されるコンテンツをフレーム化することを拒否し、クリックジャッキング攻撃を軽減します。

      add_header X-Frame-Options "SAMEORIGIN";
    • たとえば、x-content-type ヘッダーは、特定の古いブラウザーでの MIME タイプのスニッフィングを防ぎます。

      add_header X-Content-Type-Options nosniff;
    • また、X-XSS-Protection ヘッダーは、クロスサイトスクリプティング (XSS) フィルタリングを有効にし、Nginx での応答に含まれる可能性がある、悪意のあるコンテンツをブラウザーがレンダリングしないようにします。

      add_header X-XSS-Protection "1; mode=block";
  • たとえば、一般に公開されるサービスを制限し、訪問者からのサービスと受け入れを制限できます。

    limit_except GET {
        allow 192.168.1.0/32;
        deny  all;
    }

    スニペットは、GETHEAD を除くすべてのメソッドへのアクセスを制限します。

  • 以下のように、HTTP メソッドを無効にできます。

    # Allow GET, PUT, POST; return "405 Method Not Allowed" for all others.
    if ( $request_method !~ ^(GET|PUT|POST)$ ) {
        return 405;
    }
  • Nginx Web サーバーが提供するデータを保護するため、TLS を設定します。コンテンツは HTTPS 経由でのみ配信してください。Mozilla SSL 設定ジェネレーターを使用して、Nginx サーバーで TLS を有効にするためのセキュアな設定プロファイルを生成することもできます。生成された設定により、既知の脆弱なプロトコル、暗号、ハッシュアルゴリズムが確実に無効化されます。SSL サーバーテストを使用して、設定した内容が最新のセキュリティー要件を満たしていることを確認します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る