정상적인 사용자들의 접속이 차단되고 이 때 WebKnight에서는 다음과 같은 로그가 남습니다.
 
02:03:28 ; W3SVC3 ; OnPreprocHeaders ; xxx.xxx.84.224 ; ; GET ; /xxx.asp ; s_kind=main&
query=adfasd&keyword=adfasd&nil_Search=btn&start=0&count=10&opt=1&cluster=2&convert=&
image_search.x=16&image_search.y=11 ; HTTP/1.1 ; BLOCKED: Header 'User-Agent:' too long ; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;Mozilla/4.0(Compatible Mozilla/4.0(Compatible-EmbeddedWB 14.57 http://bsalsa.com/ EmbeddedWB- 14.57 from: http://bsalsa.com/ ; EmbeddedWB 14.52 from: http://www.bsalsa.com/EmbeddedWB 14.52; InfoPath.1; .NET CLR 2.0.50727) ;RMID=3ae9cc2245842000; PCID=11662869034066763909805; RMFD=011H7j5jO2010h

로그에 정상 사용자들이 차단된 원인은 Header의 User-Agent 부분이 비정상적으로 길어 공격으로 간주했기 때문입니다.
 
WebKnight 설정에서 "Request Limits" 세션에서 "Use Max Headers" 가 디폴트로 enabel되어 있습니다. 그리고, 헤더에 들어가는 여러 항목들에 대한 최대 길이를 정의할 수 있는데 "User-Agent"가 256으로 기본 설정되어 있습니다.
 
사용자 삽입 이미지
 
일반적인 경우 이 부분에 256 바이트 이상이 되지 않지만 문제가 된 사용자의 경우 그 이상이어서 WebKnight에서 차단되었습니다. 차단된 사용자의 로그에서 헤더의 User-Agent 부분이 “ ~~~EmbeddedWB 14.52 from: http://www.bsalsa.com/ ~~~”로 표기되어 있는데, bsalsa라는 Embedded 웹 브라우져 패키지를 사용한 프로그램 또는 웹브라우져로 웹 접속을 한 사용자들이 차단되고 있는 것입니다.
 
이를 해결하기 위해 "Use Max Headers"를 disable하거나, Length 부분을 충분히 크게 설정해 주면 됩니다.
 

+ Recent posts