◈ Apache 웹방화벽 구축 ◈
* 리눅스 웹서버에 웹방화벽을 구축하여 보안을 강화한다.
- OS 버전 : CentOS 5.x 64비트
- Apache 버전 : httpd-2.2.10
- modsecurity 버전 : modsecurity-apache_2.5.12
* 사전 준비
1. 아래 rpm 패키지들이 설치되어 있어야 합니다.
- pcre-devel
- apr-devel.x86_64
- apr-util-devel.x86_64
rpm -qa 로 확인할 수 있으며 설치는 yum 을 이용합니다.
예) yum -y install pcre-devel apr-devel.x86_64 apr-util-devel.x86_64
2. 아파치 소스 파일
Apache 가 설치되어 있어야 하며 똑같은 버전의 아파치 소스파일이 준비되어야 합니다.
httpd-2.2.10 이 설치되어 있다면 apache.org 에서 같은 버전을 다운받으면 됩니다.
* mod_unique_id 모듈을 설치
1. httpd-2.2.10 소스를 이용하여 모듈 생성
cd /root/src/httpd-2.2.10/modules/metadata/
/home/apache/bin/apxs -cia mod_unique_id.c
2. apxs 로 생성된 모듈 확인
ls -al /home/apache/modules/mod_unique_id.so
3. httpd.conf 에 정상적으로 load 되었는지 확인
[root@ ~]# cat /home/apache/conf/httpd.conf | grep unique
LoadModule unique_id_module modules/mod_unique_id.so
* modsecurity 설치
1. 다운로드
2. 압축 해제
tar zxvf modsecurity-apache_2.5.12.tar.gz
3. 설치
configure && make && make install
cd modsecurity-apache_2.5.12/apache2/
./configure --with-apxs=/home/apache/bin/apxs --with-pcre=/usr \
--with-apr=/home/apache/bin/apr-1-config --with-apu=/home/apache/bin/apu-1-config
make && make install
4. httpd.conf 설정
- 모듈 설정
LoadModule security2_module modules/mod_security2.so
- 방화벽 정책 설정
Include conf/mod_security.conf
5. 웹방화벽 Rule 설정
- 방화벽 정책은 정보보호진흥원(kisa.or.kr)에서 제공합니다.
- 정책을 mod_security.conf 에 넣고 아파치를 재시작합니다.
- 이 후 mod_security.conf 파일을 주기적으로 업데이트하여 최신 룰을 유지합니다.