web-dev-qa-db-ja.com

サーバーヘッダーのTomcatを削除します

org.Apache.coyote.http11.Http11Protocol.SERVERの値の名前を他の名前に変更できるため、HTTP-Response-Headerには次のようなものが含まれます。

サーバー:Apache

デフォルトの代わりに

サーバー:Apache-Coyote/1.1

Org.Apache.coyote.http11.Http11Protocol.SERVERに空の値を使用しても、Server-Headerは削除されません。

どうすればサーバーヘッダーを共振から削除できますか?

17
nimo23

簡単な答え-ヘッダーを削除することはできませんが、変更する必要があります(他の回答を参照)。

サーバーヘッダーはRFCで定義されており、必須です。 (仕様ではオプションとして定義されていません)

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.38 から取得

14.38サーバー
Server response-headerフィールドには、リクエストを処理するためにOriginサーバーが使用するソフトウェアに関する情報が含まれています。
このフィールドには、複数の製品トークン(セクション3.8)と、サーバーおよび重要なサブ製品を識別するコメントを含めることができます。製品トークンは、アプリケーションを識別するための重要性の順にリストされています。

応答がプロキシを介して転送されている場合、プロキシアプリケーションはサーバーの応答ヘッダーを変更してはなりません(MUSTNOT)。代わりに、Viaフィールドを含める必要があります(セクション14.45で説明)。

  Note: Revealing the specific software version of the server might
  allow the server machine to become more vulnerable to attacks
  against software that is known to contain security holes. Server
  implementors are encouraged to make this field a configurable
  option.
7
RonK

Tomcat server.xmlを変更し、「サーバー」オプションを追加して、必要に応じて設定できます。サーバーオプションは、実行しているすべてのhttpまたはsslコネクタに設定する必要があります。たとえば、以下は、server.xmlファイルの例からのサンプルHTTPコネクタ構成です。

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" enableLookups="false" xpoweredby="false" server="Web"/>
7
Mahesh

Tomcat5.5以降で可能になるはずです。このディスカッションをチェックしてください: https://mail-archives.Apache.org/mod_mbox/Tomcat-users/200508.mbox/%[email protected]%3E そしてこのリンク:- https://Tomcat.Apache.org/Tomcat-4.1-doc/config/coyote.html

したがって、以下ではサーバーヘッダーをTESTに設定する必要があります。空にすると空になります。

<Connector className="org.Apache.coyote.Tomcat4.CoyoteConnector" port="8180" inProcessors="5" maxProcessors="75" enableLookups="true" acceptCount="10" debug="0" connectionTimeout="20000" useURIValidationHack="false" server="TEST"/>

ほとんどの場合、サーバーヘッダーをApacheに設定することで、セキュリティ面で十分なはずです。それだけでは、どのOS、どのモジュールの正確なバージョン、および実行中のモジュールのバージョンを推測することはできません。

5
user857990

組み込みTomcatを使用している場合は、以下のコードを試すことができます。

import org.Apache.catalina.startup.Tomcat;

final Tomcat server = new Tomcat();
server.getConnector().setXpoweredBy(false);
server.getConnector().setAttribute("server", "");
0
PradeeP AgrawaL