本稿ではHTTPレスポンスヘッダの項目 Server ヘッダについて、その概要とセキュリティについて解説します。
Serverヘッダとは?
Server ヘッダは、HTTPレスポンスで返却されるヘッダ項目です。 その役割はHTTPリクエストを処理したサーバソフトウェアをクライアントに伝えることです。 具体的には、次のような値が返却されます。
HTTP/1.1 200 OK
Server: Apache/2.4.1 (Unix)
書式
Server ヘッダの書式はとてもシンプルで、次のような形式になります。
Server: 製品名
レスポンス例
いくつか実際のレスポンスの例をあげてみます。 主に Apache httpd や Nginx などのWEBサーバーが返却します。
Apache httpd の例
Server: Apache/2.4.1 (Unix)
Apache httpd, OpenSSL, PHP などの全てのバージョンが返却されている例
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/7.1.8
Nginx
Server: nginx/0.8.53
セキュリティ注意事項
この Server ヘッダの返却で気をつけるべき点は、あまり詳しい情報を返却しすぎるとクラッカーにクラックのきっかけを与えてしまうという点です。 例えばセキュリティホールのあるソフトウェアをサーバーで利用していた場合、サーバーソフトウェアのバージョン番号を含んで返却してしまうと「まだセキュリティホールがあるバージョンを利用している」ということに気づかれ攻撃のきっかけとなってしまうかも知れません。 ですので、可能な限りミニマムな情報を返却するように設定した方が良いでしょう。