본문 바로가기

Linux

CentOS 에 공개 웹방화벽 ModSecurity 설치하기


CentOS 5.0 에 Apache 용 무료 웹방화벽인 ModSecurity 를 설치해 봤습니다.

참고 : KrCERT 공개 웹방화벽을 이용한 홈페이지 보안


1. ModSecurity 모듈과 공격 차단룰 (Core Rule) 다운로드

http://www.modsecurity.org/download/index.html

wget http://www.modsecurity.org/download/modsecurity-apache_2.1.1.tar.gz
wget http://www.modsecurity.org/download/modsecurity-core-rules_2.1-1.4.tar.gz


2. ModSecurity 설치

ModSecurity.org 설치 가이드

참고 : KrCERT 제공 설치 가이드

 2.1 컴파일시 필요한 패키지 설치
yum install httpd-devel pcre-devel libxml2-devel

 2.2 mod_unique_id 설치 (/etc/httpd/conf/httpd.conf 수정)
LoadModule unique_id_module modules/mod_unique_id

 2.3 압축 풀기
tar xvfz modsecurity-apache_2.1.1.tar.gz

 2.4. Makefile top_dir 수정 (modsecurity-apache_2.1.1/apache2/Makefile)
top_dir = /usr/lib/httpd
 /etc/httpd 아래 module 링크가 있으니 /etc/httpd 로 해도 상관없을 것 같습니다.

 2.5. ModSecurity 컴파일 및 설치
make ; make install


3. ModSecurity 적용

 3.1 공격 차단룰 (Core Rule) 수정 및 복사
  KrCERT 에서 제공하는 웹호스팅 서버용 파일을 사용했습니다.
cp modsecurity_2x_hosting_070620.conf /etc/httpd/conf.d

 참고 : KrCERT 제공 공격 차단룰

 3.2 Apache 설정 파일 수정 (/etc/httpd/conf/httpd.conf)
LoadModule security2_module modules/mod_security2.so    // ModSecurity 모듈 로드
Include conf/modsecurity_2x_hosting_070620.conf            // ModSecurity Rule
LoadFile /usr/lib/libxml2.so                                               // XML Parse 사용시 추가

 3.3 Apache 시작