Security/ModSecurity

[ModSecurity 2.9] Apache + ModSecurity OWASP 룰셋 적용 (IDS, ModSecurity SQL Injection, modsecurity detection mode)

Nirsa 2020. 5. 29. 16:27
반응형

 

  • APache + ModSeucirty OWASP 룰셋 적용 (IDS, ModSecurity SQL Injection, modsecurity detection mode)

룰셋 적용 후 차단하는 방식(IPS)가 아니라, 탐지된 내용을 로깅만 하는 방식(IDS)으로 구성 합니다.

룰셋 적용 자체에 큰 어려움은 없기에 하나하나 자세히 설명하기보다는 코드블럭에 주석처리로 간단히 설명만 해두었습니다. 적용 이후에 공격을 시도하면 /var/log/httpd/modsec.log 파일에서 공격이 탐지되는것을 확인할 수 있습니다.

## OWASP 룰셋 설치
cd /etc/http
git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git

mkdir /etc/http/modsecurity.d
mkdir /etc/http/modsecurity.d/activated_rules

cd owasp-modsecurity-crs
mv crs-setup.conf.example /etc/http/modsecurity.d/crs-setup.conf

cd rules
mv ./* /etc/http/modsecurity.d/activated_rules/
cd /etc/http/modsecurity.d/activated_rules/
mv REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf
mv RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf

## OWASP 룰셋 적용
vim /etc/http/conf.d/mod_security.conf
<IfModule mod_security2.c>
        Include /etc/httpd/modsecurity.d/crs-setup.conf # 반드시 아래 *.conf보다 위로 올라와야 합니다.
        Include /etc/httpd/modsecurity.d/activated_rules/*.conf
        SecRuleEngine DetectionOnly # On으로 설정할 경우 차단까지 되며, DetectionOnly로 해주어야 탐지만 합니다.
        SecAuditEngine On
        SecAuditLog /var/log/httpd/modsec.log
        SecAuditLogType Serial
        SecRequestBodyAccess on
        SecAuditLogParts ABIJDFHZ
        SecDataDir /tmp/mod_data
</IfModule>
:wq

vim /etc/http/conf/httpd.conf
LoadModule security2_module modules/mod_security2.so  ## 전 57라인에 넣었습니다.
:wq

systemctl restart httpd

 

반응형