kkamagi's story

IT, 정보보안, 포렌식, 일상 공유

OS

apache mod_unique_id module 추가

까마기 2016. 1. 2. 16:55
728x90
반응형

 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를 보면 어떤 롤파일의 몇번째 롤 때문에 오류가 나는지 나오므로 그걸보고 하나씩 롤을 수정하면 된다.

반응형