웹 방화벽 Apache mod_security 모듈 설치하기

웹 방화벽 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

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다