<5BC0DBBEF7C1DF5D B6E B7CEB1D7BAD0BCAE20BEC8B3BBBCAD2E687770>

Similar documents
제 개정이력 순번 제 개정일 변경내용 발간팀 연락처 제정 이용자보호팀 개정 웹보안지원팀

untitled

Secure Programming Lecture1 : Introduction

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

Windows 8에서 BioStar 1 설치하기

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

WebKnight를 활용한 IIS 웹서버 보안

0. 들어가기 전

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Chapter 1

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

PowerPoint Template

NTD36HD Manual

4S 1차년도 평가 발표자료

untitled

PowerPoint Template

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

Remote UI Guide

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

System Recovery 사용자 매뉴얼

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

PCServerMgmt7

10X56_NWG_KOR.indd

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

Microsoft Word - src.doc

1217 WebTrafMon II

Sena Device Server Serial/IP TM Version

untitled

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2003) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2003 Exchange Server 2003 GFI MailEssentials 2010 fo

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

ISP and CodeVisionAVR C Compiler.hwp

EDB 분석보고서 (04.06) ~ Exploit-DB( 에공개된별로분류한정보입니다. Directory Traversal users-x.php 4.0 -support-x.php 4.0 time-

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

chapter4

DocsPin_Korean.pages

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월

Orcad Capture 9.x

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host) 서버 설정... 9 W7CLIENT (Windows 7 Client) 클라이얶트 설정

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

SKINFOSEC-CHR-028-ASP Mssql Cookie Sql Injection Tool 분석 보고서.doc

PowerPoint Presentation

초보자를 위한 ASP.NET 2.0

게시판 스팸 실시간 차단 시스템

Cloud Friendly System Architecture

Solaris Express Developer Edition

bn2019_2

DE1-SoC Board

EndNote X2 초급 분당차병원도서실사서최근영 ( )

Backup Exec

K7VT2_QIG_v3

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - qmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i qmail 1.03 spf-filter 년 6 월

Studuino소프트웨어 설치

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

View Licenses and Services (customer)

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

단계

PowerPoint Presentation

VPN.hwp

공개웹방화벽 WebKnight 3.1 사용설명서

Portal_9iAS.ppt [읽기 전용]


EDB 분석보고서 (04.03) ~ Exploit-DB( 에공개된별로분류한정보입니다. ** 5개이상발생한주요소프트웨어별상세 EDB 번호 종류 공격난이도 공격위험도 이름 소프트웨어이름 3037 SQL Inj

Webtob( 멀티도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

The Pocket Guide to TCP/IP Sockets: C Version

LXR 설치 및 사용법.doc

Cache_cny.ppt [읽기 전용]

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

BEA_WebLogic.hwp

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결

제목 레이아웃

PowerPoint 프레젠테이션

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서

TTA Journal No.157_서체변경.indd

MAX+plus II Getting Started - 무작정따라하기

아래 항목은 최신( ) 이미지를 모두 제대로 설치하였을 때를 가정한다

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

WebKnight 안내서_090427_name_fixed.hwp

Interstage5 SOAP서비스 설정 가이드

Sun Java System Messaging Server 63 64

Secure Programming Lecture1 : Introduction

Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인 웹 확장 아키텍처는 높은 수준의 안정성을 보장하기 위해 복잡한 솔루션으로 구현

6강.hwp

76 XSS 하 Huge-IT Slider admin.php XSS

Apache install guide

PowerPoint 프레젠테이션

슬라이드 1

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

목차 1. 사전준비 mod_ssl OpenSSL 인증서파일 2. 주의사항 신규및갱신구분 CSR 직접생성여부 3. 인증서설치 httpd.conf 설정 httpd-ssl.conf 설정 갱신설치 서비스재시작 4. 확인및테스트 서비스구동확인 네트워크상태확인 방화벽확인 실제브라

SAS9.2_SAS_Enterprise_Miner_install_guide_single_user_v2

untitled

ARMBOOT 1

Transcription:

WebKnight 로그분석안내서 2009.06./ 인터넷침해사고대응지원센터 1. 개요 WebKnight를설치하여사용하고있는많은사용자들이공통적으로겪는어려움이바로 WebKnight 로그분석이다. 처음 WebKnight를웹서버에적용하게되면해당시스템과웹어플리케이션에최적화작업이반드시필요하다. 이때로그분석은커스터마이징작업의시작이며장애처리및문제해결, 사고분석에도근본적인도움이된다. 2. WebKnight 로그형식 WebKnight 로그파일은 "<WebKnight 설치경로 >\LogFiles\YY.MM.DD.log" 와같은형식으로저장된다. 혹은 WebKnight 설정 > Logging 섹션 > Log Directory 옵션의 Textbox에특정경로를지정하였다면해당경로에 YY.MM.DD.log 형식으로저장이될것이다. WebKnight의개발사에서는로그파일을 GUI 형식으로분석할수있도록 LogAnalysis라는프로그램을제공한다. 아래는 LogAnalysis를이용해로그파일을불러온모습이다. - 1 -

로그파일의형식을살펴보면다음과같이구성되어있다. Date / Time / Site Instance / Event / Client IP / Username / Host header / Additional info about request (event specific) 위항목은 값들이며 Logging 섹션에서추가항목을설정할수있다. 다음표는각필드에대한설명이다. ( 음영 : Custom Option) 필드 설명 Date YY-MM-DD 형식으로기록, 연월일을표시 Time HH:MM:SS 형식으로기록, 시분초를표시 Site Instance 사이트고유식별코드 Event ISAPI 필터에의해발생하는각이벤트명 Client IP 사용자 IP Username 로그인한클라이언트의사용자이름 ia header Client가 Proxy를사용할경우 Request의원위치를알려줌 HTTP_X_FORWARDED_FOR 특정 Proxy (NetCache 등 ) 는 Request의소스 IP를이헤더에기록한다. Host header 호스트헤더 User agent 사용자의접속도구 Additional info... 그외추가적인모든내용기록 3. WebKnight 로그분석 WebKnight 기본로그 #Software: AQTRONIX WebKnight 2.2 #Date: 2009-03-13 17:04:59 #LogTime: LocalTime (GMT+09:00) #Fields: Date ; Time ; Site Instance ; Event ; Client IP ; Username ; Host header ; Additional info about request (event specific) 2009-03-13 ; 17:04:59 ; AQTRONIX WebKnight loaded 2009-03-13 ; 17:04:59 ; INFO: Settings loaded from file: WebKnight.xml 2009-03-13 ; 17:04:59 ; INFO: To check if loaded correctly, you can have a look at the currently loaded settings in the file 'Loaded.xml' (start config.exe and open this file). 2009-03-13 ; 17:04:59 ; INFO: Firewall is installed as high priority (very secure) 2009-03-13 ; 17:04:59 ; INFO: Firewall will process raw data because it is a global filter (OnReadRawData event) 2009-03-13 ; 17:04:59 ; WARNING: If the firewall fails to load (red arrow down), make sure it is installed as a global filter or uncheck 'Is Installed As Global Filter' in Global Filter Capabilities (needs a restart) 2009-03-13 ; 17:04:59 ; INFO: HTTP traffic will be monitored 2009-03-13 ; 17:04:59 ; INFO: HTTPS traffic will be monitored 위로그는 WebKnight를처음설치하여필터가로드되면생성되는메시지이다. WebKnight의버전과날짜, 시간, 설정되어있는각필드정보들이서두에나타나고이후 WebKnight가로드되었다는메시지가기록된다. WebKnight가언제로드되었는지, 설정파일은무엇인지, 방화벽우선순위와현재동작모드 - 2 -

등의정보를알수있다. 여기서주의깊게볼것은아래의두문장이다. INFO: Firewall will process raw data because it is a global filter (OnReadRawData event) WARNING: If the firewall fails to load (red arrow down), make sure it is installed as a global filter or uncheck 'Is Installed As Global Filter' in Global Filter Capabilities (needs a restart) 첫번째 INFO 메시지는 방화벽이 raw data 를처리할수있는 Global filter 모드 라고설명하고있고, 두번째 WARNING 메시지는 만약방화벽이로드에실패했을경우 Is Installed As Global Filter' 옵션을해제 하라는내용이다. 이에대한내용은 WebKnight 설치운영안내서 p.12에 IIS 아키텍쳐에따른필터링의차이 에설명되어있다. 위로그는 Windows 2003 Server의 IIS 5.0 격리모드에적용한 WebKnight의로그이다. Log Analysis 앞서 LogAnalysis 의구동화면을살펴보았다. 여기서는 LogAnalysis 의각기능과사용법에대해서알아보자. LogAnalysis는크게두화면으로나뉘며상단의화면에서는각필드데이터에따라분류되어값을표시해주고있으며, 하단화면에서는현재선택한열의상세데이터를보여준다. 제목표시줄에는현재로드한파일명이함께나타나며, 상태표시줄에는로드한로그파일이작성된 WebKnight버전과날짜, 시간이표시된다. 상태표시줄우측에는 Log entries라는항목이보이는데총열의개수를의미한다. LogAnalysis 가제공하는기능은크게 Whois Lookup, Dns Lookup, Filter 3 가지가있다. - 3 -

Whois Lookup Whois Lookup 기능을통해 LogAnalysis에서 Whois 조회가가능하다. 기존에등록되어있는 WHOIS Server 5개목록외에위와같이직접한국인터넷진흥원의 Server URL을입력하여질의할수도있다. 실행은 'Edit > Whois Lookup' 또는, 하단화면상에서마우스오른쪽버튼클릭후 Whois Lookup' 을실행하면된다. DNS Lookup - 4 -

DNS Lookup 기능역시간단히도메인을이용한호스트 IP를질의할수있으며실행방법은 Whois Lookup 기능과동일하다. Filter Filter 기능에는 Add, Clear 두가지가있는데 Add를통해다중필터링을할수있으며 Clear를이용해서필터링된결과를초기화시킨다. Filter 기능을이용해정렬된로그는 LogAnalysis에서화면상에만정렬된것이며실제로그파일이필터링된것은아니다. 다음은 Filter를이용한다중필터링작업을진행하는화면이다. 최초로그파일을로드하였을시 Log entries는 83개이다. Filter 기능을이용해 server error나 client error 등과같은불필요한로그를필터링한다. NOT containing( 포함하지않는 ) 을선택한뒤키워드 error' 가포함된로그는모두제외하고정렬하도록한다. 완료되면아래와같이 log entries의숫자가변경된다. 이후 SQL 쿼리와관련된로그만필터링하기위해 iew > Filter > Add' 를클릭하여 'Containing' 을선택한뒤 SQL' 을입력한다. 아래는결과화면이다. - 5 -

SQL 키워드가포함된로그내용만정렬이되었다. 이와같이필요한로그와불필요한로그를선별하여분석이나커스터마이징시용이하게활용할수있다. WebKnight Event OnPreprocHeaders 서버가클라이언트헤더를선처리하였을때나타나는이벤트이다. OnUrlMap 요청된 URL 자원을분석한다. - 6 -

OnSendRawData 브라우저로보내려하는실제데이터 (text/html, image/gif) 등의신호를보내거나전송될때나타나는이벤트이다. OnReadRawData 헤더와데이터를모두포함한 raw data를분석한다. 이이벤트는 WebKnight 설정의 Is Installed as Global Filter' 옵션의활성화상태에서만나타나는이벤트로 Site Instance에는 GLOBAL' 로기록된다. WebKnight Additional info about request WebKnight 로그에서가장상세한정보를담고있는부분이 Additional info about request이다. WebKnight에의해발생하는로그종류로는 6가지가있으며각각의특징을살펴보자. BLOCKED WebKnight의가장핵심로그로룰과일치하였을때기록되는차단메시지. BLOCKED 메시지를통해실제커스터마이징작업이이루어진다. WARNING 공격은아니지만공격으로판단될수있는징후가탐지될시기록되는경고메시지, WARNING 로그는메시지가발생할동일한상황이더라도단독으로는로그가남지않는다. 위의 BLOCKED 로그나다른종류의로그와함께 2가지이상이발생할경우메시지가기록된다. - 7 -

MONITORED 모니터링이설정된 IP 등의 Request가탐지되면해당메시지를통해관리자에게알려준다. INFO 사용자에게간단한정보를전달하기위한로그이다. INFO 메시지는 WARNING 메시지와다르게 Client, Server의 Error 로인한로그가발생했을때에만기록된다. Server Error Log 사용자의 Request를올바르게처리하지못해발생하는 IIS의 5xx 에러로그를 WebKnight 로그에도기록한다. 작은확률이지만 Server Error Log를이용한 SQL Injection 공격시도를탐지할수도있다. - 8 -

Client Error Log Client Error는사용자측의입력실수등으로발생하는 IIS의 4xx 에러로그를기록한다. 불필요한로그가과다하게발생한다면 Logging 섹션 > Log HTTP Client Errors를체크해제한다. 4. WebKnight Configuration Customizing WebKnight 설정화면 - 9 -

위화면은 WebKnight 설정파일인 WebKnight.xml 파일을설정도구인 Config.exe 로불러온화면이다. 커스터마이징작업에앞서로그분석후각옵션을설정하는데익숙해지기위해간단히구성을살펴보자. 에체크되어있는부분은개발사가지정한기본설정이라는표시로 WebKnight.xml 파일의최초설정이다. 사용자가임의로변경하지못하기때문에신경쓰지않아도무방하며실제설정하는부분은좌측의체크박스이다. 일반적인옵션은체크박스와함께옵션의이름이나타나고하단에간단한설명이되어있다. 이외에위화면에서 Deny Characters' 와같이텍스트박스에값을입력하는방식과 'Use Allowed Paths' 처럼하위에키워드리스트를보유하고있는옵션들이있다. 로그분석시매칭된키워드가표시되는경우는키워드리스트나텍스트박스에서검색하여수정하면된다. AQTRONIX.COM Log file entries 로그메시지별설정법을다루기앞서 WebKnight 개발사인 AQTRONIX사홈페이지의로그엔트리를먼저살펴보겠다. 일부를발췌하였으며 설명 부분은실제 원문 에추가적인내용을포함한다. 로그 원문 설명 CONNECT ; BLOCKED: HTTP ERB 'CONNECT' not allowed ; ; HTTP/1.0 ; mx1.mail.yahoo.com:25 ; BLOCKED: URL not in allowed list Some spammer is trying to send spam via the HTTP tunneling technique. This is not supported by IIS. It is supported by Apache, but only if you enable the particular plug-in. Nothing to worry about. HTTP 터널링기술을이용해스팸메일을보내려하고있다. Apache에의해동작이가능하며큰위험은없다. 로그 /sumthin ; C:\InetPub\wwwroot\sumthin ; BLOCKED: accessing/running 'sumthin' file ; 원문 설명 Someone is probing you with some tool, this tool does a request for an unexisting page and the response (normally a 404 Not Found page) is analysed to determine what web server you are running. WebKnight blocks this particular request by default. 툴을이용해웹서버정보를수집하기위한시도로볼수있다. 하지만이외에차단키워드가파일중간에포함되어있는오탐의경우도빈번히발생한다. 로그 원문 설명 BLOCKED: Not in allowed path list You need to add the folder following this entry to your allowed paths. Open the config utility and go to the section Mapped Path, then in the allowed path list, add the above folder and save your file if you want to allow this path to be available for your web server. 허용하고자하는폴더목록에해당폴더를추가해야한다. 설정파일을열어 'Mapped Path' 섹션에 'allowed path list' 옵션이존재하며이곳에폴더를추가한뒤저장하면된다. 로그 BLOCKED: Encoding exploit in cookie (abuse of: '%00' or '%u0000') 원문 those are common encoding exploits by injecting the NULL terminating character (which terminates the string prematurely) 설명 NULL 문자열삽입을이용한 Encoding exploit이탐지된경우. - 10 -

로그메시지별분석방법 WebKnight 운영간발생하는로그의종류와다양한룰설정때문에커스터마이징작업이쉽지만은않다. 여기서는 WebKnight에서주로발생되는로그를분석하는방법과적절한설정법을살펴보기로하자. 참고 - : WebKnight 설정, : 설정여부, O: 항시설정된상태 로그 설명 옵션 BLOCKED: <script' not allowed in querystring Querystring 에서허용되지않은문자열이포함되었기때문에나타나는차단메시지 Querystring 섹션 > Use Denied Querysting Sequences 설정 TIP 해당키워드가홈페이지에서사용하는정상적인 Querystring 값이라면키워드수정또는삭제 로그설명옵션 설정 TIP BLOCKED: /admin' not allowed in URL 현재 URL에허용되지않은문자열이포함되어있는경우차단메시지 URL Scanning 섹션 > Use Denied Url Sequences 관리자페이지를일반적으로 /admin 과같은 URL 을많이사용한다. 이는유추하기쉽기때문에불필요한사용자들의접근이가능해지므로관리자페이지는별도의 url 을사용하는것이좋다. 로그 BLOCKED: Content-Type 'text/html' not allowed 설명 Content-Type이허용되어있지않아차단된메시지 옵션 v2.1 이하 : Header 섹션 > Use Allowed Content Types v2.2 이상 : Content-Type 섹션 > Use Allowed/Denied Content Types 2.1 이하버전에서는허용리스트만설정가능했으나 2.2 버전부터는허용 / 차단리스트를설정설정 TIP 하여관리할수있다. 사용시둘중한가지만선택하여설정하는것이좀더효율적 로그 BLOCKED: User Agent not allowed 설명 사용자가접속한 User Agent가허용되어있지않아차단된메시지 옵션 Robots.xml 파일을편집해야함. 설정 TIP 별도설명 로그 BLOCKED: accessing/running 'com1' file 설명 실행또는접근하려고하는파일에허용되지않은문자열이포함되어차단된메시지 옵션 Requested File 섹션 > Use Denied Files / Use Denied Extensions 설정 TIP 위두옵션에대한차단메시지가동일하므로차단된문자열이파일명인지확장자인지구분해야함 - 11 -

로그 BLOCKED: Header 'User-Agent:' too long 설명 헤더의 User-Agent 항목에설정된수치를넘는요청이들어왔을경우 옵션 Request Limits 섹션 > Use Max Headers 설정 TIP 위섹션에서는각항목별로한계치를설정할수있다. 값이너무작거나크지않게수정 로그 BLOCKED: = not allowed in path 설명 경로명에허용되지않은문자열이포함되어차단 옵션 Mapped Path 섹션 > Deny Characters 설정 TIP 위옵션은텍스트박스에설정된값을수정해줘야한다. O O O 로그설명옵션 설정 TIP BLOCKED: Not in allowed path list 'c:\inetpub\shop' 허용하고자하는 Path 목록에등록되지않은경로로접근하여차단된메시지 Mapped Path 섹션 > Use Allowed Paths 허용하고자하는 Full Path를입력하며하위폴더까지포함하고싶을땐해당폴더의 Root 경로를입력한다. ex) 'C:\Web\Site_1\bbs' bbs 폴더에만접근가능하며 Site_1의다른폴더는접근불가 C:\Web\Site_1\' Site_1의하위폴더에모두접근가능 로그 BLOCKED: '<' not allowed in filename 설명 파일명에허용되지않은문자열이포함되어차단 옵션 Requested File 섹션 > Deny Filename Characters 설정 TIP Path 설정과마찬가지로텍스트박스의값을수정하면된다. O O O 로그 BLOCKED: HTTP ERB not allowed 설명 허용되지않은 Method를사용하여접근하였기때문에차단 옵션 Methods 섹션 > Use Allowed erbs 허용하고자하는 Method를관리할때는위옵션을사용하며차단하려는 Method를관리할설정 TIP 때는 Denied erbs 옵션을사용한다. 로그 MONITORED: IP address (previous alert) 설명 한번 WebKnight에의해필터링이발생한 IP는이후의접근은모두모니터링된다. 옵션 Incident Response Handling 섹션 > Response Monitor IP 설정 TIP 본옵션은완벽하게커스터마이징을마친뒤에설정하는것이바람직하다. - 12 -

로그 BLOCKED: Possible SQL injection in data 설명 POST값을이용한폼데이터중에 SQL Injection 공격이가능한키워드가 2개이상매치된경우 옵션 SQL Injection 섹션 > 키워드관리 Global Filter Capabilities 섹션 > Deny Postdata SQL Injection SQL Injection 공격은각섹션별로 Query가유사하기때문에 WebKnight에서는섹션을별도 로두어키워드를관리하고, 이를적용하려면각해당섹션의 SQL Injection 옵션을 Enable 설정 TIP 해주면된다. SQL Injection 섹션에등록되어있는키워드가 2개이상이매치되어야하기때 문에커스터마이징을위해서는 Request내에서매치된키워드가어떤것인지찾아야하는번 거로움이있다. 로그 BLOCKED: %u' not allowed in headers 설명 Header에허용되지않은문자열이매치되어차단된메시지 옵션 Headers 섹션 > Use Denied Headers Sequences 설정 TIP '%u' 는인코딩문자열에포함되어오탐지의경우가많다. 정상적인사용이어려울경우삭제 로그 BLOCKED: URL is not RFC compliant! 설명 URL의내용이 RFC 규약을따르지않아차단된메시지 옵션 URL Scanning 섹션 > RFC Compliant Url 설정 TIP 한글유니코드표현은 RFC 규약에맞지않으므로 RFC관련옵션은모두비활성화하는것이좋다. 로그 BLOCKED: Encoding exploit in cookie (embedded encoding) 설명 쿠키값에인코딩된 Exploit이탐지되었을경우차단된메시지 옵션 v2.1 이하 : Headers 섹션 > Deny Cookie Encoding Exploits v2.2 이상 : Cookie 섹션 > Deny Cookie Encoding Exploits Exploit 이란취약점을이용한공격코드나문자열등을일컫는용어로써이를 Encoding하여 설정 TIP 공격을시도할수있으나한국에서는보통검색엔진이나포털사이트를이용한한글검색결 과의 Referer 정보로오탐지가자주발생한다. GET /dcontent.asp tb=data1&id=33&page=1&block=0'%20and%20char(124)%2buser%2bchar(124)=0%20and %20''=' 로그 BLOCKED: Possible SQL injection in querystring BLOCKED: 'char(' not allowed in querystring BLOCKED: ''='' not allowed in querystring 설명 위와같은경우는실제 SQL Injection 공격에대한정상차단된로그이다. 옵션 Querystring 섹션 > Use Denied Querystring Sequences char(' 의경우는 설정에존재하지않는키워드이므로별도로추가해줘야한다. 위형설정 TIP 태는자동화도구를이용한 SQL Injection 공격을시도하는로그이다. - 13 -

그외설정팁 Robots.xml - Web Agent Database 사용자가접속하는웹브라우저나클라이언트도구등을 User-Agent라고하며, 이 User-Agent값을이용해어떤브라우저로접속하였는지어떤도구를이용해접근하였는지판단할수있다. WebKnight는이런 User-Agent에대한정보를 Database화하여제공하고있는데 Robots.xml이바로그것이다. Robots.xml은 WebKnight와마찬가지로여러섹션으로구분되어있다. User-Agent에대한차단메시지는두가지경우가있으며각뜻은아래와같다. 로그 BLOCKED: User Agent not allowed 옵션 해당섹션 > User Agents 섹션명 설명 해당섹션의차단하고자하는 Full User-Agent 값 로그 옵션 설명 BLOCKED: ' 매칭된키워드 ' not allowed in User Agent 해당섹션 > User Agents ' 섹션명 Sequences 해당섹션의차단하고자하는각키워드 Full User-Agent 값이란 MSRBOT (http://research.microsoft.com/research/sv/msrbot/) 과같은 User-Agent의전체값을얘기하는것이고각키워드는 MSRBOT', 'research/sv/msrbot' 처럼개별적인키워드리스트를말하는것이다. - 14 -

그러므로첫번째항목과같은로그메시지가기록되었다면 User-Agent 의값을보고해당섹션에서동일한전체 User-Agent 값을찾아수정해줘야하며, 두번째로그메시지의경우는로그에나타난키워드를해당섹션의 Sequences 옵션에서찾아수정해주면된다. 다음의예를보며 User-Agent 의설정법을살펴보자. Date: 2008-06-16 ; Time: 17:17:59 ; Site Instance: W3SC4 ; Event: OnPreprocHeaders Client IP: xxx.xxx.xx.175 ; Username: ; Additional info about request (event specific): GET / ORAW=%EC%96%BC%EB%A7%88%EC%97%90%EC%9A%94&OKEY=%EC%96%BC%EB%A7%88%20%EC%9 7%90%EC%9A%94&OMTC=standard&OADID=5747216042&OKWID=75668591542 HTTP/1.1 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; S1; User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; S1; http://bsalsa.com).net CLR 2.0.50727;.NET CLR 3.0.04506.648;.NET CLR 3.5.21022) BLOCKED: 'user-agent: mozilla' not allowed in User Agent 위로그에서는 user-agent: mozilla' 라는키워드가 User-Agent 값에포함되어차단된것이다. 이키워드가 robots.xml 파일내어떤섹션에분류되어있는지는 WebKnight 개발사홈페이지를이용해검색할수있다. AQTRONIX 홈페이지 (http://www.aqtronix.com) 로접속하면아래와같은화면이나타난다. 좌측 User Agents라는메뉴하위에 Lookup 메뉴를클릭하면다음과같은 User-Agent 검색화면이나타난다. 아래네모박스에찾고자하는 User-Agent 키워드를입력한뒤 Search를클릭한다. - 15 -

검색결과중에가장유사한 User-Agent 를클릭하여정보를살펴보자. 해당 User-Agent의세부정보를보면 User-Agent값의예시와간략한설명등이나타나있는데이중에 Type 값이바로 Robots.xml 파일에서의섹션명이다. Robots.xml 파일을열어 'Other Bad' 섹션으로이동한뒤 User Agents Other Bad Sequences' 목록에서해당키워드를검색한다.( 검색시정확히일치하는문장을입력해야함.) 이와같은방법으로 User-Agent를검색하여수정하면되지만기본적으로 Robots.xml에등록되어있는 Agent값들은악의적인 Agent로분류되어등록된것이기때문에수정전에는충분한검토가필요할것이다. - 16 -

Local Time 설정과 Per Process Logging 해제 WebKnight를설치하였으나로그를보면현재시스템의시간과다르게나타나는경우가있다. 이것은 GMT 사용을 로갖고있는 WebKnight 설정때문이며해당옵션을 Disable하면현재시스템의시간과동기화되어로그가저장된다. 또한같은날짜의로그파일이숫자로된폴더별로중복생성되는경우가있는데이것은 WebKnight 설정으로인해 IIS를재시작하거나프로세스 ID가변경될때마다해당 PID별로로그가생성되는것이다. 다음옵션을 Disable 해주면된다. 5. 마치며.. 커스터마이징시어려운부분이있다면서비스에대한가용성과기밀성, 두가지관점중어떤부분에더중점을둘것인가하는부분이다. 이것은관리자의판단에따라크게달라질수있는데커스터마이징을위해 WebKnight를 Log Only모드로설정할경우실제차단정책에매치되더라도 Pass 하게된다. 이경우서비스가용적인면에서는영향을주지않으면서설정을조정할수있는장점이되는반면, 실제공격이일어나면이또한허용되기때문에웹서버보안에는치명적일수있다. 또, 커스터마이징기간을길게잡게된다면그만큼정책을최적화할수는있겠지만서비스를이용하는사용자의불편이나혹은외부공격에대해노출되는기간역시길어지게될것이다. 그리고한가지더주의해야할점은룰설정을얼마나정밀하게할것인지, 느슨하게할것인지이다. 앞서설명한부분중 User-Agent에대한설정을예로들면 Robots.xml파일은단순한 Web-Agents Database 파일이아닌악성스파이웨어나악의적으로활용될수있는 Open Library 정보등을포함하고있다. 그런데정상적인사용자가웹사이트에접속할수없는원인이 User-Agent에의한문제였다면이같은경우차단되었다고해서해당 Agent에대한정보를삭제하는것은또다른위험을가져올수있다. 이러한경우가커스터마이징시관리자를어렵게만드는부분중의하나가될것이다. WebKnight의적용테스트는테스트머신이나가상환경에서도얼마든지가능하다. 하지만커스터마이징작업은실제서비스중인환경에서수행하지않으면큰효과가없다. 이때문에어려운점들이많을수있겠지만이때본안내서를통해여러가지문제점들을해결하고최적화작업을위해조금이나마도움을얻을수있길바란다. 지금까지 WebKnight의로그분석방법과커스터마이징방법등을설명하였다. WebKnight의옵션이매우방대해보이지만실제몇가지구성을익히게된다면각 Request 별로그리고각섹션별로유사한옵션들이많다. 그중각섹션별유일한옵션들과 WebKnight의 Response 설정, Logging 설정등에대한부분만숙지한다면커스터마이징하는데큰어려움은없을것이다. - 17 -