You are viewing a plain text version of this content. The canonical link for it is here.
Posted to site-dev@apache.org by William A Rowe Jr <wr...@rowe-clan.net> on 2015/10/01 16:45:20 UTC
Anonymization of public http://*.apache.org/server-status data
Somewhat simple rule, more complexity could be introduced...
<Location /server-status>
SetHandler server-status
<If "%{CONN_REMOTE_ADDR} != '127.0.0.1'">
SetOutputFilter Sed
OutputSed "s#<td>[^<]*</td><td nowrap>#<td>redacted</td><td
nowrap>#g"
</If>
</Location>
This preserves the ability to locally probe server-status with wget to
diagnose what abusive client may be causing problems, but masks the Client
column in public fetches of server-status for anonymity and privacy
concerns.
Re: Anonymization of public http://*.apache.org/server-status data
Posted by William A Rowe Jr <wr...@rowe-clan.net>.
On Thu, Oct 1, 2015 at 9:45 AM, William A Rowe Jr <wr...@rowe-clan.net>
wrote:
> Somewhat simple rule, more complexity could be introduced...
>
> <Location /server-status>
> SetHandler server-status
>
> <If "%{CONN_REMOTE_ADDR} != '127.0.0.1'">
> SetOutputFilter Sed
> OutputSed "s#<td>[^<]*</td><td nowrap>#<td>redacted</td><td
> nowrap>#g"
> </If>
> </Location>
>
> This preserves the ability to locally probe server-status with wget to
> diagnose what abusive client may be causing problems, but masks the Client
> column in public fetches of server-status for anonymity and privacy
> concerns.
>
I was reminded that we once had a disclaimer on server-status which is now
missing, here is the mod_sed logic to inject it again without maintaining a
patch (feel free to adjust the text as desired);
OutputSed "s#</h1>#</h1><p>This status is publicly exposed as an
illustration of an active server status page. Note that client IP addresses
are suppressed for privacy. <i>Reports to the security team that this page
is enabled will be ignored.</i></p>#"
Using lua it would be possible to write a more specific script that would
convert each REMOTE_ADDR into a simple 6 or 8 character hash to identify
abuse/requests from the same address without revealing the IPv4/IPv6
address. Something to consider as a later enhancement.
Finally, I note that www.apache.org informs us;
Server Version: Apache/2.4.7 (Ubuntu) OpenSSL/1.0.1f
and people.apache.org is at;
Server Version: Apache/2.2.24 (Unix) mod_ssl/2.2.24 OpenSSL/1.0.1h DAV/2
All a number of years out-of-date. Any particular reason for not picking
up 2.4.16 (at least, 2.2.30) and OpenSSL 1.0.1p already for their many
security fixes?