Apache entfernen X-Powered-By Header
In u.g. Response Header des Apache sieht man neben der Versionsnummer des Apache zusätzlich die der installierten OpenSSL Version und die PHP Version. Dies bietet Angreifern zusätzlich Informaitonen über möglicherweise auszunutzende Lücken. Wir beschreiebn hier wie man diese Informationen verstecken kann. Dies gewährleisted nicht die Sicherheit, macht es aber Angreifern schwerer.
curl -I https://www.elastic2ls.com/
HTTP/1.1 200 OK
Date: Mon, 04 Feb 2019 12:46:26 GMT
Server: Apache/2.2.19 (Unix) OpenSSL/0.9
X-Powered-By: PHP/7.0.12
Link: <https://www.elastic2ls.com/wp-json/>; rel="https://api.w.org/"
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=31536000
Connection: keep-alive
Cache-Control: max-age=0, no-cache
Content-Type: text/html; charset=UTF-8
Lösungen
in der httpd.conf des Apache folgendes konfigurieren und danach den Apache Webserver neu starten.
ServerTokens Prod
ServerSignature Off
Ergebniss
HTTP/1.1 200 OK
Date: Mon, 04 Feb 2019 12:47:38 GMT
Server: Apache
X-Powered-By: PHP/7.0.27
Link: <https://www.elastic2ls.com/wp-json/>; rel="https://api.w.org/"
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=31536000
Connection: keep-alive
Cache-Control: max-age=0, no-cache
Content-Type: text/html; charset=UTF-8
Hier sieht man nun, dass die Anzeige der Serverversionsnummer Apache/2.4.29 (Unix) OpenSSL/1.0.2n nicht mehr angezeigt wird.
nächster Schritt
Header always unset "X-Powered-By"
Header unset "X-Powered-By"
Ergebniss
HTTP/1.1 200 OK
Date: Mon, 04 Feb 2019 12:50:35 GMT
Server: Apache
Link: <https://www.elastic2ls.com/wp-json/>; rel="https://api.w.org/"
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=31536000
Connection: keep-alive
Cache-Control: max-age=0, no-cache
Content-Type: text/html; charset=UTF-8
Nun ist auch der Header X-Powered-By: PHP/7.0.27 verschwunden.