GeoIP를이용한 아파지 특정 국가차단방법
1. 먼저 GeoIP C Libary를 설치
./configure
make
make check
make install
2. mod_geoip2 다운로드
apache 2.x download : http://www.maxmind.com/download/geoip/api/mod_geoip2/
mod_geoip2 압축풀고 아파치에 모듈삽입
/usr/local/apache2/bin/apxs(아파치위치) -i -a -L/usr/local/lib -I/usr/local/include -lGeoIP -c mod_geoip.c
perl: warning: Setting locale failed.
에러나면 yum -y install ncurses* 으로 설치
그다음 또 오류날텐데
/usr/local/apache/bin/apxs -i -c mod_geoip.c 이걸로했음 오류나서
apache 1.3.x download : http://www.maxmind.com/download/geoip/api/mod_geoip/
mod_geoip2 압축풀고 아파치에 모듈삽입
/usr/local/apache/bin/apxs -i -a -L/usr/local/lib -I/usr/local/include -lGeoIP -c mod_geoip.c
반드시 위와 같이 올려야 함.
3. GeoIP 데이터 다운로드
http://www.maxmind.com/download/geoip/database/
GeoLiteCity.dat.gz
압축풀고(gzip -d GeoLiteCity.dat.gz) 아파치폴더(httpd/conf)로 이동
4. httpd.conf 에 모듈활성화
LoadModule geoip_module modules/mod_geoip.so
<IfModule mod_geoip.c>
GeoIPEnable On
GeoIPDBFile /특정폴더/GeoLiteCity.dat
</IfModule>
팁: 특정폴더란?? GeoLiteCity.dat 이 파일이 위치하는 디렉토리 위치 설정
5. 차단방법 예제
ex1) 211.111.13.135 아이피는 허용
httpd.conf
<Directory /차단적용디렉토리>
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE US BlockCountry
Order deny,allow
Deny from env=BlockCountry
Allow from 211.111.13.135
</Directory>
위의 설정을 할 경우 웹서버만 특정나라에서 접속을 못하게 된다.
'Linux' 카테고리의 다른 글
centos6 samba 설치 (0) | 2015.10.30 |
---|---|
php-fpm status 확인 페이지 설정방법 (0) | 2015.10.13 |
nagios centos6 install (0) | 2015.09.16 |
nginx modsecurity install (2) | 2015.09.12 |
nginx ssl setup (0) | 2015.09.10 |