언제나 공사중!

  • 홈
  • 공지사항
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

'ISAPI'에 해당되는 글 5건

  1. 2006/10/07 WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #5
  2. 2006/05/15 WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #4
  3. 2006/05/11 WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #3
  4. 2006/05/09 WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #2
  5. 2005/09/23 WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #1

WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #5

일/프로그램 2006/10/07 09:57

 웹서버의 동작 사항과 사용자의 작업을 보는데 웹로그를 풀로 남기는 방법을 쓰는게 가장 좋기는 하지만 어지간한 인간이라면 하루에 몇 메가가 넘는 텍스트 파일을 보고 있을 시간은 없을꺼다.

웹로그를 한참 보다보면 대부분의 경우가 4xx, 5xx를 보는 것이고 특히 5xx를 주의깊게 봐야하는데.... 별 쓸대없이 2xx, 3xx, 4xx를 계속 보다보면...


눈과 머리가 정말로 아주 많이 아프다


따라서... 실제 문제가 되는 부분만 봤으면 좋겠는데, IIS의 기본 능력으로는 이걸 필터링하는 방법이 없다. 방법이 아예 없는 것은 아니다. 웹로그를 SQL에 집어넣고 이를 select해보면 되기는 한다. 근데, 해보니까 10M의 텍스트 파일을 SQL에 넣었더니 30M쯤으로 뿔더라... 따라서 실질적으로 사용할 수 있는 부분은 아니다. 아니면 리소스 킷이나 Microsoft사의 다운로드 사이트에서 Log Parser를 받아서 쿼리를 날리면 결과를 찾아 볼 수 있다. 하지만 이것조차 힘들고 귀찮다면 WebKnight를 이용할 수 있다. WebKnight의 로그 설정은 다음과 부분을 신경써서 보도록한다.

* 클라이언트의 오류 남기기 : 4xx 오류 계열이며 Log HTTP Client Errors 를 체크한다.
- Log HTTP Client Errors는 보통의 경우라면 필요가 없으나 웹사이트가 얼마나 링크가 잘 되어 있고 정상적으로 로깅이 되는지 확인하고 싶을 때 사용하면 된다. 자주 쓸 일도 없고, 한 일주일 정도만 남겨서 본다면 그걸로 족하다고 생각된다.

* 서버의 오류 남기기 : 5xx 오류 계열이며 Log HTTP Server Errors 를 체크한다.
- 이 부분은 항상 켜두기 바란다. 이것은 SQL Injection과 같은 공격의 패턴을 찾아내기 좋다. 대부분의 해킹은 서버의 오류를 고의로 발생시키는 것인데, 이 오류만 뽑아서 볼 수 있는 아주 쉽고 확인하기 편한 방법이다. 그리고 이것을 꼭 켜두어야 하는 이유는 바로 정상적인 요청이 튕겨져 나갔을 때 어느 필터에 의해 거절되었는지 확인할 수 있는 거의 유일한 길이기 때문이다.

* 모든 로그 남기기 : Log Allowed Requests, Log HTTP VIA 를 체크한다.
- 맨 마지막에 있는 모든 로그 남기는 부분은 주의하기 바란다. 정상적인 로그도 남기며, 이걸 사람이 읽는다는 것은 거의 미친짓에 가깝다. 더구나 IIS의 로그보다 더 많이 남기기도 하기 때문에 서버가 디스크 부족으로 죽을 수 있다.


참고 자료
- UrlScan : http://www.microsoft.com/technet/security/tools/urlscan.mspx
- WebKnight : http://www.aqtronix.com/?PageID=99

  • 2006/05/09 - SQL Injection을 막는 방법 #1
  • 2006/05/23 - SQL Injection을 막는 방법 #2
  • 2006/05/26 - SQL Injection을 막는 방법 #3
  • 2006/05/14 - SQL Injection을 막는 방법 #4
  • 2005/09/23 - WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #1
  • 2005/09/22 - WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #2
  • 2006/05/08 - WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #3
  • 2006/05/08 - WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #4

Tag ISAPI, SQL Injection, WebKnight, 보안, 웹서버해킹, 웹해킹
트랙백 0 댓글 0

Trackback : http://www.daegul.com/trackback/31 관련글 쓰기

WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #4

일/프로그램 2006/05/15 11:08

 이제까지 앞에 이야기 한 것을 잘 해서 봤다면 WebKnight가 정상적으로 동작할 것이고 로그를 꽤 많이 쌓고 있을 것이다. 로그를 잘 보자. 작게는 몇십 kb에서 많게는 몇십메가까지 쌓일것이다. (보통 하루에 몇메가 정도 쌓인다) 마음에 걸리지 않는가? 저 수많은 공격들이 하루에 들어오고 있었다니 말이다.

그러면 들어온 데이터를 기준으로 얼마나 더 필터링을 해야하는가를 확인해보자.

일단 SQL Injection을 부분이 많이 부족하다.

SQL Injection과 URL Denied Sequences에 다음 항목을 추가해보자.

xp_
cmdshell
dirtree
%20and
char(124)
char(94)
%2Buser%2B
;=
=;
%20%20

위의 것은 SQL Injection을 가능하게하는 프로그램을 통해서 돌릴 때 남는 로그를 기반으로 찾아낸거다. 설정해보고 역시 며칠동안 자자.... 로그의 쌓이는 양이 늘었다. 여기서 재미를 더 붙이면 더 많이 막을 수 있다. 이번에는 조금 더 생각해서 다음 항목을 활성화 시켜두자.

Deny Cookie SQL Injection : 활성화
Deny Cookie Encoding Exploits : 활성화
Deny Header SQL Injection : 활성화
Deny Header Encoding Exploits : 활성화
Deny Postdate SQL Injection : 활성화

자... 이제 조금씩 설정이 끝나간다. 하지만 방심은 금물. 아직도 갈길이 멀다. 로그를 한번 봐주고 문제가 생길 때까지 또 자자.... 이번에는 꽤 많이 설정을 변경했기에 로그 보기를 조금 자주하길 바란다.


참고 자료
- UrlScan : http://www.microsoft.com/technet/security/tools/urlscan.mspx
- WebKnight : http://www.aqtronix.com/?PageID=99

  • 2006/05/09 - SQL Injection을 막는 방법 #1
  • 2006/05/23 - SQL Injection을 막는 방법 #2
  • 2006/05/26 - SQL Injection을 막는 방법 #3
  • 2006/05/14 - SQL Injection을 막는 방법 #4
  • 2005/09/23 - WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #1
  • 2005/09/22 - WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #2
  • 2006/05/08 - WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #3
  • 2005/09/22 - WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #5

Tag ISAPI, SQL Injection, WebKnight, 보안, 웹서버해킹, 웹해킹
트랙백 1 댓글 0

Trackback : http://www.daegul.com/trackback/279 관련글 쓰기

  1. Subject WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #4

    Tracked from 공부하세요. 2006/05/26 11:36 delete

    이제까지 앞에 이야기 한 것을 잘 해서 봤다면 WebKnight가 정상적으로 동작할 것이고 로그를 꽤 많이 쌓고 있을 것이다. 로그를 잘 보자. 작게는 몇십 kb에서

WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #3

일/프로그램 2006/05/11 11:05

WebKnight의 로그를 분석하는 방법이다. WebKnight의 로그는 기본 적으로 설치폴더\Log에 남으며, 파일명은 yy.mm.dd.log 로 남는다. 만약 IIS 6라서 Per Process Logging을 활성화 하였다면 설치폴더\Log\w3wp_process_pid에 남는다

각 로그는 다음과 같은 형식으로 이루어져 있다. 꼭 알아두어야 나중에 고생 안한다.

발생시간; 발생서비스; 발생 부분; 클라이언트IP; ; 전송방식 ; 입력된부분; 처리 ; 사유 ; 상태

예를 들면 다음과 같다.

19:49:40 ; W3SVC4 ; OnPreprocHeaders ; 333.333.333.333 ;  ; GET ; /_vti_bin/owssvr.dll ; BLOCKED: '/_vti_bin' not allowed in URL ; UL=1&ACT=4&BUILD=6551&STRMVER=4&CAPREQ=0 ; HTTP/1.1 ; ASPSESSIONIDAQTTDBAD=FEJLIGOBPEOEBCCCACIOFHHN

;로 나줘져서 보기가 좀 그래서 그렇지 정리해서 보면 정말 쉽다. 위 문장을 잘 보면 왜 막았는지 기록이 남는다. 바로 /vti_bin 을 호출했기 때문에 BLOCKED된 것이다. 그러면 다음 예를 보자.

03:03:20 ; W3SVC4 ; OnPreprocHeaders ; 333.333.333.333 ;  ; GET ; /notice/view.asp ; pid=284%20%20and%20exists%20(select%20*%20from%20sysobjects)%20-- ; BLOCKED: possible SQL injection in querystring ; HTTP/1.1 ; ASPSESSIONIDAQTTDBAD=IGNHIGOBELCAHABDIMNDPAOJ

거의 맨 끝에 BLOCKED: possible SQL injection in querystring 이라고 되어 있다. 아.. 저것이 바로 SQL Injection공격의 하나다. 이제 config.exe를 실행해서 로그와 맞는 SQL Injection이 어느 것인지를 확인해보도록 한다. 해당 내용을 보면 와 닫는 것이 바로 select, from, sysobjects의 3가지 부분이다. 이제 감을 잡았다면 처리를 한 것이다.

만약 위에 남은 로그가 정상적이였다면 해당 부분에 가서 지워주자. 로그를 보는 방법은 끝났다.... 일단은 행복하다. 이제 로그가 남도록 기다리며 잠이나 자자.

나머지 내용은 다음 이 시간에... 캬캬캬~~~

참고 자료
- UrlScan : http://www.microsoft.com/technet/security/tools/urlscan.mspx
- WebKnight : http://www.aqtronix.com/?PageID=99

  • 2006/05/09 - SQL Injection을 막는 방법 #1
  • 2006/05/23 - SQL Injection을 막는 방법 #2
  • 2005/09/23 - WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #1
  • 2005/09/22 - WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #2
  • 2006/05/08 - WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #4
  • 2005/09/22 - WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #5

Tag ISAPI, SQL Injection, WebKnight, 보안, 웹서버해킹, 웹해킹
트랙백 1 댓글 0

Trackback : http://www.daegul.com/trackback/278 관련글 쓰기

  1. Subject WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #3

    Tracked from 공부하세요. 2006/05/26 11:35 delete

    WebKnight의 로그를 분석하는 방법이다. WebKnight의 로그는 기본 적으로 설치폴더\Log에 남으며, 파일명은 yy.mm.dd.log 로 남는다. 만약 IIS 6라서

WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #2

일/프로그램 2006/05/09 13:41

 WebKnight의 설치는 간단하다. 함께 있는 Setup.msi를 실행해도 되고, install.vbs를 실행해도 되며, 그냥 귀찮으면 수동으로 IIS 등록정보를 열고 ISAPI부분에 WebKnight를 등록해도 된다.

만약 관리해야 할 사이트가 다수라면 수동으로 ISAPI에 WebKnight를 올리는 것을 권장한다. 왜냐하면 Setup.msi나 install.vbs를 거치는 경우 전체 웹서버 등록정보에 등록되어버린다. 따라서 처리해야할 양이 늘어나게 된다.

다중 웹사이트를 운영하는 경우 WebKnight가 있는 폴더를 여러 개 만들어 둔 후 WebKnight.dll를 사이트로 올려두면 각각 웹사이트마다 다른 설정이 가능하므로 사이트 오동작에 따른 위험요소는 확실히 줄어든다.


WebKnight는 ISAPI로 등록만 해주면 된다

WebKnight는 ISAPI로 등록만 해주면 된다


일단 설치를 이렇게 끝내고 나면 config.exe를 실행해서 설정을 손봐야 한다. WebKnight의 설정을 손봐야 한다.

Allow ASP : 체크
- IIS를 사용하고 있다면 ASP도 사용할테니...

Allow ASP NET : 체크
- ASP.NET을 사용한다면....

Deny Url Parent Path : 언체크
- 대부분의 웹서버에서 부모 경로는 사용한다

Deny Url HighBitShellcode : 언체크
- 한글을 전혀 안쓴다면 체크된 상태로 둬도 괜찮다

URL Denied Sequences 에서 /admin 삭제
- 웹사이트에 관리자 부분이 있지 않다면 삭제.

Denied Files 에서 ping.exe 삭제
- ping.exe는 ping이 들어가 있는 문장도 체크하며, 이것은 주로 shopping.gif나 shoping.jpg같은 파일명도 필터링에 걸리게 된다.

Is Installed As Global Filter : 체크/언체크
- IIS 6.0이상을 사용하고 있다면 언체크해라. IIS 5 는 체크

Per Process Logging : 체크/언체크
- IIS 6.0이상을 사용하고 있다면 체크해라. IIS 5 는 언체크. 단 IIS 6.0을 IIS5 고립모드로 사용하고 있다면 언체크다.

일단 이 정도 하면 대부분의 경우 바로 적용은 가능하다. 이제 IIS를 리셋해주고 오류를 보도록 하자...

참고 자료
- UrlScan : http://www.microsoft.com/technet/security/tools/urlscan.mspx
- WebKnight : http://www.aqtronix.com/?PageID=99

나머지 내용은 다음 이 시간에... 캬캬캬~~~


PS: 반년전 데이터를 이제서야 퍼블리싱하는 센스~. 최초 작성일은 2005년 9월 초.
Tag ISAPI, SQL Injection, WebKnight
트랙백 1 댓글 0

Trackback : http://www.daegul.com/trackback/30 관련글 쓰기

  1. Subject WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #2

    Tracked from 공부하세요. 2006/05/26 11:25 delete

    WebKnight의 설치는 간단하다. 함께 있는 Setup.msi를 실행해도 되고, install.vbs를 실행해도 되며, 그냥 귀찮으면 수동으로 IIS 등록정보를 열

WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #1

일/프로그램 2005/09/23 09:32

개인 홈페이지, 홈페이지, 회사 인트라넷.... 참으로 많은 서버가 IIS기반으로 동작하고 있다. 그리고 생각보다 많은 부분이 IIS에 붙어있다.

대부분은 이런게 설치되어 있는지 조차 잘 모르지만.... 어떻든 간에 잘 안된다고 모든 부분을 다 설치하다보면 FrontPage Server Extensions, WebDev, Web Printer, ASP 등등이 설치된다. 특별한 목적을 갖고 서버를 구성한 것이 아니라면, 실제 서버에 적용되어 사용하는 것은 한 두개 정도? IIS의 기능이 워낙 다양하고 기본을 넘는 기능이 많다보니 기본만 설치하더라도 잘 모르는 부분이 많이 있을 수 있다. 더구나 현재 동작하는 웹 어플리케이션이 완전하다고 볼 수도 없고 문제가 될 수 있는 경우도 많다. 이런 문제 발생 소지를 최소화하기 위해서 감시를 할 수 있는 부분은 필요하다.

막을 것은 막고, 왜 막았는지 기록해주고, 오류난 것도 기록해주면 엄청나게 좋은 것이다.

이런 것의 해결책으로 Microsoft의 urlscan이 있다. urlscan은 Microsoft홈페이지에서 다운로드 가능하고, IIS6의 경우에는 별도로 설치하지 않아도 좋을 정도로 내장되어 있는 기능이 좋다. 하지만, urlscan에는 중대한 버그가 하나 있다. 바로 Querystring을 필터링하지 못한다는 것.. 이를 보안할 수 있는 프로그램이 바로 WebKnight다.

WebKnight는 크게 3가지 방법으로 필터링을 세팅한다.

1. Request limits/File/Headers/Methods
- 서버의 제약사항을 조절하는 것으로 헤더나 컨텐츠의 길이, 폴더 및 파일의 제한사항 등을 조절한다.

2. URL Scanning/Mapped Path/Querystring
- 사용자가 브라우저에서 요청할 때 사용할 수 있는 여러가지 부분들(%나 Backslash같은 특수 문자의 사용여부 등)의 제약사항이다.

3. SQL Injection
- Querystring 및 URL Scanning의 확장 부분이다. 개발자의 실수를 덮어줄 수 있는 부분이다. 오래전부터 이야기 되었던 부분이나 2005년부터 본격적으로 사용되기 시작한 해킹 기법이다.

이러한 세팅은 대부분 금지시키는 부분이기에 너무나 많은 금지 품목을 만들어두면 정상적인 서비스가 불가능하게 될 수도 있다. 하지만, 잘만 세팅한다면 엄청나게 강력한 보안 수단이 될 수 있다.


참고 자료
- UrlScan : http://www.microsoft.com/technet/security/tools/urlscan.mspx
- WebKnight : http://www.aqtronix.com/?PageID=99


너무 길면 힘들어지므로.... 다음이 시간에... 캬캬캬~

  • 2005/09/22 - [일/프로그램] - WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #2
  • 2006/05/08 - [일/프로그램] - WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #3
  • 2006/05/08 - [일/프로그램] - WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #4
  • 2005/09/22 - [일/프로그램] - WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #5

Tag ISAPI, SQL Injection, WebKnight, 보안, 웹해킹, 해킹
Trackback 2 댓글 0

Trackback : http://www.daegul.com/trackback/29 관련글 쓰기

  1. Subject WebKnight.. 보안관련 웹 서버용 ISAPI 필터 #1

    Tracked from 공부하세요. 2006/05/26 11:00 delete

    개인 홈페이지, 홈페이지, 회사 인트라넷.... 참으로 많은 서버가 IIS기반으로 동작하고 있다. 그리고 생각보다 많은 부분이 IIS에 붙어있다. 대부분은 이런게 설치되어 있는지

  2. Subject SQL Injection 취약점 사례 분석 #1

    Tracked from NTFAQ Korea 2007/01/19 16:34 delete

    SQL Injection 취약점 사례 분석 #1 작성자 : 이종량 편집자 : 홍순성 최근 해킹의 유형이 크게 변화되고 있다. 과거의 해킹은 주로 범용의 OS나 특정 데몬 또는 서비스 관련 프로그램들이었으나 이에 해당하는 업체들이 몇 년간 크게 신경 쓴 이후로 이는 급격하게 줄어들기 시작했다. 최근의 유형은 이런 범용적인 차원이 아닌 각각의 어플리케이션의 문제를 잡아내기 시작했다. 이에 따라 보안패치는 더 어려워지고 있으며, 심각한 경우에는 보안 패치..

prev 1 next

openclose
블로그 이미지
당신과 나 사이의 왜곡된 세상은 우리가 함께 있을 수 있다는 증거에요.
데굴대굴

Article Category

분류 전체보기 (1277)
I am.. & 테.. (93)
보는 것 (436)
문자 책 (156)
그림 책 (39)
움직이는 것 (240)
먹는 것 (49)
일 (109)
프로그램 (23)
Windows (16)
이벤트 뷰어 (51)
Knowledge Base (6)
여행 (75)
컴퓨터와 생활 (172)
아이폰/아이.. (55)
게임 (29)
PSP (20)
PC (9)
소원 (71)
유아/육아물건 (1)
순수 잡담 (243)
작성 중 (0)

Tag Cloud

  • pi
  • 업무관리
  • 포켓 인포먼트
  • iPhone
  • 게임
  • 셧다운
  • 여성가족부
  • 할일관리
  • GTD
  • APP
  • 아이폰
  • 할일
  • toodledo
  • Pocket Informant
  • 설명서
  • 앱
  • 2do
  • 캘린더
  • 일정관리
  • TODO

Recent Article

  • 내가 거의 게임 중..
  • Pocket Informant..
  • Pocket Informant..
  • Pocket Informant..
  • Pocket Informant..
  • Pocket Informant..
  • Pocket Informant..

Recent Comment

  • 짧고 강력한 동의!
  • 동의!
  • 속도도 느린거야 상..
  • 저는 부자가 아니기..
  • 효도르 폰으로는 컴..
  • 세일하면 싸지는.....
  • 기록후 삭제하는 겁..

Notice

  • 이런 여성분 찾았습..
  • 글 퍼감 금지입니다
  • 제품 프리뷰(리뷰)..
  • 주인장 소개 2008.06.
  • 글 쓰실 때 주의점

Recent Trackback

  • 아이폰 아이패드에..
  • 더 블로그 천일 기..
  • 티스토리의 변신은..
  • 마당을 나온 암탉 -..
  • 좋은 교사가 되려면..
  • 숨겨진 떡볶이 - 장..
  • 신용등급 바닥까지..

Archive

  • 2012/02 (1)
  • 2012/01 (10)
  • 2011/12 (6)
  • 2011/11 (3)
  • 2011/10 (5)
  • 2011/09 (3)
  • 2011/07 (3)
  • 2011/06 (2)
  • 2011/05 (4)
  • 2011/04 (3)
  • 2011/03 (5)
  • 2011/02 (3)

Calendar

«   2012/02   »
일 월 화 수 목 금 토
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

My Link

  • 푸샵.com - 블로그..
  • 별 볼일 없는 페이지
  • Blind-Blue
  • Bhut Jolokia ~綱魂..
  • 다들 안녕.... 군대..
  • rienhart's Life St..
  • IT 솔루션의 새로운..
  • ** MY's kitchen **
  • ** MY's kitchen **
  • ** MY's kitchen **
  • 제타군의 '인생은..
  • 펜은 강하다
  • spirit dreams inside

  • Total 2,359,773
  • Today 462
  • Yesterday 544
rss RSS FEED
Copyright 데굴대굴's Blog.

무단 펌질 금지

데굴대굴's Blog is powered by Daum

Designed by Tistory / Customized by 데굴대굴