웹 인젝션 해킹이 늘어나고 있다. 제로보드4를 필두로 하여 내가 완벽하게 만들었다 생각한 웹 어플리케이션들도 쉽게 뚫린다고 생각하니 발뻗고 잠을 잘수가 없다.
이것에 대응하기 위해 웹방화벽이라는것이 있다. 웹서비스로 접근하는 쿼리를 한번씩 검사하여 불순한 의도의 쿼리는 걸러내는 놈인데, 장비나 소프트웨어 비용이 만만치 않다.
그래서 무료 웹방화벽의 설치 방법을 소개할까 한다. 때마침 apache2를 지원하는 2.0 버젼이 나왔으니 글을 써보도록 하겠다.
mod_security 1.9&2.0 : http://www.modsecurity.org/download/index.html
mod_security는 아파치 기반에서 작동하며 MS의 IIS등에서는 사용할수 없다.
stable release로 다운받자. 지금 현재는 2.0.2 및 1.9.4가 최신버젼이다.
[CODE][root@tomeii src]# wget http://www.modsecurity.org/download/modsecurity-apache_1.9.4.tar.gz
…중략…
22:18:04 (53.64 KB/s) – `modsecurity-apache_1.9.4.tar.gz’ saved [496805/496805][/CODE]
modsecurity-apache_2.0.2.tar.gz파일이 생긴것을 확인할수 있다. 압축도 풀자.
[CODE][root@tomeii src]# tar -zxvf modsecurity-apache_1.9.4.tar.gz[/CODE]
이제 압축이 풀린 디렉토리로 이동하여 INSTALL을 확인하기 바란다. 정적/동적인 컴파일 방법을 설정할수 있다.
난 아파치 다시 컴파일하기 귀찮으니 동적으로 해보기로 한다.
[CODE][root@tomeii modsecurity-apache_1.9.4]# cd apache1/
[root@tomeii apache1]# apxs -cia mod_security.c[/CODE]
그럼 .so파일을 생성한후에 httpd.conf파일을 바꿔치기 하는것을 알수 있다. 이전 설정은 httpd.conf.bak으로 백업된다.
아파치를 재시작 한다.
이것으로 끝난것이 아니다. 설정을 해야 하는데, 외국사이트에서 구하여 장기간에 걸쳐 테스트 해보고 수정을 조금 가한 설정파일을 올려보겠다.
설정 내용은 각자의 숙제로 남겨두기로 하고, 그냥 쓰기 바란다. 참고로 phpmyadmin작동과 각종 블로그 작동을 방해하는 요소는 제거하였다.
현재 설정이 한국형에 가장 알맞지 않을까 생각해 본다. 계속 고쳐야 하겠지만 귀차니즘….ㅜ.ㅜ
아파치 로그 디렉토리에서 modsec_audit.log 및 modsec_debug.log 파일을 통해 어떤 시도가 있었는지 확인할수 있다.