Nginx - バージョン情報隠蔽!
Updated:
Web サーバのバージョン情報を公開するのはセキュリティ上よろしくないので、Nginx のバージョン情報を隠蔽する。
ソースをビルドしてインストールする方法・基本設定については過去記事を参照。
0. 前提条件
- Linux Mint 14 Nadia (64bit) での作業を想定。
- Nginx 1.2.6 がソースビルドによりインストール済み。
- パッケージを利用してインストールした Nginx とはディレクトリ構成等が若干異なる。 (別途作成したヴァーチャルホストの設定ファイルを取り込む形式になっていたり・・・)
1. HTTP レスポンスヘッダ確認
現状の HTTP レスポンスヘッダを curl
で確認してみる。
Server: nginx/1.1.19
とバージョン情報が取得できてしまう。
$ curl -I http://localhost
HTTP/1.1 200 OK
Server: nginx/1.2.6
Date: Sat, 29 Dec 2012 04:45:55 GMT
Content-Type: text/html
Content-Length: 177
Last-Modified: Wed, 24 Oct 2012 01:13:33 GMT
Connection: keep-alive
Accept-Ranges: bytes
2. Nginx 設定編集
Nginx の設定ファイル /usr/local/nginx/conf/nginx.conf
の http
ディレクティブに以下のように記述を追加する。
実際には、デフォルトでコメントアウトされているので、コメント解除するだけ。
File: /etc/nginx/nginx.conf
1
2
3
4
5
http {
:
server_tokens off; # <= 追加
:
}
3. 設定リロード
設定を有効化するためにリロードする。
$ sudo service nginx reload
4. HTTP レスポンスヘッダ再確認
現状の HTTP レスポンスヘッダを curl
で確認してみる。
Server: nginx
とバージョン情報が表示されなくなった。
$ curl -I http://localhost
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 29 Dec 2012 04:50:13 GMT
Content-Type: text/html
Content-Length: 177
Last-Modified: Wed, 24 Oct 2012 01:13:33 GMT
Connection: keep-alive
Accept-Ranges: bytes
これで、バージョン情報を隠蔽することが出来ました。
以上。
Comments