[7.900][FEATURE][FIXED] Reverse Proxy - Apache ServerTokens directive set to Full

Hi all,

when playing around with the new reverse proxy feature I saw that when real server is not available the apache presents the full server token:

---
Service Temporarily Unavailable

 The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
  [SIZE=2]Apache/2.2.15 (Unix) proxy_html/3.1.2 mod_ssl/2.2.15  OpenSSL/0.9.8h Server at ***  Port 80[/SIZE]

---

I would prefer to set the server tokens directive to "Min" or "Prod" to  make information gathering harder.

regards

gnjb
Parents
  • i think these are two different issues:

    First, the server token only appears when the reverse proxy encounters an error. Otherwise it's completely hides itself and the client only sees the response from the "real web server".

    Second, changing the server/banner of the "real web server" on the fly is impossible to do right:
    - replacing headers is easy, but what if some client reacts differently for different servers?
    - replacing the server token text in the response requires parsing html, and there you cannot see if it is a disclosure of information about the "real web server" or if it is eg. just a plain html document listing some common server tokens.

    I'll add it as a feature request anyway...
  • First, the server token only appears when the reverse proxy encounters an error. Otherwise it's completely hides itself and the client only sees the response from the "real web server"

    Correct, but its not that hard to make the proxy encounter an error. Easiest way to find out more info about a system without even scanning for anything is to just ask. See screenshot.

    Second, changing the server/banner of the "real web server" on the fly is impossible to do right:

    Well, you will only change the frontend apache (astaro) to change/hide the banner so that the script kiddies see the wrong header when trying to figure out the server. Regular http responses like 404 will obviously see the backend server. You guys are the experts, maybe mod_headers?
  • ... just ask. See screenshot.


    yeah, i know. You don't even need to trigger an Error. My favorite command line web clients (eg. wget, curl, lynx, w3m) all have a feature to print out the Response Header, which commonly includes the "Server:" header. You need to trigger an error to see the ReverseProxy though.

    ... only change the frontend apache (astaro) .... You guys are the experts, maybe mod_headers?


    Nope, this is a simple "ServerToken Prod" line in the main apache config. No additional modules needed. You can do this by hand (if you feel comfortable with ssh and vi), the config files is somewhere under /var/chroot-reverseproxy/usr/... 

    I think my point is that there's not much of a protection to expect from changing the server token at the reverse proxy, since everyone knows that they can be changed easily.
  • I think my point is that there's not much of a protection to expect from changing the server token at the reverse proxy, since everyone knows that they can be changed easily.

    You are right. Its really not that big of a deal. I am not really bothered by the server token directive. The mod_header idea was to change the banner completely like urlscan tool/ISA Server used to do for IIS. 
    Thanks for the responses. 
    Best Regards
    Bill.
Reply
  • I think my point is that there's not much of a protection to expect from changing the server token at the reverse proxy, since everyone knows that they can be changed easily.

    You are right. Its really not that big of a deal. I am not really bothered by the server token directive. The mod_header idea was to change the banner completely like urlscan tool/ISA Server used to do for IIS. 
    Thanks for the responses. 
    Best Regards
    Bill.
Children