해외 ip 접속 차단하기

오랜만에 덕이농장 홈페이지 관리자로 접속해서 IP를 확인하다가 해외IP가 가끔, 아니 요즘은 자주 보여서 오늘 부터 해외IP 를 막기로 했습니다.

우리나라는 KISA(한국인터넷진흥원)에서 WHOIS조회 서비스를 하고 있습니다. “5.8.10.202”IP를 조회해 보니 xxxx.ru 입니다.

내일 부터는 알 수 없는 나라에서 접속못하게 된다는 생각에 기쁜맘으로 작업을 진행합니다.

 

GeoIP 컴파일

다운로드 : https://dev.maxmind.com/geoip/legacy/downloadable/

# ./configure --prefix=/usr/local/GeoIP
# make
# make install

 

Apache 설정하기

# apxs -i -a -L/usr/local/GeoIP/lib -I/usr/local/GeoIP/include -lGeoIP -c mod_geoip.c

 

GeoIP  database 다운로드및 복사

# wget -N http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
# gunzip GeoIP.dat.gz
# mv GeoIP.dat /usr/local/share/GeoIP/

 

httpd.conf 추가

저는 KR(한국), US(미국), CA(캐나다)만 접속 가능하도록 설정했습니다. 

LoadModule geoip_module /usr/lib64/httpd/modules/mod_geoip.so

<IfModule geoip_module>
GeoIPEnable On
GeoIPDBFile /usr/local/share/GeoIP/GeoIP.dat
<Location /data>
SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE KR AllowCountry
<Limit GET POST>
Deny from all
Allow from env=allowcountry
</Limit>
</Location>
</IfModule> 

 

 httpd 재기동

# service httpd restart

 

 

You May Also Like

About the Author: chohi

답글 남기기

이메일 주소는 공개되지 않습니다.