ModSecurity 란?

오픈 소스 웹 응용프로그램 방화벽(WAF)입니다. 원래는 아파치 모듈로 개발되었지만, Apache 뿐만 아니라 Microsoft IIS 및 NGINX 를 비롯하여 다양한 플랫폼 전반에 걸쳐 다양한 보안 기능과 함께 Hypertext Transfer Protocol 요청 및 응답 필터링 기능을 제공합니다.
ModSecurity 는 웹 공격에 대한 침임 탐지 및 침입 방지 기능을 추가해주는 하나의 모듈로 동작하며, 웹 클라이언트와 웹 서버 사이에 ModSecurity 가 존재하여 클라이언트로부터 악의적인 접속 요청이 발견되면 공격차단, 로깅 등 사전에 정의된 행위를 수행합니다.

ModSecurity 의 주요 특징
1. 요청(request) 필터링
클라이언트로부터 웹 요청이 들어올 때, 웹서버 또는 다른 모듈들이 처리하기 전에 ModSecurity 가 요청 내용을 분석하여 필터링합니다.

2. 우회 방지 기술
경로와 파라미터를 분석하기 전에 정규화시켜 우회 공격을 차단합니다.
즉, “//”, ”\/”, “.”, “%00” 등 우회 공격용 스트링을 제거하고, 인코딩된 URL을 디코딩합니다.

3. HTTP 프로토콜 이해
엔진이 HTTP 프로토콜을 이해하기 때문에 전문적이고 정밀한 필터링을 수행할 수 있습니다.

4. POST 페이로드(payload) 분석
GET 방식 뿐만 아니라 POST 메소드를 사용해서 전송되는 컨텐츠도 분석이 가능합니다.

5. 감사 로깅
POST 를 포함하여 모든 요청의 모든 상세한 부분들까지 추후 분석을 위해서 로깅될 수 있습니다.
ModSecurity 에서 차단 기능을 비활성화 시킨 후, 강력한 로깅 기능만으로 침입 탐지 시스템 역할을 수행할 수 있도록 합니다.

6. HTTPS 필터링
엔진은 웹서버에 임베디드되어있기 때문에 복호화한 후에 요청 데이터에 접근하여 HTTPS 를 통한 공격도 필터링할 수 있습니다.

Microsoft IIS 서버 환경에 Modsecurity 설치하기

1. ModSecurity 설치 전
Visual C++ 재배포 가능 패키지 설치
(https://www.microsoft.com/ko-kr/download/details.aspx?id=40784)

2. for IIS msi Installer 설치
ModSecurity v2.9.1 for IIS MSI Installer – 32bits
(https://www.modsecurity.org/tarball/2.9.1/ModSecurityIIS_2.9.1-32b.msi)

ModSecurity v2.9.1 for IIS MSI Installer – 64bits
(https://www.modsecurity.org/tarball/2.9.1/ModSecurityIIS_2.9.1-64b.msi)

 

 

references:
(1) https://en.wikipedia.org/wiki/ModSecurity
(2) http://www.modsecurity.org/
(3) https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual
(4) ModSecurity를 활용한 아파치 웹서버 보안 강화 가이드 [한국정보보호진흥원(KISA)] (5) https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project