웹서버관련정보/윈도우

[팁] 아파치 2.0.x 서버에서 mod_security, mod_bandwidth 모듈 추가하기

박디 2007. 6. 8. 18:45

(이글은 아파치 2.0.x버전대의 서버를 기준으로 설명하는 글입니다. 포함된 링크의 자료는 아파치

2.2.x 버전에서는 정상작동 하지 않고 또한 리눅스 아파치서버에서 작동하지 않습니다.)


아파치 서버를 한동안 운영하다보면 온갖 공격에 시달릴수 있는데 여기서 소개하는 mod_security

모듈은 buffer overflow공격,각종 SQL injection공격,HTTP posting의 악용을 방지해주는 아파치서버

방화벽 모듈이다. 얼마나 효용성있는지는 잘 모르겠지만 많이쓰이는 모듈이기 때문에 올려본다.

그리고 mod_bandwidth는 자신의 서버에서 클라이언트들이 자료를 받아갈때 전송 속도를 제한해

주는 모듈이다. 자신의 회선속도에 맞춰서 예를들어 1Mb의 크기가 넘는 자료에 대해서 속도를

200kb로 설정했다하면 클라이언트들은 서버내의 자료를 받을때 크기가 1Mb가 넘으면 최대 200kb

속도로만 자료를 받을수가 있다. 여기에 올린 모듈들은 RWapm에 있는 모듈을 빼온것이다.

(http://kldp.net/projects/rwapm/) 에서 RWapm을 받아서 APM패키지를 쓸수있고 최근

버전에서는 Dos,DDos 공격방어 모듈인 mod_evasive모듈이 추가되었다.

------------------------------------------------------------------------

1. mod_security 모듈 설치방법

 윈도우용 아파치서버에서 제대로된 모듈파일만 가지고 있다면 추가하는 방법은 매우 쉽다.

 일단 mod_security의 경우 아래의 링크에서 모듈을 다운받도록 한다.

 mod_security 1.8.7(win32) 다운로드

압축을 풀면 mod_security.so, security.conf 파일이 나오는데 각각 아파치가 설치된곳의 modules

폴더, conf 폴더에 복사해준다. 그뒤 security.conf 파일을 열어

SecFilter "/아파치가 설치된 경로"
SecFilter "/아파치가 설치된 경로/bin"

이부분을 각자의 환경에 맞춰 변경한다. 다음은 httpd.conf 파일을 열어 아래부분을 추가해준다.

# 보안설정 security_module
LoadModule security_module modules/mod_security.so
<IfModule mod_security.c>
Include conf/security.conf
</IfModule>


2. mod_bandwidth 모듈 설치방법

 위와 동일하게 아래의 링크에서 다운로드를 받아 modules 폴더에 압축을 풀어준다.

 mod_bandwidth 0.6(win32) 다운로드

그리고 httpd.conf파일을 열어 아래의 구문을 추가해준다.

# 대역폭 제한
LoadModule bw_module modules/mod_trs.dll
BandWidthModule On
LargeFileLimit * 1024  280000

LargeFileLimit 부분의 1024 280000가 의미하는것은 1Mb가 넘어가는 크기의 파일 전송시 280kb

의 속도로 전송속도를 제한하라는 뜻이다. 사용자의 환경에 맞춰 이부분을 수정해주면 되겠다.

모두 끝낸뒤 아파치를 재시작하고 만약 작동이 제대로 되지 않는다면 커맨드콘솔에서 apache -S

명령으로 httpd.conf 파일이 제대로 설정되어있는지 확인해본다. Syntax OK가 뜨면 이상없는것이다.