2012-06-19 18 views
13

jestem w stanie zmienić nazwę wartości org.apache.coyote.http11.Http11Protocol.SERVER do niczego innego, więc HTTP Response-Header zawiera coś takiego:Usunąć nagłówek serwer Tomcat

Server: Apache

zamiast domyślnego

Server: Apache-Coyote/1,1

Korzystanie z pustą wartość dla org.apache.coyote.http11.Http11Protocol.SERVER nie usuwa Server-header.

Jak mogę usunąć nagłówek serwera z moich odpowiedzi?

Odpowiedz

3

Krótka odpowiedź - nie można usunąć nagłówka, ale należy go zmodyfikować (zobacz inne odpowiedzi).

Nagłówek serwera jest zdefiniowany w specyfikacji RFC i jest obowiązkowy. (Nie zdefiniowane jako opcja w specyfikacji)

Zrobione z http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.38

14,38 Server
Pole odpowiedź-header Server zawiera informacje na temat oprogramowania wykorzystywanego przez serwer pochodzenia obsłużyć żądania.
Pole może zawierać wiele tokenów produktu (sekcja 3.8) i komentarze identyfikujące serwer i wszelkie znaczące podprodukty. Żetony produktu są wymienione w kolejności ich znaczenia dla identyfikowania aplikacji.

Jeśli odpowiedź jest przekazywana za pośrednictwem serwera proxy, aplikacja proxy NIE MOŻE modyfikować nagłówka odpowiedzi serwera Server . Zamiast tego powinno ono zawierać pole Via (zgodnie z opisem w sekcji 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. 
+6

Modyfikowanie lub usuwanie nagłówka serwera (a także innych podobnych do X-Powered-By) jest ważne dla bezpieczeństwa. Dostarczając użytkownikom zewnętrznym informacji o twojej infrastrukturze technologicznej, zasadniczo mówisz potencjalnym intruzom, które exploity powinny wykorzystywać.W przeciwieństwie do niektórych innych, tomcat nie pozwala ci usunąć nagłówka, ale możesz go zmodyfikować tak, by był czymkolwiek, co chcesz. ' wewnątrz pliku server.xml. Zobacz także: [Tomcat docs] (https://tomcat.apache.org/tomcat-4.1-doc/config/coyote.html) –

+0

@Tomcat dokładnie – momomo

5

Powinno być możliwe, ponieważ Tomcat 5.5. Sprawdź tę dyskusję: https://mail-archives.apache.org/mod_mbox/tomcat-users/200508.mbox/%[email protected]%3E i link: https://tomcat.apache.org/tomcat-4.1-doc/config/coyote.html

Odpowiednio dodaje należy ustawić nagłówek serwera do TEST. Pusty powinien uczynić go pustym.

<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"/> 

Ustawienie nagłówka serwera na Apache powinno być w większości przypadków bezpieczne. Właśnie z tego nie da się wywnioskować, który system operacyjny, ani która dokładna wersja, z której moduły i wersje modułów działają.

+2

Nie widzę, w jaki sposób podany link pomaga w usunięciu nagłówka serwera – RonK

+1

fajne rozwiązanie, współpracuje z tomcat 8 –

+0

-1 To nie odpowiada na pytanie. OP już wie, jak zmienić nagłówek serwera; to, co chcą wiedzieć, czy możliwe jest * usunięcie * go. –

3

Możesz zmodyfikować swój tomcat server.xml i dodać opcję "server" i ustawić ją w dowolny sposób. Opcja serwera powinna być ustawiona dla wszystkich łączników http lub ssl, które masz uruchomione. Na przykład poniżej przykładowa konfiguracja konektora HTTP z przykładowego pliku server.xml

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