웹 방화벽 Apache mod_security 모듈 설치하기
1.mod_security 모듈의 개요
mod_security 모듈은 가장 널리 알려저 있는 웹 서비스의 공격을 효과적으로 차단할 수 있는 공개 웹 방화벽 이다
Apache 모든 버전에서 적용하여 설치,적용이 가능하다
2.설치를 위한 파일 준비
-설치환경 : CentOS6.7
-mod_security
*사이트 주소 : http://www.modsecurity.org/
*다운로드 : https://www.modsecurity.org/tarball/2.9.3/modsecurity-2.9.3.tar.gz
▶ Mod_security 설치
wget https://www.modsecurity.org/tarball/2.9.3/modsecurity-2.9.3.tar.gz
tar xzfv modsecurity-2.9.3.tar.gz
cd modsecurity-2.9.3
./configure –with-apxs=/opt/apache/bin/apxs –with-apr=/opt/apache/bin/ –with-apu=/opt/apache/bin/
make && make install
cp modsecurity.conf-recommended /opt/apache/conf/modsecurity.conf
cp unicode.mapping /opt/apache/conf/
▶ httpd.conf에 해당 모듈 추가
vi /opt/apache/conf/httpd.conf
LoadModule security2_module modules/mod_security2.so
LoadModule unique_id_module modules/mod_unique_id.so
▶ 아파치 재시작
/opt/apache/bin/apachectl restart
▶ 룰셋 다운로드및 적용
cd /opt/apache/conf
git clone https://github.com/spiderLabs/owasp-modsecurity-crs.git
mv owasp-modsecurity-crs modsecurity-crs
cd modsecurity-crs
cp crs-setup.conf.example crs-setup.conf
▶ httpd.conf에 해당 모듈 추가
vim /opt/apache/conf/httpd.conf
Include conf/modsecurity-crs/crs-setup.conf
Include conf/modsecurity-crs/rules/*.conf
▶ crs-setup.conf 에서 아래 내역을 변경한다, 아래 처럼 auditlog 를 추가
원본
SecDefaultAction “phase:1,log,auditlog,pass”
SecDefaultAction “phase:2,log,auditlog,pass”
수정내역
SecDefaultAction “phase:1,log,auditlog,deny”
SecDefaultAction “phase:2,log,auditlog,deny”
아래 4개 옵션을 넣어준다.
vim /opt/apache/conf/httpd.conf
SecRuleEngine On
SecAuditEngine On
SecAuditLog /var/log/httpd/modsec_audit.log
SecAuditLogParts ABCFHZ
SecDataDir /tmp
SecRequestBodyLimit
값 수정
vim modsecurity.conf