"HTTP 보안"에 해당되는 글 1건

  1. 2009/07/09 Apache Mod_Security

Apache Mod_Security

2009/07/09 09:06
Linux 웹 호스팅 보안 Firewall Security 침입차단 침입 차단

Apache Mod_Security 사용방법
(편의상 존칭은 생략합니다. ^^)

Mod Security 는 Apache 용 웹 방화벽이다.
가장 널리 알려져 있는 HTTP,HTTPS를 이용한 공격을 차단 할 수 있는 웹 방화벽이다. 공격의 종류는 XSS, SQL Injection, Command Execute 등을 차단하여 웹 보안에 있어서 최소한(?) 의 보안을 해주는 Apache 모듈이다.

준비물
ModSecurity
사이트 : http://www.modsecurity.org/
다운로드 : http://www.modsecurity.org/download/modsecurity-apache_2.5.9.tar.gz

*PCRE  Perl Compatible Regular Expressions
사이트 : http://www.pcre.org/
다운로드 : ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

우선 Apache가 설치가 되어 있어야 한다. Apache 의 apr, apu를 사용하기 위함이다. 그리고 현재 설치하려는 시스템에 PCRE 라이블러리가 설치가 되어 있는지 확인을 한다. 설치가 안되어 있다면 PCRE 를 다운로드 받아서 컴파일 해준다. *

ModSecurity 를 적당한 디렉토리(/usr/local/src) 에 다운로드 받는다.
(편의상 root로 진행)
# tar zxvf modsecurity-apache_2.5.9.tar.gz
# cd modsecurity-apache_2.5.9/apache2
# ./configure \
   --with-apxs=/usr/local/apache/bin/apxs \
   --with-pcre=/usr/local/pcre \ (PCRE 를 컴파일 했을때)
   --with-apr=/usr/local/apache/bin/apr-1-config \
   --with-apu=/usr/local/apache/bin/apu-1-config
# make
# make install
* 위 부분에서 --with-pcre 는 pcrelib 를 찾지 못한다는 메세지가 출력되고 PCRE라이블러리를 직접 컴파이르 했을 때 경로를 지정해 주는것이다. 그리고 위 예제는 Apache 2.2.x 를 기준이다.

위 과정을 하고 나서 httpd.conf 를 편집을 한다.
LoadModule security2_module    modules/mod_security2.so

ModSecurity 의 룰은 한국정보보호진흥원에서 배포를 한다.
사이트 : http://www.securenet.or.kr/
위 사이트에 공개웹방화벽 커뮤니티 - 자료실 에 들어가서 최신 버전의 ModSecurity 용 차단 샘플툴을 다운로드 받아 필요한 부분을 편집을 해서 사용하면 된다. 기본적으로 deny가 아닌 pass로 되어 있기 때문에 필요한 부분을 수정후 동작을 시키면 된다.  여기서 주의 할점은 배포가 되는 차단룰이 모든 서버에 완벽히 동작하는 것은 아니고 각 서버마다 필요한 것을 수정/추가 하면 된다.

위 룰을 httpd.conf 에서 Include 를 이용해 경로를 지정해 주면 동작을 하게 된다.

룰 설정에 대해서는 추후 작성을 하겠다.

*PCRE 설치 방법
PCRE 라이블러리를 적당한 디렉토리(/usr/local/src)에 다운로드 받는다.

# tar zxvf pcre-7.9.tar.gz
# ./configure
# make
# make install
# ldconfig

위 과정을 진행해주면 기본 디렉토리인 /usr/local 에 라이블러리가 설치가 된다. 펄 호환 정규표현식을 지원해 주는 라이블러리로 Mod Security 에서 정규식으로 차단룰을 설정하는데 사용된다. yum 이나 apt-get 등으로 설치를 해도 무방하다.

"Linux" 카테고리의 다른 글