OVH Community, votre nouvel espace communautaire.

mod_geoip Apache2 : Autoriser 1 adresse IP


bbr18
13/12/2013, 22h48
D'après les docs de maxmind les autorisations/refus doivent être dans le bloc location et non dans le bloc module

Me.B
13/12/2013, 22h37
Citation Envoyé par meteo59223
Bonsoir.



Oui ça marche comme ça. Je suivais un tutoriel quand j'ai eu une erreur de syntaxe ; pas moyen de la résoudre à part pour cette solution en mettant les Allow From, Deny From entre des . J'ai aussi trouvé ça bizarre mais fonctionnel, par la preuve des test fait par proxy qui ont retourné des erreurs 403, sauf pour France, Belgique et Allemagne, ce que je désire.

Je viens de tester ton idée avec AllowIP et apparement ça ne marche pas . En revanche je viens de m'aperçevoir de ça dans mon access.log :

Code:
::1 - - [13/Dec/2013:21:25:01 +0100] "GET / HTTP/1.1" 403 - "-" "Mozilla/5.0 (ISPConfig monitor)"
::1 - - [13/Dec/2013:21:25:02 +0100] "GET / HTTP/1.0" 403 - "-" "Wget/1.12 (linux-gnu)"
::1 - - [13/Dec/2013:21:30:01 +0100] "GET / HTTP/1.1" 403 - "-" "Mozilla/5.0 (ISPConfig monitor)"
::1 - - [13/Dec/2013:21:30:02 +0100] "GET / HTTP/1.0" 403 - "-" "Wget/1.12 (linux-gnu)"
::1 - - [13/Dec/2013:21:35:01 +0100] "GET / HTTP/1.1" 403 - "-" "Mozilla/5.0 (ISPConfig monitor)"
::1 - - [13/Dec/2013:21:35:02 +0100] "GET / HTTP/1.0" 403 - "-" "Wget/1.12 (linux-gnu)"
Depuis l'activation de GeoIP, je ne sais pas si ça a rapport ...




Malheureusement plusieurs personnes ont accès à mon serveur et certaines n'ont pas d'IP fixe donc cette méthode n'a pas pu aboutir dans mon cas .
Pour ceux qui ont des ip variable fait les passer par un VPN ce qui fixe leur IP ;-) Et ils auront ainsi une IP que tu peux autoriser....

M B

gurki
13/12/2013, 22h37
Code:

 SetEnvIf GEOIP_COUNTRY_CODE FR AllowCountry
 SetEnvIf GEOIP_COUNTRY_CODE BE AllowCountry
 SetEnvIf GEOIP_COUNTRY_CODE DE AllowCountry

 Order Deny,Allow
 Deny from All
 Allow from env=AllowCountry
 Allow from 12.34.56.78
Et ça devrait faire la blague... même pas besoin du Satisfy any !

NB: ce bloc doit se trouver à l'intérieur d'un bloc Directory ou Location.

meteo59223
13/12/2013, 21h47
Bonsoir.

bbr18 :
ça marche actuellement ? Les pays à autoriser ou exclure sont dans location pas dans module en principe.
Je n'ai pas essayé mais si tu ajoutes une autre condition en rapport avec l'IP (GEOIP_ADDR) ?
Oui ça marche comme ça. Je suivais un tutoriel quand j'ai eu une erreur de syntaxe ; pas moyen de la résoudre à part pour cette solution en mettant les Allow From, Deny From entre des . J'ai aussi trouvé ça bizarre mais fonctionnel, par la preuve des test fait par proxy qui ont retourné des erreurs 403, sauf pour France, Belgique et Allemagne, ce que je désire.

Je viens de tester ton idée avec AllowIP et apparement ça ne marche pas . En revanche je viens de m'aperçevoir de ça dans mon access.log :

Code:
::1 - - [13/Dec/2013:21:25:01 +0100] "GET / HTTP/1.1" 403 - "-" "Mozilla/5.0 (ISPConfig monitor)"
::1 - - [13/Dec/2013:21:25:02 +0100] "GET / HTTP/1.0" 403 - "-" "Wget/1.12 (linux-gnu)"
::1 - - [13/Dec/2013:21:30:01 +0100] "GET / HTTP/1.1" 403 - "-" "Mozilla/5.0 (ISPConfig monitor)"
::1 - - [13/Dec/2013:21:30:02 +0100] "GET / HTTP/1.0" 403 - "-" "Wget/1.12 (linux-gnu)"
::1 - - [13/Dec/2013:21:35:01 +0100] "GET / HTTP/1.1" 403 - "-" "Mozilla/5.0 (ISPConfig monitor)"
::1 - - [13/Dec/2013:21:35:02 +0100] "GET / HTTP/1.0" 403 - "-" "Wget/1.12 (linux-gnu)"
Depuis l'activation de GeoIP, je ne sais pas si ça a rapport ...

Me. B :
Le plus simple est de créer un second virtual host avec un sous domaine dessus par exemple sur le meme root et ou seul ton IP est autorisé ;-)
gurki :
Pour une seule adresse IP, pas besoin d'utiliser GeoIP ! Un simple "allow from xxx.xxx.xxx.xxx" couplé à un "Satisfy any" fera l'affaire...
Malheureusement plusieurs personnes ont accès à mon serveur et certaines n'ont pas d'IP fixe donc cette méthode n'a pas pu aboutir dans mon cas .

bbr18
13/12/2013, 21h22
Ne voulant que les visiteurs de France, Belgique et d'Allemagne
il veut aussi certains pays

gurki
13/12/2013, 19h31
Pour une seule adresse IP, pas besoin d'utiliser GeoIP ! Un simple "allow from xxx.xxx.xxx.xxx" couplé à un "Satisfy any" fera l'affaire...

Me.B
13/12/2013, 19h23
Citation Envoyé par meteo59223
Bonjour à tous,

Suite à de nombreuses attaques, j'ai installé et configuré le mod_geoip d'Apache2 sur mon serveur. Ne voulant que les visiteurs de France, Belgique et d'Allemagne. Voici mon fichier mod_geoip.conf où tout marche (testé avec proxys à l'étranger) :

Code:


GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat

SetEnvIf GEOIP_COUNTRY_CODE FR AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE BE AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE DE AllowCountry





Deny from all
Allow from env=AllowCountry

En revanche, j'ai tout-de-même besoin d'autoriser une seule IP venant du Canada. Comment je peux faire ça ? J'ai testé en ajoutant SetEnvIf GEOIP_ADDR xx.xx.xx.xx AllowCountry comme j'ai cru voir dans la doc de dev.maxmind.com mais peut-être que j'ai loupé quelque chose ...

Si quelqu'un a une idée, je le remercie d'avance. Je pourrais ajouter le Canada en AllowCountry mais vu que j'ai régulièrement des attaques provenant de ce pays, je préfère éviter ...

Bonne fin d'aprem.

Nico.
Le plus simple est de créer un second virtual host avec un sous domaine dessus par exemple sur le meme root et ou seul ton IP est autorisé ;-)

M B

bbr18
13/12/2013, 16h40
ça marche actuellement ? Les pays à autoriser ou exclure sont dans location pas dans module en principe.
Je n'ai pas essayé mais si tu ajoutes une autre condition en rapport avec l'IP (GEOIP_ADDR) ?
Code:
-
GeoIPEnable On
GeoIPOutput All
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat



SetEnvIf GEOIP_COUNTRY_CODE FR AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE BE AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE DE AllowCountry

SetEnvIf GEOIP_ADDR ton_ip AllowIP

Deny from all
Allow from env=AllowCountry
Allow from env=AllowIP

meteo59223
13/12/2013, 16h17
Bonjour à tous,

Suite à de nombreuses attaques, j'ai installé et configuré le mod_geoip d'Apache2 sur mon serveur. Ne voulant que les visiteurs de France, Belgique et d'Allemagne. Voici mon fichier mod_geoip.conf où tout marche (testé avec proxys à l'étranger) :

Code:


GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat

SetEnvIf GEOIP_COUNTRY_CODE FR AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE BE AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE DE AllowCountry





Deny from all
Allow from env=AllowCountry

En revanche, j'ai tout-de-même besoin d'autoriser une seule IP venant du Canada. Comment je peux faire ça ? J'ai testé en ajoutant SetEnvIf GEOIP_ADDR xx.xx.xx.xx AllowCountry comme j'ai cru voir dans la doc de dev.maxmind.com mais peut-être que j'ai loupé quelque chose ...

Si quelqu'un a une idée, je le remercie d'avance. Je pourrais ajouter le Canada en AllowCountry mais vu que j'ai régulièrement des attaques provenant de ce pays, je préfère éviter ...

Bonne fin d'aprem.

Nico.