웹마스터 팁

IPGUARD 모듈 배포

2013.07.10 00:28

우진홈

IPGUARD

IP가드 모듈은 하이퍼텍스트 액세스(.htaccess) 파일을 생성하여 비정상적 요청을 하는 IP를 차단하는 모듈입니다. 

IP가드 모듈은 ipguard 모듈과 ipguard_post 애드온으로 동작합니다.


1. 애드온과 모듈을 각각 해당 폴더에 업로드 한 후 관리자 데시보드에서 IP가드가 사용하게 될 테이블을 설치합니다.

ipguard_01.jpg
 

2. IP가드 포스트 애드온이 동작할 수 있도록 애드온 설정에서 체크표시 한 후 저장합니다.

ipguard_02.jpg
 

3. IP가드 모듈 관리에서 FTP 설정을 클릭합니다.

ipguard_03.jpg
 

4. 코어의 FTP 설정과 같은 형식의 FTP 계정 정보 입력폼입니다. 코어의 FTP 설정은 쉬운설치를 위해 코어가 설치된 경로를 찾지만 여기서는 .htaccess 파일 설치를 위한 루트 경로를 찾기 위한 것으로 호스팅 계정마다 각각 루트 폴더의 이름이 다를 수 있습니다. 계정에 따라서는 서버주소 입력란에 127.0.0.1로 접근하지 못할 수 있습니다. 이런 경우 아래와 같이 도메인을 입력하면 FTP로 루트에 접속할 수 있습니다.

ipguard_04.jpg
 

5. XE코어가 루트에 설치된 경우 또는 서브 폴더에 설치된 경우라 하더라도 반드시 계정의 루트 디렉토리를 선택해야 합니다. .htaccess 파일은 계정의 최상위 폴더에 위치해야 하기 때문입니다. 루트 폴더의 이름은 계정마다 html, www, public_html 등등 다르게 사용될 수 있습니다. 

만약 FTP로 계정에 접속할 수 없다면 서버 관리자와 계정 접속 방법과 권한(퍼미션)에 대해 문의하기 바랍니다.

서버 환경이 모두 다르기 때문에 이부분에 대해서는 문의 메일에 대하여 답변하지 않습니다. 일반적인 호스팅 계정은 127.0.0.1 또는 도메인으로 접속이 가능합니다.

ipguard_05.jpg
 

6. FTP 계정 정보가 정상적으로 저장 되었다면 리퍼러 모니터를 클릭합니다.

ipguard_06.jpg  


7. 사이트에 요청한 리퍼러 기록을 모니터링 할 수 있습니다. 이때 관리자 모듈에서 회원가입을 시도한 액션을 발견할 수 있습니다.(예시) 또는 페이지나 위젯 페이지에서 글쓰기(dispBoardWrite) 액션을 시도한 리퍼러가 발견된다면 정상적인 요청이 아닐 수 있습니다.

ipguard_07.jpg
 

8. 잘못된 요청을 리퍼러 모니터에서 하나하나 모두 확인할 수 는 없습니다. 수집된 리퍼러를 조사하기 위해서는 리퍼러 로그에 대한 필터링을 설정해야 합니다. 필터링 설정을 클릭합니다.

ipguard_08.jpg
 

9. (예시) 회원가입 액션(dispMemberSignUpForm)을 검사 액션명에 입력합니다. 페이지 모듈 또는 위젯 페이지 모듈과 직접 조합하는 경우 차단할 IP로 자동 등록 되지만 우선 회원가입 액션이 포함된 리퍼러 로그를 조사하기 위해 [관심 리퍼러로 분류]를 선택하고 간단한 필터링 이유를 입력한 후 저장합니다.

ipguard_09.jpg
 

10. 리퍼러 모니터에서 수집된 로그 기록에 관심 리퍼러가 느낌표로 표시됩니다. 지속적(공격적)으로 반복 되었거나 사이트 내 여러 페이지에 액션을 조합하여 반복적으로 요청한 경우 100% 잘못된 요청을 보내는 IP입니다. 이런 경우 차단 IP 등록을 위해 우측 IP 추가 버튼을 클릭합니다.  

ipguard_10.jpg
 

11. 조사된 IP를 차단하는 이유를 간단히 입력하고 등록 버튼을 클릭합니다.

ipguard_11.jpg
 

12. 다시 리퍼러 모니터를 살펴보면 해당 IP가 등록되어 있음을 확인 할 수 있습니다.(아직 차단된 것은 아닙니다.)

기타 분류된 IP에 대해서도 로그기록을 조사하여 등록 여부를 결정합니다.

ipguard_12.jpg  


13. 등록된 IP 목록을 클릭하면 리퍼러 모니터에서 추가한 IP주소가 수집되어 있습니다. 이 목록으로 임시 출력파일을 작성해야 합니다. [차단 IP 목록 작성]을 클릭합니다.

ipguard_13.jpg
 

14. XE코어가 루트에 설치된 경우 코어의 원본 .htaccess 파일의 RewriteRule 하단에 차단할 IP 주소를 추가하여 임시 출력파일로 준비합니다.

만약 코어가 서브 폴더에 설치된 경우 코어 바깥 루트에 새로운 .htaccess 파일을 생성하기 위해 마찬가지로 임시 출력파일을 준비합니다.

만약 코어와는 별도로 현재 사용중인 .htaccess 파일이 존재한다면 포함된 내용을 모두 읽어와서 등록된 IP와 조합하여 새로운 임시 출력파일을 생성합니다.  

마지막으로 .htaccess 파일을 설치하기 위해서는 아래 그림과 같이 FTP 비밀번호를 입력한 후 파일 생성 버튼을 클릭합니다. 

ipguard_14.jpg
 

15. 최종적으로 하이퍼텍스트  엑세스 파일(.htaccess)을 계정에 설치하고 등록된 IP의 계정 접근을 원천 차단합니다.

ipguard_15.jpg
 

16. 만약 등록된 IP를 모두 삭제한다면 임시 작성했던 파일도 삭제됩니다.

ipguard_16.jpg
 

17. 파일 생성과 같은 방법으로 FTP 비밀번호 입력후 생성 버튼을 클릭하면 아래 그림과 같이 이전 파일로 복구됩니다. 만약 코어와는 별개로 새로 생성 되었거나 차단 IP 제거후 유지해야 될 내용이 없는 빈 .htaccess 파일이라면 삭제됩니다.

ipguard_17.jpg
 

18. 필터링 조건 추가에서 검사 액션과 조건 모듈이 유효한 경우(리퍼러 문자열 안에서 액션과 모듈이 모두 포함된 경우 잘못된 요청으로 단정하고 해당 IP는 즉시 처리가 필요한 경우) 리퍼러 기록 과정에서 자동으로 IP를 차단 목록에 등록합니다.

ipguard_18.jpg
 

19. 강제 차단 호스트 입력은 아래 그림과 같이 불량 사이트에서 접근을 시도하는 경우 최우선적으로 차단 IP에 자동으로 등록시키는 조건이 됩니다. 

이때 자동 등록이라는 의미는 차단해야 할 IP를 자동으로 DB에 수집 저장한다는 뜻으로 최종적으로는 14번 과정과 같이 관리자가 FTP 접속으로 파일을 설치해야 합니다.(FTP 비밀번호는 저장하지 않습니다.) 

ipguard_19.jpg
 

20. 필터링의 조합은 리퍼러 로그 기록을 조사하는데 효과적으로 사용할 수 있습니다.  

ipguard_20.jpg
 

21. 리퍼러 모니터 보기 화면에서 IP 주소, 호스트를 클릭하면 해당 문자열로 검색하여 출력합니다. 또는 검색폼을 이용하면 포함된 문자열로 모두 검색하여 출력합니다. 예) 123.45 로 검색하면 123.45.* 와 같은 결과를 얻습니다.

ipguard_21.jpg
 

22. 애드온에서는 리퍼러 로그를 선택적으로 기록할 수 있도록 설정할 수 있습니다. 조사가 필요한 액션명만 따로 설정하거나 모듈에서 설정한 액션을 모두 포함시킬 수도 있으며 비워두면 모두 기록하게 됩니다. 관리자 접속 IP 주소를 입력해 두면 로그 기록에서 관리자 요청에 대한 로그는 저장하지 않습니다.  

ipguard_22.jpg  


*** 중요 ***

사이트가 정상적으로 운영된다면 애드온에서 로그기록을 중지해 두고 필요한 경우에만 리퍼러를 수집하고 조사하기를 권장합니다. 조사가 끝난 로그 기록은 바로바로 삭제하는 것이 좋습니다.


IP가드 모듈은 XESCHOOL에서 관리합니다.


다운로드 페이지 이동


XE 1.5 버전 : ipguard_1_5_4_3 

XE 1.7 버전 : ipguard_1_7_3_4


XE 1.4.5.10 버전 : ipguard_1_4_5_10  다운로드 바로가기


※ XESCHOOL은 항상 배포 버전에 코어 버전 정보를 표시합니다.(Based on Core Version)