Apache & mod_geoip Daten loggen?

redled

New Member
Ich habe erfolgreich die GeoIP C Library und die Apache API (mod_geoip.so) installiert. Apacheversion: 2.0.63

U.a. blocke ich mit folgender Konfiguration Anfragen aus China, Russland und den USA.

Code:
GeoIPEnable On
#GeoIPEnableUTF8 On
GeoIPOutput All
GeoIPDBFile /pfad/geoip/GeoIP.dat MemoryCache
GeoIPDBFile /pfad/geoip/GeoLiteCity.dat
GeoIPScanProxyHeaders On
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE US BlockCountry

<Location />
   Order allow,deny
   Allow from all
   Deny from env=BlockCountry
</Location>

Das funktioniert auch ganz wunderbar. Im error_log steht dann:

Code:
[error] [client 72.30.142.243] client denied by server configuration: /var/www/html/robots.txt

Gibt es eine Möglichkeit, die Environment Variablen des Moduls mod_geoip (GEOIP_CONTINENT_CODE, GEOIP_COUNTRY_CODE, GEOIP_REGION, GEOIP_REGION_NAME, GEOIP_CITY, GEOIP_DMA_CODE, GEOIP_AREA_CODE, GEOIP_LATITUDE, GEOIP_LONGITUDE GEOIP_POSTAL_CODE) (egal, wie) abzugreifen und über das Modul mod_log_config laufen zu lassen, so das diese gleich mit in das access_log geschrieben werden? In etwa so:

Code:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{[COLOR="Navy"]GEOIP_CITY[/COLOR]}i\" \"%{User-Agent}i\"" combined

Nur funktioniert das halt nicht, da vermutlich die Quellen des Moduls mod_log_config entsprechend angepasst werden müssen? Bin für jeden Tipp dankbar.

edit:

Die Environment Variablen von mod_geoip lassen sich innerhalb von mod_security-1.9.5 (getestet) für Rules verwenden! Ein Beispiel:

Code:
SecFilterSelective [COLOR="Red"]ENV_[/COLOR][COLOR="DarkGreen"]GEOIP_COUNTRY_CODE[/COLOR] "^US$" deny,log,status:500

Gruss
 
Last edited by a moderator:
gelöst!

Problem gelöst. Mit dem Parameter "%e" und dazwischen die Variable eingeschlossen, funktioniert es wie gewünscht.

Code:
LogFormat "%h %l %u %t \"%r\" %>s %b \"[COLOR="DarkRed"]%[/COLOR]{[COLOR="DarkGreen"]GEOIP_CITY[/COLOR]}[COLOR="DarkRed"]e[/COLOR]\" \"[COLOR="DarkRed"]%[/COLOR]{[COLOR="DarkGreen"]GEOIP_COUNTRY_CODE[/COLOR]}[COLOR="DarkRed"]e[/COLOR]\" \"[COLOR="DarkRed"]%[/COLOR]{[COLOR="DarkGreen"]GEOIP_REGION_NAME[/COLOR]}[COLOR="DarkRed"]e[/COLOR]\"" combined

Logauszug:

Code:
...HTTP/1.1" 404 1181 "-" "[COLOR="DarkGreen"]Bocholt[/COLOR]" "[COLOR="DarkGreen"]DE[/COLOR]" "[COLOR="DarkGreen"]Nordrhein-Westfalen[/COLOR]" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.18)...

Vielleicht kann das der ein oder andere auch brauchen.

Grüße
 
Last edited by a moderator:
Back
Top