2009-07-28 2 views
0

I가 도전을 받고 후, http://www.site.org/protected에, 웹 스크립트를 실행 할 수 있도록 (두 도메인에서 사용자로 구성된 Active Directory 그룹에있는) 사용자의 특정 그룹을 싶습니다IIS 7에서 "디렉터리 이름이 유효하지 않습니다"오류가 발생하면 어떤 도구 나 스크립트를 사용하여 어떤 디렉터리가 잘못되었는지 찾기가 가능합니까?

목표 입증. 그것은 고통 때로는 완벽하게 합리적인 일이 실패합니다으로

설치

윈도우 2008, 7. 사용자 계정 액세스가 비활성화 된 IIS. 서버는 LITTLEDOMAIN이라고하는 도메인의 일부입니다. 우리는 BIGDOMAIN을 신뢰합니다.

"LITTLEDOMAIN \ can-use-this."라는 그룹이 있습니다. 그 그룹에는 회원 LITTLEDOMAIN \ me과 BIGDOMAIN \ me가 있습니다. Active Directory에서 서버가 이제 해당 그룹이 다른 도메인 (BIGDOMAIN)에 대해 인증하도록 허용했는지 확인했습니다.

www.site.org의 응용 프로그램 풀은 "NetworkService"로 실행됩니다.

사용자는 SYSTEM, 사용자 NETWORK SERVICE, 그룹 Enterprise Admins 및 그룹 LITTLEDOMAIN \ can-use-this는 최소한 읽기 및 실행 권한이 있어야합니다.

IIS 7에서는 Windows 인증 대신 해당 디렉터리에 대한 모든 인증 형태를 비활성화했습니다. 권한 부여 규칙과 관련하여 모든 사용자가 허용됩니다.

내가 말, 파이어 폭스의 URL http://www.site.org/protected를 방문 사용하고 도전 제시하고 때, 나는 나와 내 비밀번호 \ 사용자 이름 LITTLEDOMAIN를 입력 할 수 있습니다

오류 후 생성 된 최소한의 HTML 참조 기본적으로 "Hello, World"인 타임 스탬프가 포함 된 매우 간단한 Python 스크립트로 페이지 캐싱이 발생하지 않도록 할 수 있습니다. BIGDOMAIN \ me를 사용하면 HTTP 500 오류가 발생합니다.

진단이 나와 BIGDOMAIN \ 나 동일 \ LITTLEDOMAIN에 대한

암호를 수행; 이것이 확인되었습니다.

HTTP 로그를보고 HTTP 로그에서 "sc-status sc-substatus sc-win32-status"에 대해 "500 0 267"을 참조하십시오. 명령 줄에서 "net helpmsg 267"을 입력하면 "The directory name is invalid."라는 메시지가 나타납니다.

나는 규칙을 실패한 요청 추적을 추가하고 XML에서 같은 도움이되지 않는 메시지를 참조하십시오. "디렉터리 이름이 잘못되었습니다 (0x8007010b)"

난 후, 해당 서버에 대한 정책에 파일 개체 감사 설정 한 "Everyone"에 대해 모든 실패를 갖도록 디렉터리 및 파일에 대한 감사를 설정하지만 이벤트 뷰어의 보안 섹션에는 아무 것도 표시되지 않습니다. 다른 실패를 유발할 수 있었으므로 실패 감사가 작동 중임을 알았습니다. 이것은 시스템이 파일이 액세스되는 지점까지 도달하지 못한다는 것을 의미합니다.

일시적으로 LITTLEDOMAIN \ can-use-C-TEMP 디렉토리에 대한 모든 권한을 일시적으로 사용했습니다. 사용하지 않을 가능성이 있습니다. 나는 응용 프로그램 풀을 재활용했다. 같은 오류가 발생합니다. 나는 C : \ Windows \ Temp에서도 이것을 시도했지만 아무 소용이 없었다.

[질문 내가 찾을 수있는 방법

"물론, 디렉토리 이름이 잘못이다?" 줄을 따라 어딘가에있는 뭔가가 BIGDOMAIN에 대한 권한을 원한다는 것이 꽤 분명합니다. 그러나 나는 어디에서인지 알 수 없습니다.

답변

0

누락 된 구성 요소는 감사 정책 및 실패한 요청 추적과 함께 프로세스 모니터입니다. 프로세스 탐색기가 아니라 프로세스 모니터.

프로세스 모니터를 3 초 정도 실행하면 요청을 받아 들일 수있을만큼 길어지고 실패 할 수 있습니다. 실패한 요청 추적을 사용하여 실패한 프로세스 ID를 확보하십시오. 프로세스 모니터의 필터를 사용하여 프로세스 ID가 나타나는 이벤트 만 표시하면 실패한 부분을 볼 수 있습니다.

그런 다음 해당 디렉토리에서 감사를 설정하여 사용중인 계정을 확인하십시오.

보호 된 하위 디렉터리를 볼 때 IIS 7이 웹 서버의 루트로 돌아가고있는 것처럼 보입니다. 이상한.

관련 문제