반응형
-
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
반응형