/mod_anonip

An Apache module to anonymize IP addresses

Primary LanguageCGNU General Public License v3.0GPL-3.0

mod_anonip

A simple Apache2 module to anonymize the IP address of any request by a specific number of bytes.

The original version of mod_anonip is based on mod_removeip, but mod_anonip just anonymizes the IP-address by removing a specified number of bytes instead of removing the IP-address completely. This - unlike mod_removeip - allows you to preserve the privacy of your visitors, while still being able to log the origin country of a request or to serve website content based on GeoIP.

Installation

First you have to clone the repository and compile the module:

$ git clone https://github.com/flowyapps/mod_anonip
$ cd mod_anonip/module
$ make anonip

You might have to install some kind of Apache development package (libapache2-prefork-dev or apache2-threaded-dev on Ubuntu) to have all tools required for compilation.

After the compilation has finished, you can install and activate the module:

# make install
# cd ../conf
# cp * /etc/apache2/mods-available/
# a2enmod anonip

After enabling the module you have to restart Apache (service apache2 restart on Ubuntu).

Configuration

The module comes with one configuration option, which defines how many bytes should be masked:

AnonipMask = 2

The default value is 0, so mod_anonip will do nothing if no configuration exists. The configuration files shipped with the module set AnonipMask = 2. Values between 0 and 4 are valid with the following results:

AnonipMask    Anonymized address
0             192.168.1.1
1             192.168.1.0
2             192.168.0.0
3             192.0.0.0
4             0.0.0.0
[other]       192.168.1.1

As long, as you mask at least 2 bytes of the IP address, your website will be in accordance with the privacy recommendations of the Independent Centre for Privacy Protection in Germany (ULD).