1. mod_unique_id module 추가
기본적으로 mod_unique_id 모듈을 apache install 시 설치해야되나 빠져있다면
apache source를 다운받아서 해당 모듈만 복사한다.
# cd /usr/local/src
# wget http://mirror.apache-kr.org/httpd/httpd-2.2.27.tar.gz
# tar xvfz httpd-2.2.27.tar.gz
# cd httpd-2.2.27/modules/metadata
# /usr/local/apache/bin/apxs -cia mod_unique_id.c
# /etc/rc.d/init.d/httpd restart (/usr/local/apache/bin/apachectl restart)
2. 컴파일전 설치되어야할 라이브러리들이 다 설치되어 있는지 확인한다.
https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#Installation_for_Apache
해당 사이트를 참고
3. 컴파일
# ./autogen.sh
#./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--with-libxml=/usr \
--with-apr=/usr/local/apache/bin/apr-1-config \
--with-apu=/usr/local/apache/bin/apu-1-config
# make
# make install
4. https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project 에서 최근 롤셋을 다운
INSTALL text 파일안 설명대로 설치
krcert.or.kr 에서 제공하는 룰셋은 오래전 룰셋이라 OWASP에서 제공하는 룰셋으로 셋팅한다.
5. httpd.conf 에 아래 내용 추가
LoadModule unique_id_module modules/mod_unique_id.so
LoadFile /usr/lib64/libxml2.so
LoadFile /usr/lib64/liblua-5.1.so
LoadModule security2_module modules/mod_security2.so
<IfModule security2_module>
Include conf/crs/modsecurity_crs_10_setup.conf
Include conf/crs/activated_rules/*.conf
</IfModule>
6. crs/activated_rules 디렉토리의 modsecurity_crs_10_setup.conf 심볼릭 링크 삭제
httpd.conf 에 include되는 modsecurity_crs_10_setup.conf 파일을 아래 activated_rules/*.conf 으로 모든 파일을
불러오는데 modsecurity_crs_10_setup.conf이 2번 불려오게 되서 apache error_log에
ModSecurity: Found another rule with the same id 에러가 발생하게 된다.
Include conf/crs/activated_rules/*.conf 만 하던지 심볼릭 링크를 삭제하던지 2번 불려지지 않게 한다.
7. httpd restart
8. www.your-domain.com/?foo=/etc/passwd 해서 apache error_log에 ModSecurity: Access denied.....이런 메세지가 나오면
제대로 작동하는것이다.
9. 개발서버 IP로 접속이 안되면 modsecurity_crs_21_protocol_anomalies.conf 파일의 98번 라인을 주석처리하여 롤을
없앤다.
error_log를 보면 어떤 롤파일의 몇번째 롤 때문에 오류가 나는지 나오므로 그걸보고 하나씩 롤을 수정하면 된다.
'OS' 카테고리의 다른 글
apache mod_security 세팅 작업 (1) | 2016.07.05 |
---|---|
sfc - 시스템 검색 명령어 (0) | 2016.06.27 |
[에러메세지] - ModSecurity requires mod_unique_id to be installed (0) | 2016.01.02 |
virbr0 NAT 인터페이스 disable 시키기 (0) | 2016.01.02 |
Linux Vi 한글 깨짐 현상 (0) | 2016.01.02 |