Maystyle :
Admin : New post
Guestbook
Local
media
Catergories
Recent Articles
Recent Comments
Recent Trackbacks
Calendar
Tag
Archive
Link
Search
 
  IIS가 갑자기 죽고 해당 서버로 터미널 접속이 않된다. 
작성일시 : 2009. 3. 13. 10:16 | 분류 : Windows Server/IIS

[현상]
현상 1
Event Source: W3SVC
Event ID: 1004
Description: Cannot register the URL prefix 'http://*:80/' for site '1'. The site has been deactivated. The data field contains the error number.

현상 2
Terminal Service가 시작되어 있으나 접속이 불가능

[설명]
위와 같이 이벤트 ID 1004가 뜨면서 IIS 메니저에서 웹 서비스 시작 시 다른 프로세스가 리소스를 소유하고 있기 때문에 웹서비스 시작이 않된다는 메세지가 발생하는 경우가 있습니다.
이 경우는 100% 80포트나 433등 웹 서버에서 사용하는 포트를 다른 프로세스가 가로챈 경우가 대부분입니다.
해당 프로세스는 쉽게 찾을 수 있습니다.

해당 메세지가 발생하면 먼저 netstat –ano 를 통해서 80포트를 사용중인 프로세스의 PID 값을 알아냅니다.
이후 tasklist 명령어를 통해 해당 PID 값을 비교하면 충분 히 찾을 수 있습니다.

다만 이번 경우에 특이한 점은 바로 해당 80 포트를 Terminal 서비스에서 사용하고 있었다는 점이였습니다.
터미널 서비스의 경우 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber 키 값을 수정하여 원하는 포트로 변경이 가능합니다.

그런대 왜?
왜 하필 80으로 변경했을 까요?

바로 80은 외부에 오픈되는 포트이기 때문입니다.
즉 악의적인 사용자가 RDP 포트를 80으로 변경하고 접속을 시도했기 때문에 웹서비스가 중지된 것이죠.

그렇다면 한 가지 더!
어떻게 그렇게 했을까요?

보통은 멜웨어나 다양한 프로그램들이 사용될 수 있겠죠.
전 이번 경우에 의심하는 부분은 바로 Cross Acess 공격입니다.
게시판 등지에 악의적은 코드를 심어 서버에서 실행하게 하는 공격이죠… 흠…
원래 IIS나 톰캣 같은 어플리케이션은 Network 서비스로 실행 되기 때문에 그 권한에 한계가 있습니다.
하지만 JSP 나 ASP의 실행 등의 문제로 인해 System 계정을 이용하는 경우나 특정 DCOM 프로그램의 경우 아예 권한 문제를 방지하기 위해 SYSTEM 계정으로 실행 되는 경우가 있죠.

이런 경우… 위와 같은 아주 쓰래기 같은 인간의 공격을 받는다면…
대부분의 경우 견고한 시스템 들이기 때문에 뚧는게 쉽지는 않지만… 가끔은 위와 같이 아주 작은 공간이 나쁜 쓰래기 크래커의 공격 대상이 되기도 합니다.

|