Apache httpd "Server:" HTTP ヘッダーの変更

Apache httpd "Server:" HTTP ヘッダーの変更

HTTPヘッダーの1つApachehttpd再送信される応答データは「サーバ」です。たとえば、私のWebサーバーシステムは比較的最新バージョンのArch Linuxです。再送信するヘッダーは次のようによく似ています。

HTTP/1.1 404 Not Found
Date: Thu, 10 Apr 2014 17:19:27 GMT
Server: Apache/2.4.9 (Unix)
Content-Length: 1149
Connection: close
Content-Type: text/html

ServerSignature offこれは/etc/httpd/conf/httpd.conf"Server:" ヘッダーが表示され続けます。私は試したモジュールヘッダ。私はそれを活性化し、いくつかを試しました:

<IfModule headers_module>
Header set ProcessingTime "%D"
Header set Server BigJohn
</IfModule>

上記の設定を停止して開始した後はhttpd、HTTPヘッダーに同様のコンテンツが含まれますが、ProcessingTime: 1523「Server:」ヘッダー行は変更されません。だから私は "mod_headers"がインストールされ、アクティブで動作していることを知っていますが、私は望んでいません。

私はこれを行うと主張する「mod_security」であることを見ましたが、mod_securityに付属している他のすべての荷物を望んでいませんでした。

修正する:

インストールされたら、mod_securityいくつかの指示が必要です。

<IfModule security2_module>
SecRuleEngine on
ServerTokens Full
SecServerSignature "Microsoft-IIS/6.0"
</IfModule>

mod_security2.7.7用です。

答え1

mod_securityは素晴らしいですが、目標を達成するために必ずしも必要ではありません。

すべてのモードが含まれている場合は、httpd.conf目的のタイトルを簡単に設定解除できます。コメントで述べたように、mod_headersこの機能を有効にする必要があります。

Header unset Server

# if the above doesn't work, set a default value
# use the keyword 'always' to set the header even with error'ed responses
# (e.g. if your app is down)
Header always set Server "No peeking!"

ServerSignature Off
ServerTokens Prod

http://httpd.apache.org/docs/2.4/mod/core.html#serversignature

答え2

まだ探している人のためにこれを更新してください。 HTTPヘッダーのサーバー行を変更するのに問題があります。この推奨事項は、systemdとApache 2.4.7を含むDebianブランチディストリビューションに適用されます。特にUbuntu Server LTS 14.04.03を使用しています。私が見つけたいくつかの提案は次のとおりです。

grep -Ri servertokens /etc/apache2

これにより、ServerTokens と ServerSignature が指定された /etc/apache2/conf-available/security.conf にリンクされます。したがって、/etc/apache2/apache2.confへのすべての変更は、security.confですでに指定されているディレクティブで上書きされます。

私は単にsecurity.confのディレクティブを変更し、Apacheは私が望む方法で動作し始めました。

ServerTokens Prod
ServerSignature Off

ヘッダーがサーバーに設定されていないというトピックについて、Apache開発者はこれが解決できない問題であると述べたバグレポートを見つけました。 HTTP / 1.1仕様のRFC 2616はTim Berners-Leeによって部分的に書かれており、サーバータグはオプションであると明記されていますが、明らかにこれは彼らにとって哲学的な質問です。

Qualysスキャンを満足させるために、サーバータグを「Unknown」に設定したいと思います。それで、現在libapache2-modsecurityと呼ばれるmod_securityを次のようにインストールしました。このDigitalOceanチュートリアル。頑張ってください。私が将来のすべての読者に役立つことを願っています。

答え3

サーバーID /トークンヘッダーサーバートークン「ディレクティブ(で提供されています)。Apache mod_coreHTTPDソースコードを変更したりモジュールを使用したりすること以外はmod_securityありません。完全サーバーIDヘッダーを抑制します。

これmod_securityにより、ファイル内のすべてのモジュールディレクティブ/機能を無効にし、追加のmodsecurity.conf「手荷物」なしでサーバーヘッダーIDディレクティブのみを利用できます。

答え4

私はOracle HTTP Server 11.1.1.9(Apache 2.2.22に基づいて構築されています)で何かをテストしましたが、ある程度効果がありました。

「ServerTokens」を「none」に設定すると、「Server」ヘッダー値が削除されているように見えますが、ヘッダー自体が応答として送信されましたが、現在はNULL値があります。

サーバートークンなし

応答ヘッダーは次のとおりです。

HTTP/1.1 200 確認

日付: 2015年12月28日 月曜日 07:02:45 GMT

仕える人:

最終修正日:2015年12月27日日曜日07:29:13 GMT

関連情報