Nginxのバージョンを非表示にする

Nginxをサーバーにインストールして使用していると、Ningxのバージョンがデフォルトで表示される仕様になっていることをご存知でしょうか?

使用中のライブラリやフレームワークなど、バージョンを悪意のある相手に表示することはバージョンの脆弱性をついた攻撃を与えるヒントになることは間違いありません。

中にはバージョン表示をそのままGithubに公開している組織や人もいますが、いずれにしても見せる必要がないものをあえて見せる必要はありません。

本日はNginxのバージョンを非表示する方法を紹介します。

確認方法

確認方法としては、ブラウザChromeのデベロッパツールやMacのターミナルのcurlコマンドでも確認することができます。

またブラウザでは400台や500台のサーバーからのエラーに対してステータスコードを返すついでにNginxのバージョンが表示されます。

余計なことすんな。

curlコマンドで確認する

Macの場合はターミナルを開いてcurlコマンドを実行してみましょう。

curl + <動画確認したいwebサイトのURL>

で確認できますので実際にURLを入力して試してみます。

% curl http://www.xxxxxxx.com
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.20.0</center>
</body>
</html>

nxinx/1.20.0というバージョンが丸見えになっています。

Nginxのバージョンを非表示にする

バージョンがあらわになっていることを確認できましたので、早急にバージョンを非表示にしていきましょう。

メインの設定ファイルを編集します。

% sudo vim /etc/nginx/nginx.conf

続いてhttp モジュール内に、server_token off; ディレクティブを追記します。

http {
    -
    -
    -
    server_tokens off;
}

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

% sudo nginx -s reload

最後に、curlコマンドを再び実行してバージョンが表示されていないかを確認します。

% curl http://www.xxxxxxx.com
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>

今度はバージョンが表示されなくなりました。

以上。

参考

Nginx導入時やること

最後に

いかがでしたでしょうか。

以上が、「Nginxのバージョンを非表示にする」の紹介記事なります。

ぜひセキュリティに気をつけてサイト運営を心がけてください。

コメントを残す

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