(이글은 아파치 2.0.x버전대의 서버를 기준으로 설명하는 글입니다. 포함된 링크의 자료는 아파치

2.2.x 버전에서는 정상작동 하지 않고 또한 리눅스 아파치서버에서 작동하지 않습니다.)

Win32용 아파치 서버 2.0.x 버전에서 mod_security 2.1.1 버전을 추가하는 방법을 소개한다. 참고로

mod_security는 아파치 서버 외부공격 방어모듈이다.(아파치서버 방화벽) 네트워크 공격에 대한

방어 모듈로는 mod_evasive등의 모듈이있으나 과도한 Dos,DDos 공격에는 견디기 힘든것으로

알려져 있다. 어쨋든 mod_security 설치방법에 대해 알아보겠다.

1.x 대의 버전과 2.x버전은 적용방법에 약간 차이가 있다. 1.x 버전에서는 mod_security.so 파일과

설정 파일 한개만 인클루드 시키는 방법을 썼는데 2.x 버전에서는 여러가지 단계별 설정파일을 적용

해야된다. 일단 아래링크에서 mod_security 2.1.1 버전을 받는다.


다운로드

파일압축을 풀면 다음과 같은 파일들을 볼 수 있다.

apache.exe.mainfest
/modsecurity/rules
/modsecurity/doc
libxml2.dll
mod_security.so


1. 설치방법
 - apache.exe.mainfest 파일을 아파치가 설치된 곳의 bin 폴더에 넣어준다.
 - libxml2.dll , mod_security.so 파일을 modules 디렉토리에 mod_security2라는 폴더를
   만들고 rules,doc 폴더들과 함께 넣어준다.
 - conf 폴더에서 httpd.conf 파일을 열어 다음과 같이 추가해준다.
   (만약 mod_unique_id 앞에 주석처리 되있다면 #만 없애준다.)

LoadModule unique_id_module modules/mod_unique_id.so

# 보안설정 security_module 2
LoadModule security2_module modules/mod_security2/mod_security2.so
<IfModule security2_module>
Include modules/mod_security2/rules/modsecurity_crs_10_config.conf
Include modules/mod_security2/rules/modsecurity_crs_21_protocol_anomalies.conf
Include modules/mod_security2/rules/modsecurity_crs_35_bad_robots.conf
Include modules/mod_security2/rules/modsecurity_crs_45_trojans.conf
Include modules/mod_security2/rules/modsecurity_crs_55_marketing.conf
Include modules/mod_security2/rules/modsecurity_crs_20_protocol_violations.conf
Include modules/mod_security2/rules/modsecurity_crs_30_http_policy.conf
Include modules/mod_security2/rules/modsecurity_crs_40_generic_attacks.conf
Include modules/mod_security2/rules/modsecurity_crs_50_outbound.conf
</IfModule>


include 된 conf 파일들은 순서에 따라 우선순위권이 생긴다고 알고있는데 자세히는 모르겠다.

설정 방법은 꽤 광범위 하기 때문에 여기서는 설치방법만 알리겠다. 그리고 기본설정도 별다른

문제 없이 잘 적용된다.