nginxのバージョン番号を非表示に変更のイメージ画像

nginxのバージョン番号を非表示に変更

  • 公開日:2018/04/01
  • 更新日:2018/10/19
  • 投稿者:n bit

nginxのバージョン番号を非表示にすることでサーバのセキュリティ向上につながります。サーバのセキュリティに関わる人たちの間では賛否両論あるようですが、いずれにせよ悪意のある相手に対して少しでも情報減らしておくのは有効かと思います。その設定方法です。

  • サーバ
  • nginx

この記事は約 分で読めます。(文字)

nginxのバージョン番号を非表示に変更

nginx.confを編集します。nginx.confのパスはご自分の環境に合わせて適宜変更してください。

$ sudo vim /usr/local/nginx/conf/nginx.conf

Httpモジュール内に、server_tokens off; ディレクティブを1行追加します。

http {

server_tokens off;
}

nginxを再起動して設定ファイルを反映させます。

$ sudo nginx -s reload

nginxのバージョン情報が表示されなくなっていれば正しく設定できています。

nginx.conf 内の主なモジュール

モジュール名主な設定内容
Coreモジュールプロセス管理、セキュリティ、ロギングなどの基本機能の設定
Eventsモジュールイベント処理(ネットワーク機能のパフォーマンス・チューニング)の設定
HTTPモジュール HTTPサーバ関連の設定
Configurationモジュール外部ファイルのインクルードのみに利用する特殊なモジュール

モジュールやディレクティブ、また、その構成についての解説は下記のページで行っています。必要な場合はご覧になってください。

nginxのバージョン情報が表示される場所

主に下記の2つでサーバーの情報が表示されます。;

  • HTTPステータスコード
  • HTTPレスポンスヘッダ

HTTPステータスコード

400、500等、サーバからブラウザにエラーのステータスコードが返される時に合わせてnginxのバージョン情報が表示されます。

nginxのバージョン情報

設定後

nginxのバージョン情報 変更後

HTTPレスポンスヘッダ

HTTPリクエストに対して返されるHTTPレスポンスのヘッダにもサーバのバージョン情報が保持されます。

Server: nginx バージョン情報

設定後

Server: nginx

今日のdot

たった1行のディレクティブ追加で対応できますので自分のみで利用しているようなVPSの場合は行っておきましょう。