PR

Nginx の Server ヘッダからバージョン情報を隠す

インフラ
この記事は約2分で読めます。
記事内に広告が含まれています。

Nginx を使っていると、特に意識しなくてもレスポンスヘッダにサーバー情報が含まれます。

Server: nginx/1.24.0

このバージョン情報、アプリケーションの動作には一切不要ですし、公開していて嬉しい情報でもありません。
セキュリティ観点では「出さなくていいものは出さない」が基本なので、普通に隠します。

server_tokens off

Nginx では設定はこれだけです。

server_tokens off;

http / server / location いずれのコンテキストでも指定できますが、通常は http に書いておけば十分です。

http {
    server_tokens off;

    # ...
}

これでレスポンスヘッダは次のようになります。

Server: nginx

バージョン番号は出なくなります。

エラーページにも効く

server_tokens off は、通常のレスポンスだけでなく、
404500 などのエラーページ下部に表示されるバージョン情報にも適用されます。

地味ですが、ちゃんと効きます。

それ以上やる必要はある?

たまに「Server ヘッダ自体を消したい」という話も見かけますが、

  • Nginx 標準では完全には消せない
  • モジュール追加やパッチが必要
  • 得られるメリットはかなり限定的

という理由から、server_tokens off で十分だと考えています。

バージョンが見えないだけでも、不要な情報露出は確実に減ります。

おわりに

Nginx を使うなら、ほぼデフォルトで入れておいていい設定です。

万が一、そのバージョンに脆弱性があってもいけませんし。

コメント

タイトルとURLをコピーしました