반응형
- 웹서버(아파치) 방화벽
- mod는 module의 약자.
- rule 베이스이고, OWSAP top에 관련하여 web top 10 항목을 막는 rule을 따로 받아 설정이 가능함.
- 가이드 제공 : kisa -> TR-2008-003_ModSecurity_guide
접속할 페이지
- CentOS 6.7 아파치 웹서버
- mod_security_crs가 적용된 설정 상태
설치 가이드
1.modseucrity 설치 확인
- yum info mod_security
- 설치 x
2.yum 확장 패키지 설치
- yum -y install epel-release
3.mod_security 설치
- yum -y install mod_security
4.http 아파치 서버 restart
- service network restart
- 트러블 슈팅
/etc/hosts에 자신의 hostname 입력.
hyeonbell@localhost 여기서 hostname은 localhost가 된다.
기본적으로 localhost 이므로 기본인 경우 입력하지 않아도 된다.
OWSAP TOP 10 rule 설치
1.yum - y install mod_security_crs
2.httpd 서버 restart
- service httpd restart
- Forbidden 트러블 발생
정상적인 접근도 차단하게 됨.
rules 위치
- /etc/httpd/modsecurity.d/modsecurity_crs_10_config.conf
- activate rules 확인
- /etc/httpd/modsecurity.d/activated_rules/~~
Forbidden 트러블 슈팅
첫번째 방법으로, 실시간으로 먼저 접속을 하고 먼저 로그를 확인한다.
- tail -f /var/log/httpd/error_log
여기서 뜨는 룰번호의 몇 번쨰줄의 룰 때문에 Forbidden이 일어나는 지 확인한다.
1 2 3 4 5 6 7 8 9 10 11 12 | [Tue Oct 31 14:00:37 2017] [error] [client 192.168.100.190] ModSecurity: Access denied with code 403 (phase 2). Pattern match "^[\\\\d.:]+$" at REQUEST_HEADERS:Host. [file "/etc/httpd/modsecurity.d/activated_rules/modsecurity_crs_21_protocol_anomalies.conf"] [line "98"] [id "960017"] [rev "2"] [msg "Host header is a numeric IP address"] [data "192.168.100.190"] [severity "WARNING"] [ver "OWASP_CRS/2.2.6"] [maturity "9"] [accuracy "9"] [tag "OWASP_CRS/PROTOCOL_VIOLATION/IP_HOST"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"] [hostname "192.168.100.190"] [uri "/login.php"] [unique_id "WfjkdX8AAAEAABIZBCUAAAAB"] |
스크린샷
- 대충 반복되는 로그를 확인하면
- modsecurity_crs_21_protocol_anomalies.conf의 98번째줄의 룰이 forbidden을 뜨게하는것을 확인할 수있다.
- 이 부분을 주석 처리 한다.
두번째 방법으로 로그를 확인한 것에서, id를 확인한다.
확인한 아이디는 960017번으로 전체적인 modsecurity 설정에서 제외시켜 줄 수 있다.
- 전체 설정 파일
- /etc/httpd/conf.d/mod_security.conf
설정 파일에서 다음과 같은 룰을 추가하여 해당 룰 ID로 제외시켜준다.
- SecRuleRemoveByID 96017
반응형
'System > Linux' 카테고리의 다른 글
Linux/2-factor-Authentication/GoogleOTP사용하기 (0) | 2017.11.07 |
---|---|
Linux/Unix/파일 - 일반 파일, 장치 파일, 디렉토리 (0) | 2017.11.02 |
Linux/Log 도구/swatch를 이용한 email Boom (0) | 2017.10.31 |
Linux/Log 도구/Logwatch와 swatch (0) | 2017.10.31 |
Linux/Log 다루기/rsyslog (0) | 2017.10.31 |