Skip to content

조회 수 18787 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
아파치 GeoIP를 이용한 국가별 제한


웹페이지 요청시 요청한 클라이언트의 아이피를 분석하여 해당 국가를 판별하고

국가별로 접근 제한을 하는 방법에 대해 알아보도록 하겠다.


1. 준비사항

GeoIP데이터를 apache에서 사요하기위해서는 mod_geoip를 설치하기에 앞서
GeoIP C API를 먼저 설치하여야 한다 .

다운로드 : http://www.maxmind.com/app/c

설치 방법 : # ./configure --prefix=/usr/local/GeoIP
        # make
        # make install


2. 아파치 모듈 컴파일하기

먼저 아파치가 DSO모듈을 지원하도록 컴파일 되어있어야한다

그리고 컴파일시  라이브러리 경로 와 인클루드 경로를 추가해두어야한다

    라이브러리 경로 : -L /usr/local/GeoIP/lib
    인클루드 경로    : -I  /usr/local/GeoIP/include

다운로드  : http://www.maxmind.com/app/mod_geoip

설치 방법  : apxs -ci  -L /usr/local/GeoIP/lib -I  /usr/local/GeoIP/include -l GeoIP -c mod_geoip.c


설치 후  만약 php가 설치되어 있다면 phpinfo를 통해 간단하게 확인이가능하다 .

Apache Environment 부분에서

GEOIP_CONTINENT_CODE, GEOIP_COUNTRY_CODE, GEOIP_COUNTRY_NAME환경 변수를 볼 수 있다.

그리고 해당 모듈과 라이브러러리의설치 완료 되었으면

GeoIP 데이터를 다운받아야 한다

다운로드 : http://www.maxmind.com/app/products

저장위치 : /usr/local/GeoIP/share/GeoIP/GeoIP.dat



3.  아파치에서 국가별 접근제어하기

특정국가별로 접근을 제한하기위해서는 아래와같이 설정을 추가하면된다

<IfModule geoip_module>
        GeoIPEnable On
        GeoIPDBFile /usr/local/GeoIP/share/GeoIP/GeoIP.dat

        <Location /image>
           SetEnvIf GEOIP_COUNTRY_CODE CN go_out
           SetEnvIf GEOIP_COUNTRY_CODE RU go_out
           SetEnvIf GEOIP_COUNTRY_CODE TH go_out

           <Limit GET POST>
             Order Allow,Deny
             Allow from all
             Deny  from env=go_out
           </Limit>

    </Location>

</IfModule>

위와 반대로 특정국가먄 허용할경우 아래와 같이 하면 된다 .

<IfModule geoip_module>
        GeoIPEnable On
        GeoIPDBFile /usr/local/GeoIP/share/GeoIP/GeoIP.dat

        <Location /image>
           SetEnvIf GEOIP_COUNTRY_CODE KR go_in

           <Limit GET POST>
             Order Deny,Allow
             Deny from all
             Allow  from env=go_in
           </Limit>

    </Location>

</IfModule>


4. 참고 (GeoIP를 이용한 로그)

아파치 로그에서  GeoIP를 이용하여 국가별 코드를 남기게 되면 문제 발생시 whois를 이용하여 조회하지 않더라도

바로 파악이 가능하며 그에따른 적절한 조치가 가능하다

<IfModule geoip_module>
        GeoIPEnable On
        GeoIPDBFile /usr/local/GeoIP/share/GeoIP/GeoIP.dat
</IfModule>

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{Host}i %{GEOIP_COUNTRY_CODE}e"  geoiplog

CustomLog logs/access_log geoiplog

  1. No Image 30Sep
    by ADMINPLAY
    2009/09/30 by ADMINPLAY
    Views 14691 

    브라우저 접속 제한하기

  2. No Image 15Oct
    by ADMINPLAY
    2009/10/15 by ADMINPLAY
    Views 14176 

    SSL 인증서 발급 후 SSL mode 시작시 두 개의 패스워드 입력해야할 때 패치방법

  3. No Image 26Nov
    by ADMINPLAY
    2009/11/26 by ADMINPLAY
    Views 14666 

    apache log에 그림이미지 파일 로그 안남기기

  4. No Image 26Nov
    by ADMINPLAY
    2009/11/26 by ADMINPLAY
    Views 14217 

    rewrite 모듈을 이욜한 서브도메인으로 홈페이지 운영하기

  5. No Image 26Nov
    by ADMINPLAY
    2009/11/26 by ADMINPLAY
    Views 16069 

    apache2 worker 방식 client 수치 설정법

  6. No Image 26Nov
    by ADMINPLAY
    2009/11/26 by ADMINPLAY
    Views 14874 

    아파치 데몬이 안 뜰경우

  7. No Image 26Nov
    by ADMINPLAY
    2009/11/26 by ADMINPLAY
    Views 18254 

    squid 로 웹서버 가속하기..---== 강추 ==---

  8. No Image 26Nov
    by ADMINPLAY
    2009/11/26 by ADMINPLAY
    Views 14017 

    사용자 인증

  9. No Image 10Dec
    by ADMINPLAY
    2009/12/10 by ADMINPLAY
    Views 19120 

    apache server 2.2, Tomcat5.5 로드밸런싱 및 클러스터

  10. No Image 30Jan
    by ADMINPLAY
    2010/01/30 by ADMINPLAY
    Views 18787 

    아파치 GeoIP를 이용한 국가별 제한

  11. No Image 24Feb
    by ADMINPLAY
    2010/02/24 by ADMINPLAY
    Views 19594 

    apache + oracle (오라클 DB 한글깨짐)

  12. No Image 03May
    by ADMINPLAY
    2010/05/03 by ADMINPLAY
    Views 26743 

    *** glibc detected *** double free or corruption (!prev): 0x09f1ab80 ***

  13. 트래픽분석툴(mod_throttle) 설치 및 설정 - apache1.3.x 버젼용

  14. No Image 29May
    by l2zeo
    2010/05/29 by l2zeo
    Views 20816 

    APM + Snort + ADODB + BASE + oinkmaster 설치

  15. 웹방화벽 ModSecurity 룰적용 순서

  16. No Image 29Jul
    by ADMINPLAY
    2010/07/29 by ADMINPLAY
    Views 19117 

    mod_gzip, mod_deflate

  17. No Image 26Aug
    by ADMINPLAY
    2010/08/26 by ADMINPLAY
    Views 18807 

    Apache - 도메인 포워딩

  18. No Image 31Aug
    by ADMINPLAY
    2010/08/31 by ADMINPLAY
    Views 21221 

    apache 외부링크 차단

  19. No Image 17Sep
    by ADMINPLAY
    2010/09/17 by ADMINPLAY
    Views 23003 

    apache, tomcat 가상디렉토리 설정

  20. No Image 22Sep
    by ADMINPLAY
    2010/09/22 by ADMINPLAY
    Views 20684 

    리눅스 개인계정 로딩시 틸드(~)기호없이 그냥 사용

Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234