Welcome! Log In Create A New Profile

Advanced

Re: Country banning

August 29, 2009 01:09PM
On Sat, Aug 29, 2009 at 08:27:55PM +0400, Igor Sysoev wrote:

> On Sat, Aug 29, 2009 at 11:41:16AM -0400, Jim Ohlstein wrote:
>
> > We're dealing with a high degree of fraud from certain countries and
> > would like to simply ban all IP's from those countries.
> >
> > I seem to recall reading here that using the Geo module is more
> > efficient for this purpose than the GeoIP module.
> >
> > Currently I have the following in nginx.conf:
> >
> > geo $country {
> > include geo.conf;
> > }
> >
> > where geo.conf is generated from MaxMind country lite csv database using
> > geo2nginx.pl supplied with nginx.
> >
> > In the site config I have multiple if statements like:
> >
> > server {
> > ...
> >
> > if ($country = XX) {
> > return 403;
> > }
> >
> > if ($country = YY) {
> > return 403;
> > }
> >
> > if ($country = ZZ) {
> > return 403;
> > }
> >
> > ...
> >
> > }
> >
> > Is this more efficient than using GeoIP module? Is there a more
> > efficient way of doing this?

> # set forbidden countries to 1, ignore others:
> perl -ne 'print "$1 1\n" if /^(\S+) (US|RU|CN|...);$/' < countries.conf > networks.conf
>
> # aggregate networks:
> ./compress.pl networks.conf > forbidden.conf
>
> Then use it:
>
> geo $forbidden {
> default 0;
> include forbidden.conf;
> }
>
> server {
> if ($forbidden) {
> return 403;
> }

Or if good entries are less than bad ones, you may invert the logic:

# set good countries to 0, ignore others:
perl -ne 'print "$1 0\n" if /^(\S+) (US|RU|CN|...);$/' < countries.conf > networks.conf

geo $forbidden {
default 1;
include good.conf;
}


--
Igor Sysoev
http://sysoev.ru/en/
Subject Author Posted

Country banning

Jim Ohlstein August 29, 2009 11:41AM

Re: Country banning

APseudoUtopia August 29, 2009 11:49AM

Re: Country banning

Chris Zimmerman August 29, 2009 12:11PM

Re: Country banning

Igor Sysoev August 29, 2009 12:27PM

Re: Country banning

Igor Sysoev August 29, 2009 01:09PM

Re: Country banning

Jim Ohlstein August 29, 2009 01:58PM

Re: Country banning

Igor Sysoev August 29, 2009 02:20PM

Re: Country banning

Jim Ohlstein August 29, 2009 05:25PM

Re: Country banning

Igor Sysoev August 30, 2009 01:23AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 182
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready