# awstats anonymisieren



## mare (4. Feb. 2013)

Mit folgenden Handgriffen kann man die Auswertung anonymisieren.
Die originalen Logfiles bleiben unverändert!

Download des Tools ipv6loganon von Peter Bieringer.

```
cd /tmp/
wget ftp://ftp.bieringer.de/pub/linux/IPv6/ipv6calc/ipv6calc-0.93.1.tar.gz
```
Damit werden die IPv4 Adressen auf /24 und die IPv6 auf /48 gekürzt.

Das Toolset einfach entpacken

```
tar xzf ipv6calc-0.93.1.tar.gz 
cd ipv6calc-0.93.1
```
mit 

```
./autogen.sh
```
kompilieren und die Datei ipv6loganon/ipv6loganon ins 
/usr/local/bin kopieren.

In der /usr/local/ispconfig/server/cron_daily.php 

Zeile 354
- LogFile="/var/log/ispconfig/httpd/'.$domain.'/yesterday-access.log"
+ LogFile="/var/log/ispconfig/httpd/'.$domain.'/yesterday-access.log.anon"

und ab Zeile 396

```
if($awstats_pl != '' && $awstats_buildstaticpages_pl != '' && fileowner($awstats_pl) == 0 && fileowner($awstats_buildstaticpages_pl) == 0){
exec($command);
```
durch 

```
if($awstats_pl != '' && $awstats_buildstaticpages_pl != '' && fileowner($awstats_pl) == 0 && fileowner($awstats_buildstaticpages_pl) == 0) {
{
exec('cat '.$logfile.' | /usr/local/bin/ipv6loganon -w /var/log/ispconfig/httpd/'.$domain.'/yesterday-access.log.anon') ;
exec($command);
}
```
ersetzen.

Dann werden die Auswertung ab sofort anonymisiert.
Mit webalyzer ist das vorgehen identisch.

Bei Bedarf würde ich einen Patch erstellen, der auch eine Option im StatisktikTAB machen wo man das pro Web einstellen kann.
Man könnte sogar auswählen wie weit man die IPs anonymisieren will.


----------



## Till (4. Feb. 2013)

Danke für die Anleitung! Wäre super wenn Du dafür einen Patch erstellen könntest.


----------



## mare (4. Feb. 2013)

Hi,
@Till
Wenn das Zial klar ist, kann ich das machen.

Die Idee war gut, das Ergebnis aber nicht bedacht.
Wenn man alle IPs auf die /24 kürzt stimmt die Statistik nicht mehr da awstats ja nur die a.b.c.0 sieht 

Was noch möglich wäre, wäre das awstats file nachträglich zu anonymisieren, was mit dem Tool auch ginge da die IP an erster Stelle steht.

Allerdings müßte das dann täglich gleich nach dem buildstats laufen. Aber auch hier werden ja die Counter verfälscht


----------



## florian030 (5. Feb. 2013)

Ich nehme zwar nicht AWStats, sondern u.a. Webalizer... Bei mir sind schon die Apache-Logs anonym (d.h. 1.2.3.4 statt 1.2.3.0) und die Statistiken stimmen dennoch.

Bist Du dir sicher, dass das Problem an AWStats liegt?


----------



## mare (5. Feb. 2013)

Hi, 
Das ist interessant.

Ich habe das Logfile im Original sowie die anonymisierte Version durch awstats gejagt. 
Original 20000 Besucher / Anonym 8000 Besucher .

Irgendwie auch nachvollziehbar wenn aus 

213.1.1.12 -
213.1.1.45 - 
231.1.1.198 - 

dann

213.1.1.0 -
213.1.1.0 - 
231.1.1.0 - 

wird.


----------



## florian030 (5. Feb. 2013)

Ich habe das eben noch mal bei mir abgeglichen.... das sieht unter AWStats ähnlich aus. D.h. die "Sites" variieren, der Rest passt aber zu dem Full-Log. 

Ich persönlich kann damit ganz gut leben. 

Wenn Du die erstellten Statistiken anpassen willst, musst Du ggf. aber auch den Hostnamen mit anpassen.

Aber etwas sinnvolleres als aus 1.2.3.4 1.2.3.0 zu machen, fällt mir beim besten Willen nicht ein.


----------



## nowayback (5. Feb. 2013)

Hi,

sinnvollerweise sollten die Logs unangetastet bleiben und nur bei der Ausgabe auf der Seite die letzten Zahlen nach dem Punkt zu nem X werden oder sowas... 


grüße
nwb


----------



## florian030 (5. Feb. 2013)

Naja, ich gönnen mir den Luxus von zwei Logs - einmal full und einmal anonym. Und wenn es nur um anonyme Statistiken geht, kann man Logs auch dazu kopieren.


----------



## mare (5. Feb. 2013)

Also die Unterschiede zwischen Full und Anon bekomme ich mit awstats nicht weg. Ich habe es jetzt so gemacht:

- Auswertung werten ganz normal erstellen
- im cron_daily.php cat awstats----.txt | ipv6loganon -w awstats---.anon.
- awstats.pl einmal unter /usr/lokal/bin/awstats.pl zum erstellen der DB.
- Das awstats für die Ausgabe unter /srv/www/cgi-bin/awstat.pl kopiert und so geändert, dass es auf die .anon zugreift.
- im build_static.pl den Pfad für die Erstellung der statischen HTMLs auf die zweite Instanz geändert.

Damit werden die Logs komplett geschrieben und die statische sowie dynamische Ausgabe der Logs ist anonymisiert.


----------

