2008/01/17

IIS7, NT Service 도 NTFS 권한 설정이 가능?

IIS MVP 송원석님(http://www.egocube.pe.kr/)이 http://www.iis.net/ 문서를 번역해서 올려주고 계신, IIS7 관련된 기능 설명 문서를 보다가 문서를 번역하시면서 다음과 같은 의문점이 있었다고 합니다. (지금은 찾으셨을라나??)

개인적으로 본문을 번역하면서 이 조그마한 섹션의 검증이 가장 힘들었다. 지난 글에서 얘기했던 바와 같이 WMSVC 는 로컬 서비스 계정으로 실행된다. 그런데 갑자기 NT Service\WMSVC 라는 계정은 또 무슨 난데없는 얘기란 말인가? 처음에 필자는 일련의 번역이 잘못된 것이나 아닌지 몹시 당황할 수 밖에 없었다. 왜냐하면 그 어디에도 WMSVC 라는 이름의 계정을 찾을 수 없었기 때문이다. 2008 RC0 를 몇 번이나 재부팅해보기도 하고, 관리 서비스 설정을 이리저리 바꿔보며 테스트를 해봤지만 도무지 이 계정을 찾을 수가 없었던 것이다.

결국 이러한 결과들을 미루어 볼 때, 아무래도 2008 RC0 에서는 계정 지정을 위한 새로운 문법이 도입된 것이 아닌가 하는 추측을 하게 되었다. 즉, "NT Service\" 문자열에 서비스 이름을 붙이면 해당 서비스를 실행할 때 사용되는 서비스 계정을 의미하는 것으로 보인다. 실제로 여러가지 서비스 이름으로 테스트를 해보았는데, 모두 생각한 대로 동작했다. 그리고, 이러한 기능이 혹시 예전부터 제공되는 것임에도 불구하고 필자가 모르고 있었던 것은 아닌가 의심되어 윈도우 서버 2003 상에서도 동일한 테스트를 해보았으나 이 경우에는 전혀 인식을 하지 못했다. 이 부분에 대해 추가적인 정보를 알고 계신 분이 계시다면 필자에게 연락을 부탁드린다.



다음과 같은 경우입니다. 직접 추가를 한게 아니라, 몇몇 폴더나 파일에는 기본값으로 보통의 계정이나 그룹이 아닌 이름이 추가되어 있습니다.



위 ACL 의 계정 목록을 보면, WMSvc 라는게 추가되어 있습니다. 그러나 실제 계정관리나 ACL 에서의 계정/그룹 추가의 검색 목록에는 전혀 나오지 않는 그룹? 명입니다.



검색목록에서 Object 를 계정이나 그룹이 아닌 다른것을 혹시 추가로 지정가능한지 확인해 보았으나 역시 기존 Windows Server 2003 과 동일합니다.



기본값인, 빌트인 및 그룹, 계정만 선택할수 있게 되어 있습니다.



설명 문서에는, NT Service\WMSvcNT Service\W3SVC 같은 형식의 계정명? 을 넣고 이름 체크를 해보면 다음과 같이 이름 확인이 정상으로 체크 됩니다.



지금 까지는 NTFS 의 ACL 설정은, 빌트인, 그룹, 계정만 설정이 가능했습니다. 그런데 어떻게 서비스 이름으로 권한설정이 가능한걸까요?..



W3SVC 서비스는 LocalSystem 계정으로 서비스가 실행되며, WMsvc 는 Local Service 계정으로 실행되고 있습니다. 그런데 굳이 NTFS 권한설정에 서비스에 대한 NTFS ACL 설정이 가능하게 되어 있을까요?..


이에 대한 정확한 설명이 되어 있는 문서를 찾기 어려운 상황이라 뭐라 얘기하기는 어렵지만, 필자가 추측해 보기로는 권한을 좀더 세분화? 하기 위한 목적이 아닌가 싶습니다. 아님 자구책?



이를테면,. IIS Manager Users 에 추가된 계정은 실제 NTFS 계정권한도 아닐 뿐더러 위임된 웹사이트 관리는 원격지의 IIS Manager 툴에서 접속 대상 서버측의 Web Management Service (기본포트:8172) 를 통해서 접속이 됩니다.



그러면,. 실제 웹서버측에서는 Web Management Service (WMSvc) 는 Local Service 계정으로 서비스가 실행이 되지만,. 폴더에 접근을 할때에는 LOCAL SERVICE 계정이 접근을 하지만 실제 적으로는 WMSvc 서비스가 NFTS 권한 제어를 받게 되는 것입니다.



이것은 장점은, Local Service 는 수많은 서비스의 실행 계정으로 작동을 하지만,. 특정 폴더에 대해서 특정 서비스만 접근이 가능하도록 할 경우에 매우 효과적인것 같습니다.^^

말하자면,. IIS 원격관리자로 접근할때에는 Local Service 라는 다소 높은 권한으로 시스템에 접근을 하게 되는데요. 이때 취약점이나 우회하는 방법을 이용하여 시스템내 다른 리소스에 접근을 한다면 어떻게 될까요?.

이 부분을 직접 확인할려면, WMSvc 로그파일 폴더의 WMSvc 계정에 대한 ACL 을 변경후, WMSvc 계정에 대한 엑세스 감사 설정을 하시기 바랍니다. 그런다음에 ACL 을 변경해 가면서 로그파일이 남도록 원격 접속을 한다음에 보안 이벤트 로그를 검토해 보면 어느정도 답이 나오지 않을까 싶습니다.^^

다시 얘기하지만,. 공개된 문서가 아닌 필자의 추측에 의한 테스트 결과 이므로 실제 기술문서의 내용과 다를수 있습니다. 보시는 분이 스스로 잘 필터링 하셔서 보시면 되며,. 정확한 자료나 잘못된 부분이 있으면 댓글로 코멘트 부탁드립니다.^^


16-WindowsServer2008NTFSACL-1.png
16-WindowsServer2008NTFSACL-2.png
16-WindowsServer2008NTFSACL-3.png
16-WindowsServer2008NTFSACL-4.png
16-WindowsServer2008NTFSACL-5.png
16-WindowsServer2008NTFSACL-6.png
16-remote_iismanager-1.png
16-remote_iismanager-2.png
16-remote_iismanager-3.png

댓글 없음:

댓글 쓰기

가장 많이 본 글