다음을 통해 공유


방법: 공유 서버의 ASP.NET 응용 프로그램 보안 유지

업데이트: 2007년 11월

서로 다른 고객을 위해 여러 응용 프로그램을 호스팅하는 공유 웹 서버는 응용 프로그램 데이터와 함께 각 응용 프로그램의 보안을 유지하여 서버의 다른 응용 프로그램 사용자에게 공개되지 않도록 해야 합니다. 다음 절차에서는 공유 서버의 ASP.NET 응용 프로그램 보안을 유지하기 위해 수행할 단계를 자세히 설명합니다.

공유 서버의 ASP.NET 응용 프로그램 보안을 유지하려면

  1. Windows Server 2003에서 웹 응용 프로그램을 호스팅합니다. NTFS 파일 시스템으로 포맷된 드라이브에 응용 프로그램 파일을 저장합니다.

    Windows 2000 및 Windows XP Professional에서는 모든 ASP.NET 응용 프로그램이 단일 프로세스 ID(로컬 ASPNET 계정)로 실행되므로 Windows Server 2003에서 실행하지 않으면 응용 프로그램을 격리할 수 없습니다.

  2. 웹 서버의 컴퓨터 관리 스냅인(관리 도구 폴더에 있음)에서 시스템 도구 아래의 로컬 사용자 및 그룹을 선택합니다. 새 사용자를 추가합니다. 이 사용자는 응용 프로그램 풀의 ID가 되며 ASP.NET 응용 프로그램의 프로세스 ID라고도 합니다.

    로컬 사용자 및 그룹 아래의 그룹 폴더에서 방금 만든 응용 프로그램 ID를 IIS_WPG 그룹에 추가합니다. 이렇게 하면 응용 프로그램 풀의 ID로 실행되는 데 필요한 권한이 새 ID에 부여됩니다.

  3. 웹 서버의 인터넷 정보 서비스(IIS) 관리를 사용하여 응용 프로그램에 대한 응용 프로그램 풀을 만듭니다.

    새 응용 프로그램 풀의 속성 페이지를 열고 ID 탭을 선택합니다. ID를 구성 가능으로 설정하고 이전에 만든 응용 프로그램 풀 ID의 사용자 이름암호를 제공합니다.

  4. 인터넷 정보 서비스(IIS) 관리의 웹 사이트 폴더에서 응용 프로그램의 속성 페이지를 엽니다. 웹 응용 프로그램의 응용 프로그램 풀을 방금 만든 응용 프로그램 풀로 설정합니다. 이미 수행하지 않은 경우 만들기 단추를 클릭하여 웹 응용 프로그램을 응용 프로그램으로 만들어야 할 수도 있습니다.

    여러 개의 응용 프로그램을 응용 프로그램 풀에 배치할 수 있습니다. 단일 고객을 위한 여러 응용 프로그램과 같이 데이터를 공유할 수 있는 응용 프로그램만 응용 프로그램 풀에 포함하십시오.

  5. 풀의 응용 프로그램에 대한 임시 파일이 포함될 응용 프로그램 풀의 디렉터리를 만듭니다. 응용 프로그램 풀의 모든 응용 프로그램에 대한 Web.config 파일에서 컴파일 구성 섹션의 tempDirectory 특성을 사용하여 새 디렉터리를 응용 프로그램의 임시 디렉터리로 지정합니다. 예를 들면 다음과 같습니다.

    <configuration>
      <system.web>
        <compilation tempDirectory="C:\WebApps\AppPool1_Temp" />
      </system.web>
    </configuration>
    
  6. Windows 파일 시스템에서 응용 프로그램의 응용 프로그램 풀 ID와 모든 가장된 ID(ASP.NET 가장 참조)에 응용 프로그램을 구성하는 파일 및 하위 디렉터리에 대한 적절한 액세스 권한과 이전에 만든 임시 디렉터리에 대한 모든 액세스 권한이 있도록 보안 ACL(액세스 제어 목록)을 설정합니다. 이러한 ACL에서 IIS_WPG 그룹을 제거합니다. 필요한 경우가 아니면 서버의 다른 사용자는 이러한 파일 및 폴더에 액세스할 수 없도록 합니다. 이렇게 하려면 Everyone 또는 Users 그룹과 같은 일반 그룹을 제거합니다. 가장된 모든 ID가 ASP.NET 필수 ACL(액세스 제어 목록)에 나열된 ACL에 포함되어 있는지 확인합니다.

보호되는 구성을 사용하여 Web.config 파일의 모든 중요한 정보를 암호화함으로써 응용 프로그램의 보안을 강화할 수도 있습니다. 자세한 내용은 보호되는 구성을 사용하여 구성 정보 암호화를 참조하십시오.

참고 항목

개념

ASP.NET 필수 ACL(액세스 제어 목록)

ASP.NET 가장

참조

compilation 요소(ASP.NET 설정 스키마)