웹방화벽 모드시큐리티 오류

웹방화벽 모드시큐리티 오류

QA

웹방화벽 모드시큐리티 오류

본문

에러로그에서 

[15/Apr/2014:10:20:58 +0900] [www.도메인/sid#2b87c5de8998][rid#2b87ccacf820][/1530608][2] Warning. Match of "rx ^OPTIONS$" against "REQUEST_METHOD" required. [file "/etc/httpd/modsecurity.d/modsecurity_crs_21_protocol_anomalies.conf"] [line "41"] [id "960015"] [msg "Request Missing an Accept Header"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/MISSING_HEADER"]

이런오류때문에 

웹방화벽 로그 확인해보니

SecRule &REQUEST_HEADERS:Accept "@eq 0" \
    "chain,phase:2,skip:1,t:none,log,auditlog,msg:'Request Missing an Accept Header', severity:'2',id:'960015',tag:'PROTOCOL_VIOLATION/MISSING_HEADER'"

이거때문인데 이거 무슨문제일까요?

이 질문에 댓글 쓰기 :

답변 1

mod_security 는 너무 복잡해서 잘 안 쓰는데, 그냥 제가 분석한 기준으로 설명 드리겠습니다.

mode_security 에서 해당 룰 부분입니다.

SecMarker BEGIN_ACCEPT_CHECK

	SecRule REQUEST_METHOD "!^OPTIONS$" \
    		"skipAfter:END_ACCEPT_CHECK,chain,phase:2,rev:'1',ver:'OWASP_CRS/2.2.9',maturity:'9',accuracy:'9',t:none,block,msg:'Request Missing an Accept Header',severity:'5',id:'960015',tag:'OWASP_CRS/PROTOCOL_VIOLATION/MISSING_HEADER_ACCEPT',tag:'WASCTC/WASC-21',tag:'OWASP_TOP_10/A7',tag:'PCI/6.5.10'"
		SecRule &REQUEST_HEADERS:Accept "@eq 0" "t:none,setvar:'tx.msg=%{rule.msg}',setvar:tx.anomaly_score=+%{tx.notice_anomaly_score},setvar:tx.%{rule.id}-OWASP_CRS/PROTOCOL_VIOLATION/MISSING_HEADER-%{matched_var_name}=%{matched_var}"
	SecRule REQUEST_METHOD "!^OPTIONS$" \
    		"chain,phase:2,rev:'1',ver:'OWASP_CRS/2.2.9',maturity:'9',accuracy:'9',t:none,block,msg:'Request Has an Empty Accept Header',severity:'5',id:'960021',tag:'OWASP_CRS/PROTOCOL_VIOLATION/MISSING_HEADER_ACCEPT'"
		SecRule REQUEST_HEADERS:Accept "^$" "t:none,setvar:'tx.msg=%{rule.msg}',setvar:tx.anomaly_score=+%{tx.notice_anomaly_score},setvar:tx.%{rule.id}-OWASP_CRS/PROTOCOL_VIOLATION/MISSING_HEADER-%{matched_var_name}=%{matched_var}"

SecMarker END_ACCEPT_CHECK

SecRule 960015 으로 차단되었는데, 해당 내용은 Http request Header중에서 Accept 헤더값이 0 일때 발생하도록 설정해둔것 같음.(아마 없는 경우도 0일듯)
보통 브라우져에서 요청을 보내면 
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8  로 header값이 전송됩니다.
이 값이 없는걸로 봐서 파싱 프로그램 같은게 아닐까 생각되네요.

헤더값을 제대로 만들어서 보내면, 문제가 없을것 같네요.



답변을 작성하시기 전에 로그인 해주세요.
전체 123,995 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT