|
회원가입없이 경제노트를 이메일로 받고 싶으신 분은 이름과 이메일을 입력해 주세요 |
|
|
|
|
|
|
1부. Windows 및 IIS 보안 (3/3)
|
입력 2006-03-21 오전 12:00:00 |
마음에 드는 노트지기의 업데이트 된 글을 내 노트에서 손쉽게 확인할 수 있습니다.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. IIS 관리
6) 사용하지 않는 기본 문서 삭제 굳이 이런 것까지 해야 하는가? 라고 의문을 갖는 독자 분들이 있을 것이다. 하지만, 필자는 “소 잃고 외양간 고친다”라는 말과, “문제 생겼을 때 책임지는 건 개발자뿐이다” 라는 현실을 누구보다 잘 알기에 문제가 생길 소지를 없애기 위해 해야 한다고 생각한다. 이를 설정하는 1초만 투자한다면 여러분은 오랜 시간 편할 수 있을 것이라는걸 장담하는 바이다. 웹사이트의 기본 문서 Index.asp 이든 default.asp 이든 사용하는 기본문서를 하나로 통합하여 기본문서에 등록하도록 하자. 어떤 디렉토리는 index.asp이고 또 다른 디렉토리는 default.asp이거나 혹은 다른 이름이라면 하나로 합치는걸 심각하게 고민해봐야 한다. 웹사이트는 통일성이 있어야 한다.
<그림6> 기본 문서를 default.asp로 지정한 예
7) 사용자 정의 오류 등록정보 중 “사용자 정의 오류” 탭을 클릭하면 HTTP 오류에 대한 오류 메시지를 확인 할 수 있다. 대부분의 웹 어플리케이션이 설정된 대로 사용을 하는데 몇 가지 중요한 항목에 대해 값을 설정하는 것만으로도 충분히 보안성을 향상 시킬 수 있다. 사용자 정의 오류란 사용자가 요청 시 웹서버가 그에 해당하는 응답을 할 때 에러가 나는 경우 미리 정의된 페이지를 보여주는 것을 말한다. 웹서핑 할 때 흔히 보게 되는 “Page Not Found – 요청하신 페이지를 찾을 수 없습니다” 같은 메시지도 웹서버가 미리 정의된 HTTP 오류에 대해 정의된 메시지를 사용자들에게 보여주기 때문에 나타나는 것이다. 일부 HTTP 오류 메시지 중 굉장히 자세한 오류메시지를 사용자에게 반환함으로써 보안성이 취약해지는 경우가 있다. 따라서, 개발자는 주요 오류메시지에 대해 정의된 페이지를 보여주거나, 빈 페이지 혹은 초기화면으로 이동시키는 설정들을 해놓기를 권장하는 바이다. 수많은 HTTP 오류메시지 중 반드시 지정해야 할 오류메시지는 다음과 같다.
설정 항목: 400, 403:14,404, 500, 500:10
<그림7> 400 오류를 error.asp로 매핑하는 예
8) 웹사이트 로그 기록 웹사이트 등록정보의 “웹 사이트” 탭을 보면 웹로그를 저장할 수 있도록 되어 있다. 웹서버에 의도하지 않은 문제가 발생하였을 경우 가장 쉽게 찾아볼 수 있는 자료 중 하나가 바로 웹로그 이다. 일반적으로 W3C 확장 로그 파일 형태를 가장 많이 사용하는데 이때, 로그파일이 저장되는 위치를 기본값인 시스템폴더에 남기지 말고 사용자 폴더를 생성하여 (예를 들면, 웹 관련 폴더에 저장하는 것을 추천하는 바이다. 이는 폴더관리에서 설명한 웹에 관련된 저장소의 일관성 유지에 도움이 된다.) 저장하도록 하자. 또한, HDD의 용량문제가 발생하지 않도록 주기적인 관리를 통해 HDD 용량을 확보하도록 해야 한다. 참고로, 로깅 등록정보의 일반 속성탭에 있는 “파일 명명 및 롤 오버에 현지 시간 사용”에 체크를 해줘야 정확한 서버시간에 맞게 로그가 생성됨을 유의하자. 로그 항목은 디폴트 값을 유지하여도 무방하며 필요에 따라 쿠키 등 필요한 데이터를 남기도록 하자.
9) IP 액세스 제한 IIS 에서는 최소 웹페이지 단위까지 IP 액세스 제한을 걸 수 있다. 이는 운영자 페이지나 중요한 데이터 핸들링 페이지(개발자만 접근해야 하는)를 외부에서 접근 못하도록 할 수 있다는 얘기이다. 실제로 많은 웹사이트들이 외부에서 접근해서는 안되는 기능들이 외부에 오픈되어 있는걸 확인할 수 있었다. 따라서, IP 액세스 제한을 통해 혹시라도 있을 외부 노출을 제어하도록 하자.
<그림8> IP 제어 예
10) 사용하지 않는 서비스 제어 IIS를 설치할 때 필요한 서비스가 무엇인지에 따라, 사용하지 않는 서비스를 설치하지 않도록 한다. 예를 들어, FTP와 SMTP 서비스가 해당 서버에서 필요하지 않다면 설치할 필요가 없다. 또한, IIS 설치할 때 IIS 샘플 파일 등의 설치를 지양하도록 하며, 샘플 파일, 관리 웹사이트 등이 설치가 되었다면 생성된 서비스와 파일을 삭제하도록 하자. 서비스에 전혀 불필요한 서비스 설치를 통해 관리비용을 낭비할 필요도 없으며, 의도되지 않은 접근 또한 허용할 필요가 없기 때문이다.
지금까지 IIS 환경 설정을 통한 보안 향상 방법에 대해 소개하였다. 위에서 소개한 내용들을 알고는 있으나 적용하지 않은 분들도 있을 테고, 처음 접하는 분들도 있을 것이다. 보안 향상에 약간만 투자한다면 여러분의 어플리케이션 보안은 월등히 높아질 것이다. 필자의 경우 웹 어플리케이션을 생성할 때 위 규칙들을 문서화 하여 반드시 적용하고 있다.
필자 개인적인 생각으로는 완벽한 보안은 없다고 생각한다. 혹자는 많은 비용으로 수많은 방화벽을 도입하여 뚫다가 지치게 만들면 된다고도 한다. 이만큼 어렵다는 얘기이다. 완벽한 방어는 안되더라도 보완책을 도입하여 보안성을 강화한다면 그것만으로도 충분히 의미가 있다고 생각한다. 다음 회에서는 ASP 웹 소스 보안에 대해 소개하도록 하겠다.
|
|
|
|
예병일의경제노트 추천정보 |
|
|
|
|
|
|
|
예병일의경제노트 노트지기 덧글 |
|
|
|
|
|
|
|
|
|
노트 목록으로 이동 |
|
|
|