nginxでHTTPレスポンスにVersionを表示しない設定方法

このWebServerのセキュリティチェックをしたところ、nginxでHTTPレスポンス中にVersionを表示していたので、表示しないように設定変更したときのメモです。

なぜ表示しないようにしたいのか

利用Versionが攻撃者側に知られると、もしnginxの脆弱性が見つかった場合に標的にされ、最悪攻撃を受けるリスクが高まります。隠せるのであれば隠した方が良いです。

上記はブラウザのdeveroper toolの画面で赤枠内にnginx/Version番号が表示されている

Ver表示しないように設定

$sudo nano /etc/nginx/nginx.conf
http {
    # nginx version 非表示は下記を追記またはコメント解除
    server_tokens      off; 
$nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
$sudo systemctl restart nginx

結果

想定通り、Version情報は表示されなくなりました。まだPHPのバージョンが表示されているので、次回はそこを表示しないようにしたいと思います。

追記 PHPバージョンの非表示

調べると簡単にできたので、ついでにメモ

$sudo nano /etc/php.ini
expose_php=Off #デフォルトではOnになっているので、ここをOffに変更する
$sudo systemctl restart nginx
$sudo systemctl restart php-fpm

これでPHPバージョンは非表示になりました。X-Powered-Byの表示ごと見えなくなりました。

コメント

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