윈도우 서버구축/보안

웹 나이트(webknight) 웹 보안 설치

서버이야기 2017. 3. 5. 18:39

웹 나이트(webknight) 웹 보안 설치





Webknight 란?


웹 나이트(Webknight)는 Aqtronix사에서 개발한 IIS 웹 서버에 설치할 수 있는 공개용 웹방화벽이다. 웹 나이트(Webknight)는 ISAPI 필터 형태로 동작하며, IIS 서버 앞단에 위치하여 웹서버로 전달되기 이전에 IIS 웹 서버로 들어오는 모든 웹 요청에 대해 웹서버 관리자가 설정한 필터에 룰을 따라 검증을 하고 SQL Injection 공격 등 특정 웹 요청을 사전에 차단함으로써 웹 서버를 안전하게 지킬수 있다.

이러한 룰은 정기적인 업데이트가 필요한 공격 패턴 DB에 의존하지 않고 SQL Injection, 디렉토리 traversal, 문자 인코딩 공격 등과 같이 각 공격의 특징적인 키워드를 이용한 보안필터 사용으로 패턴 업데이트를 최소화하고 있다 이러한 공격 뿐만 아니라 알려지지 않은 공격에도 웹서버를 보호 할수 있습니다


또한, 웹 나이트는 ISAPI 필터이기 때문에 다른 방화벽이나 IDS에 비해 웹서버와 밀접하게 동작할 수 있어 많은 이점이 있다. MS의 URLScan과 마찬가지로 ISAPI 필터로써 inetinfo.exe 안에서 동작하므로 오버헤드가 심하지 않다. 해킹당한 한 웹사이트에 Webknight를 적용하여 테스트 하게 되면 안정적인 웹서버 운영으로 인해 웹서버속도가 오히려 더빨라지게 만들수도 있다 하지만 다량의 웹 트래픽이 발생되는 사이트에서는 사전에 충분한 검증을 거친 후에 적용해야 된다.


웹 나이트 특징



오픈소스(Open Source)


웹 나이트는 CNU, CPL(General Public License)를 따르는 Free 소프트웨어이다.



Logging

기본적으로 차단된 모든 요청에 대해 로그를 남기고, 로깅 전용 모드로 운영할 경우 추가적으로 모든 허용된 요청에 대해서도 로그를 남길 수 있다. 로깅 전용 모드는 공격을 실제 차단하지 않고 로그 파일에서 공격 사실을 조사하는데 도움을 준다



최적화(Customizable)


방화벽은 어떤 작은 원인에도 최적화가 가능해야된다 제조사로부터 패치가 릴리즈가 되기 전의 0-Day(zero-dey) 공격마저 무산시킬 수 있도록 한다.



HTTP Error Logging


WebKnight는 웹서버로부터 HTTP 에러들을 로그할 수 있도록 설정할 수 있다. 이방법으로 404 Not Found와 같은 일반적인 에러나 500 Server Error와 같이 심각한 로그들도 기록할수 있습니다



SSL 보호(SSL Protection)


다른 전통적인 방화벽과는 달리 웹 나이트는 ISAPI 형태로 IIS의 일부로써 동작하기 때문에 HTTPS 상의 암호화된 세션들도 모니터링 및 차단할 수 있습니다.



RFC 규약(RFC Compliant)

웹 나이트는 RFC를 따름으로써 Request 값을 스캔을 위한 기능도 포함 되어있습니다.



낮은 보유 비용


웹 나이트는 윈도우즈 인스톨러 패키지와 원격 설치 스크립트로 설치가능해 사내에서 쉽게 웹 나이트를 채탁할 수 있고 또한 웹 나이트 설정을 바꾸기 위해 그래픽 사용자 인터페이스를 제공한다.



운영 중 업데이트 가능


일부 설정의 변경을 제외하고 대부분의 설정 변경은 웹서버의 재가동을 요구하지 않아, 웹 사용자들에 대한 어떠한 서비스 장애 없이 설정을 변경할 수 있다

매 1분마다 이러한 변경을 탐지하여 적용합니다







Webknight 설치하기



웹나이트는 1.3 버전이 리리즈 된 후 2.0 버전을 거쳐 현제 2.1 버전으로 업데이트까지 이루어지는 동안 많은 업데이트가 이루어 졌습니다. 특히 2.0에서의 유니코드 등 한글처리 부분 외에 기타 버그 등이 수정 된 후 발표된 2.2은 현재 가장 안전된 버전이라고 합니다.


웹나이트는 IIS 6.0과 IIS 7.0 양 버전에서 사용이 가능하지만 설치하는 방법에서는 약간을 차이를 가지고 있습니다 이제 웹나이트를 철치하여 필터링 하는부분까지 진행하겠습니다




다운 받은 웹나이트를 압축을 해제하여 setup파일로 이동후 WebKnight.Msi파일을 찾아 실행하면 위와 같은 화면이 나타납니다 Next를 눌러 다음을 진행합니다





라이센스 동의 후 설치 타입을 선택하는데 Typical을 선택하여 진행합니다




이후 자동 설치과정이 진행하게 되며 설치가 완료되면 위와 같은 메시지가 나옵니다



기본 설치를 하게 되면 C:\Program Files\AQTRONIX Webknight 폴더에 웹나이트가 설치되며, 64비트 운영체제에서는 C:\Program Files (x86)\AQTRONIX Webknight 폴테에 웹나이트가 설치되게 된다




WebKnight.Msi를 이용하여 설치하게 되면 위의 그림을 보시다시피 Default 경로로 설치가 되는 동시에,

IIS(인터넷 정보 서비스)에 ISAPI필터에 자동으로 등록되기 때문에 간편하게 설치할 수 있습니다.





이제 웹나이트가 설치된 파일의 특징을 살펴 보겠습니다


* config.exe : 웹나이트의 설정파일을 읽어들여 조작 할 수 있게 해주는 파일입니다.

* denied.html : 웹나이트에서 차단시 리다이렉트 될 기본 차단 메시지 입니다.

* LogAnalysis.exe : 웹나이트 로그를 분석할때 사용하는 로그 분석기 입니다.

* Robots.xml : User-Agent에 대한 DB 파일입니다.

* WebKnight.dll : IIS에 ISAPI 필터파일에 웹나이트가 실제 동작하는 파일입니다.

* WebKnight.xml : 웹나이트 동작을 제어할 수 있는 설정 파일입니다.