2014년 1월 24일 금요일

SQL Injection 해킹 보안


1. Auditing and Logging

보안로그를 남기도록 구성하고, 특히 로그인 실패와 관련된 중요파일(예: Metabase.bin)은 Audit이 가능하도록 설정한다.


2. Sites and Virtual Directories
IIS 설정에서 상위 경로 이용을 해제한다. 참고로 윈도우 2000은 enable, 윈도우 2003은 disable이 기본값이다. 윈도우 2000 IIS의 기본 웹사이트를 삭제하더라도 이후 생성한 웹사이트에 기본 웹사이트가 생성한 가상 디렉토리(IISSamples, IISAdmin, IISHelp, MSADC 등)가 존재하게 된다. 이들을 삭제하고, include 파일이 위치한 디렉토리의 IIS설정에서 읽기 권한을 없앤다.

3. Script Mappings
불필요한 응용 프로그램 매핑(.idq, .htw, .ida, .shtml, .shtm, .stm, .idc, .htr, .printer)을 없애고, 역시 필요없는 ASP.NET 파일 확장은 Machine.config에서 HttpForbidden Handler로 매핑한다.


4. ISAPI Filters
불필요한 ISAPI 필터를 제거한다.


5. IIS Metabase

IIS banner 정보를 제한한다. 윈도우 2000의 경우 metaedit를 설치해 변경할 수 있다.


6. Machine.config

이용하지 않는 HttpModules은 제거한다. 다음과 같이 Tracing을 disable로 설정하고, 디버그 컴파일 역시 이용하지 않는 편이 좋다.

trace enable="flase"
compilation debug="false" explicit="true" defaultLanguage="vb"

이처럼 웹서버 보안을 위해서는 전용 서버 현태로 운영해야 한다. Domain Controller에 IIS를 설치해 운영하거나 IIS 웹서버에서 인터넷 연결을 시도하지 말아야 한다. 또한 Administrator 외에는 로컬 로그온을 허용치 않고, 물리적인 서버 역시 보안 영역에 존재해야만 안전한 웹서비스를 제공할 수 있다.


참고문헌 : 마이크로소프트웨어 2006년 4월호

댓글 없음:

댓글 쓰기