IIS 7에서 FTP 사용자 격리 구성

작성자 : Robert McMurray

호환성

버전 참고
IIS 7.5 FTP 7.5 서비스는 Windows 7 및 Windows Server 2008 R2에서 IIS 7.5의 기능으로 제공됩니다.
IIS 7.0 FTP 7.0 및 FTP 7.5 서비스는 IIS 7.0용 대역 외로 제공되었으며, URL https://www.iis.net/downloads/microsoft/ftp에서 서비스를 다운로드하고 설치해야 했습니다.

소개

Microsoft는 Windows Server 2008용으로 완전히 다시 작성된 새 FTP 서비스를 만들었습니다. 이 새로운 FTP 서비스는 웹 작성자가 이전보다 더 나은 콘텐츠를 게시할 수 있도록 하는 많은 새로운 기능을 통합하고 웹 관리자에게 더 많은 보안 및 배포 옵션을 제공합니다.

이 문서에서는 새 FTP 사용자 인터페이스를 사용하고 IIS 구성 파일을 직접 편집하여 다양한 FTP 사용자 격리 설정을 안내합니다.

참고

이 연습에는 로컬 관리자 계정을 사용하여 FTP 사이트에 로그인하는 일련의 단계가 포함되어 있습니다. 이러한 단계는 루프백 주소를 사용하거나 원격 서버의 SSL을 통해서만 서버 자체에서 수행해야 합니다. 관리자 계정 대신 별도의 사용자 계정을 사용하려면 적절한 폴더를 만들고 필요한 경우 해당 사용자 계정에 대한 올바른 권한을 설정해야 합니다.

사전 요구 사항

이 문서의 절차를 완료하려면 다음 항목이 필요합니다.

  1. IIS 7은 Windows Server 2008 RC0 서버에 설치해야 하며 인터넷 정보 서비스 관리자를 설치해야 합니다.

  2. 새 FTP 서비스를 설치해야 합니다. 다음 링크 중 하나를 사용하여 웹 사이트에서 FTP 서비스를 https://www.iis.net/ 다운로드하고 설치할 수 있습니다.

    • IIS 7용 FTP(x64)
    • IIS 7용 FTP(x86)
  3. FTP 게시를 위한 루트 폴더를 만들어야 합니다.

    • 에서 폴더 만들기 %SystemDrive%\inetpub\ftproot

    • 익명 액세스를 허용하도록 권한을 설정합니다.

      • 명령 프롬프트를 엽니다.

      • 다음 명령을 입력합니다.

        ICACLS "%SystemDrive%\inetpub\ftproot" /Grant IUSR:R /T
        
      • 명령 프롬프트를 닫습니다.

  4. 추가 콘텐츠 폴더를 만들어야 합니다.

    • 에서 폴더 만들기 %SystemDrive%\inetpub\ftproot\LocalUser\Public
    • 에서 폴더 만들기 %SystemDrive%\inetpub\adminfiles

FTP 사이트 마법사를 사용하여 FTP 사이트 만들기

이 첫 번째 섹션에서는 익명 사용자의 읽기 전용 액세스 및 관리자 계정의 읽기/쓰기 액세스를 위해 열 수 있는 새 FTP 사이트를 만듭니다.

  1. IIS 관리자의 연결 창에서 트리의 사이트 노드를 클릭합니다.

  2. 아래 이미지와 같이 트리에서 사이트 노드를 마우스 오른쪽 단추로 클릭하고 FTP 사이트 추가를 클릭하거나 작업 창에서 FTP 사이트 추가를 클릭합니다.
    사이트 폴더의 오른쪽 클릭 드롭다운 메뉴에 있는 F TP 사이트 추가 옵션에 포커스가 있는 I S 관리자 화면의 스크린샷

  3. FTP 사이트 추가 마법사가 표시되는 경우:

    • FTP 사이트 이름 상자에 "내 새 FTP 사이트"를 입력한 다음 필수 구성 요소 섹션에서 만든 폴더로 이동합니다%SystemDrive%\inetpub\ftproot. 콘텐츠 폴더의 경로를 입력하도록 선택하는 경우 경로에서 환경 변수를 사용할 수 있습니다.
    • 이러한 항목을 완료했으면 다음을 클릭합니다.
      사이트 정보 섹션을 표시하는 F TP 사이트 추가 마법사의 스크린샷
  4. 마법사의 다음 페이지에서 다음을 수행합니다.

    • 일반적으로 IP 주소 드롭다운에서 FTP 사이트의 IP 주소를 선택하거나 "할당되지 않은 모든 항목"의 기본 선택을 수락하도록 선택할 수 있습니다. 이 연습의 뒷부분에서 관리자 계정을 사용하므로 서버에 대한 액세스를 제한하고 IP 주소 상자에 "127.0.0.1"을 입력하여 컴퓨터의 로컬 루프백 IP 주소를 입력해야 합니다.
    • 일반적으로 포트 상자에 FTP 사이트의 TCP/IP 포트 를 입력합니다. 이 연습에서는 기본 포트 21을 적용하도록 선택합니다.
    • 이 연습에서는 호스트 이름을 사용하지 않으므로 가상 호스트 상자가 비어 있는지 확인합니다.
    • 인증서 드롭다운이 "선택되지 않음"으로 설정되어 있고 SSL 허용 옵션이 선택되어 있는지 확인합니다.
    • 이러한 항목을 완료했으면 다음을 클릭합니다.
      다음 옵션에 포커스가 있는 F TP 사이트 추가 화면의 바인딩 및 SL 설정 섹션 스크린샷
  5. 마법사의 다음 페이지에서 다음을 수행합니다.

    • 인증 설정에 대해 익명을 선택합니다.
    • 권한 부여 설정의 경우 액세스 허용 드롭다운에서 "익명 사용자"를 선택하고 권한 옵션에 대해 읽기를 선택합니다.
    • 이러한 항목을 완료했으면 마침을 클릭합니다.
      완료 옵션에 포커스가 있는 FTP 사이트 추가 화면의 인증 및 권한 부여 정보 섹션 스크린샷
  6. IIS 관리자에서 만든 FTP 사이트의 노드를 클릭합니다. 그러면 모든 FTP 기능에 대한 아이콘이 표시됩니다.
    F TP 기능을 표시하는 내 새 F T P 사이트 홈 섹션을 보여 주는 IS Manager 화면의 스크린샷.

  7. 사용자가 로그인할 수 있도록 기본 인증을 추가해야 합니다. 이렇게 하려면 FTP 인증 아이콘을 두 번 클릭하여 FTP 인증 기능 페이지를 엽니다.
    내 새 FT P 사이트 홈 섹션의 FTP 인증 옵션에 포커스가 있는 I S 관리자 화면의 스크린샷.

  8. FTP 인증 페이지가 표시되면 기본 인증을 강조 표시한 다음 작업 창에서 사용을 클릭합니다.
    작업 창의 사용 옵션에 포커스가 있는 I S Manager 화면의 FTP 인증 섹션 스크린샷

  9. IIS 관리자에서 FTP 사이트의 노드를 클릭하여 모든 FTP 기능에 대한 아이콘을 다시 표시합니다.

  10. 관리자가 로그인할 수 있도록 권한 부여 규칙을 추가해야 합니다. 이렇게 하려면 FTP 권한 부여 규칙 아이콘을 두 번 클릭하여 FTP 권한 부여 규칙 기능 페이지를 엽니다.
    F T P 섹션의 I S Manager 화면의 F TP 권한 부여 규칙 옵션 스크린샷

  11. FTP 권한 부여 규칙 페이지가 표시되면 작업 창에서 규칙 허용 추가를 클릭합니다.
    작업 창의 규칙 허용 추가 옵션에 포커스가 있는 IS Manager 화면의 F TP 권한 부여 규칙 섹션 스크린샷

  12. 권한 부여 규칙 추가 대화 상자가 표시되는 경우:

    • 지정된 사용자를 선택한 다음 상자에 "administrator"를 입력합니다.
    • 사용 권한에대해 읽기쓰기를 모두 선택합니다.
    • 이러한 항목을 완료했으면 확인을 클릭합니다.
      권한 부여 규칙 추가 대화 상자의 스크린샷.

요약

이 섹션에서 완료한 항목을 요약하려면 다음을 수행합니다.

  1. 사이트의 콘텐츠 루트 %SystemDrive%\inetpub\ftproot가 인 "내 새 FTP 사이트"라는 새 FTP 사이트를 만들었습니다.
  2. FTP 사이트를 포트 21의 컴퓨터의 로컬 루프백 주소에 바인딩했으며 FTP 사이트에 SSL(Secure Sockets Layer)을 사용하지 않기로 결정했습니다.
  3. 익명 사용자가 파일에 "읽기" 액세스를 허용하도록 FTP 사이트에 대한 기본 규칙을 만들었습니다.
  4. 관리자 계정에 FTP 사이트에 대한 "읽기" 및 "쓰기" 권한을 모두 허용하는 권한 부여 규칙을 추가했습니다.
  5. FTP 사이트에 기본 인증을 추가했습니다.

새 FTP 사용자 격리 설정 검사

  1. IIS 관리자에서 만든 FTP 사이트의 노드를 클릭합니다. 그러면 모든 FTP 기능에 대한 아이콘이 표시됩니다.

  2. FTP 사용자 격리 아이콘을 두 번 클릭하여 FTP 사용자 격리 기능을 엽니다.
    F TP 사용자 격리 옵션에 포커스가 있는 IS Manager 화면의 새 F T P 사이트 홈 섹션 스크린샷

  3. FTP 사용자 격리 기능 페이지가 표시되면 다음 5가지 옵션을 사용할 수 있습니다.
    IS Manager 화면의 F TP 사용자 격리 기능 페이지 스크린샷.

  4. 이러한 5가지 옵션은 다음과 같이 정의됩니다.

    • 사용자를 격리하지 마세요. 에서 사용자 시작:

      • FTP 루트 디렉터리

        • 이 옵션은 모든 FTP 세션이 FTP 사이트의 루트 디렉터리에서 시작되도록 지정합니다.

          참고

          이 옵션은 이 FTP 서버에서 새로 추가되었으며 모든 사용자 격리 또는 시작 폴더 논리를 사용하지 않도록 설정하기만 하면 됩니다.

      • 사용자 이름 디렉터리

        • 이 옵션은 폴더가 있는 경우 모든 FTP 세션이 현재 로그온한 사용자의 이름과 동일한 이름의 실제 또는 가상 디렉터리에서 시작되도록 지정합니다. 그렇지 않으면 FTP 세션이 FTP 사이트의 루트 디렉터리에서 시작됩니다.

          참고

          이 옵션은 IIS 6.0 FTP 서버에서 사용자 격리를 선택하지 않는 것과 동일합니다. 이 옵션을 사용하는 방법에 대한 자세한 내용은 FTP 사용자 격리를 사용하여 여러 FTP 사이트 호스팅(IIS 6.0) 항목의 "사용자 모드 격리 안 함" 섹션을 참조하세요.

    • 사용자를 격리합니다. 사용자를 다음 디렉터리로 제한:

      • 사용자 이름 디렉터리(전역 가상 디렉터리 사용 안 함)

        • 이 옵션은 FTP 사용자 계정의 이름이 같은 실제 또는 가상 디렉터리에 FTP 사용자 세션을 격리하도록 지정합니다. 이 경우 사용자에게는 자신의 FTP 루트 위치만 표시되므로 실제 또는 가상 디렉터리 트리의 상위 위치로 이동할 수 없도록 제한됩니다. 생성된 모든 전역 가상 디렉터리에서는 무시됩니다.

          참고

          이 옵션은 이 FTP 서버의 새로운 옵션입니다.

      • 사용자 이름 물리적 디렉터리(전역 가상 디렉터리 사용)

        • 이 옵션은 FTP 사용자 계정의 이름이 같은 물리적 디렉터리에 FTP 사용자 세션을 격리하도록 지정합니다. 이 경우 사용자에게는 자신의 FTP 루트 위치만 표시되므로 실제 디렉터리 트리의 상위 위치로 이동할 수 없도록 제한됩니다. 생성된 모든 전역 가상 디렉터리도 모든 사용자에게 적용됩니다.

          참고

          이 옵션은 IIS 6.0 FTP 서버에서 사용자 격리를 선택하는 것과 동일합니다.

      • Active Directory에 구성된 FTP 홈 디렉터리

        • 이 옵션은 FTP 사용자 세션을 각 FTP 사용자에 대한 Active Directory 계정 설정에 구성된 홈 디렉터리로 격리하도록 지정합니다.

          참고

          이 옵션은 IIS 6.0 FTP 서버에서 Active Directory 사용자 격리를 선택하는 것과 동일합니다.

물리적 디렉터리에 의한 사용자 격리 설정 구성

물리적 디렉터리로만 사용자를 격리하는 경우 모든 FTP 사용자 세션은 FTP 사용자 계정의 이름이 같은 실제 디렉터리로 제한됩니다. 그러나 생성된 모든 전역 가상 디렉터리도 모든 사용자에게 적용됩니다.

  1. IIS 관리자에서 만든 FTP 사이트의 노드를 클릭합니다. 그러면 모든 FTP 기능에 대한 아이콘이 표시됩니다.
  2. FTP 사용자 격리 아이콘을 두 번 클릭하여 FTP 사용자 격리 기능을 엽니다.
    F T P 사용자 격리 아이콘이 강조 표시된 I S Manager 화면의 새 F T P 사이트 홈 섹션 스크린샷
  3. FTP 사용자 격리 기능 페이지가 표시되면 사용자 이름 물리적 디렉터리(전역 가상 디렉터리 사용) 옵션을 선택한 다음 작업 창에서 적용을 클릭합니다.
    적용 옵션에 포커스가 있는 I S Manager 화면의 F TP 사용자 격리 섹션 스크린샷

FTP 사이트에 로그인

이제 사용자 격리를 사용하여 FTP 사이트에 로그인할 수 있지만 다음 정보가 적용됩니다.

  1. FTP 사이트에 익명으로 로그인하면 세션이 필수 구성 요소 섹션에서 만든 "LocalUser\Public" 폴더로 제한됩니다.
  2. 관리자 계정을 사용하여 FTP 사이트에 로그인하려고 하면 관리자 계정에 홈 디렉터리가 정의되어 있지 않으므로 로그온 요청이 거부됩니다. 관리자 계정의 로그인을 허용하려면 에서 %SystemDrive%\inetpub\ftproot\LocalUser\Administrator관리자 계정에 대한 홈 디렉터리를 만들어야 합니다. 그런 다음 관리자 계정을 사용하여 FTP 사이트에 로그인한 경우 세션이 방금 만든 "LocalUser\Administrator" 폴더로 제한됩니다.

요약

이 단계에서 완료한 항목을 요약하기 위해 사용자 이름 물리적 디렉터리(전역 가상 디렉터리 사용) 옵션을 사용하여 FTP 사용자 격리를 구성했습니다. 이 사용자 격리 모드를 사용하는 경우 모든 FTP 사용자 세션은 FTP 사용자 계정의 이름이 같은 실제 디렉터리로 제한되며, 생성된 모든 전역 가상 디렉터리가 모든 사용자에게 적용됩니다.

각 사용자에 대한 홈 디렉터리를 만들려면 먼저 FTP 서버의 루트 폴더 아래에 도메인 이름을 따서 명명되거나 로컬 사용자 계정의 LocalUser라는 물리적 디렉터리를 만들어야 합니다. 다음으로 FTP 사이트에 액세스할 각 사용자 계정에 대한 물리적 디렉터리를 만들어야 합니다. 다음 표에서는 FTP 서비스와 함께 제공되는 인증 공급자에 대한 홈 디렉터리 구문을 나열합니다.

사용자 계정 유형 물리적 홈 디렉터리 구문
익명 사용자 %FtpRoot%\LocalUser\Public
로컬 Windows 사용자 계정(기본 인증 필요) %FtpRoot%\LocalUser\%UserName%
Windows 도메인 계정(기본 인증 필요) %FtpRoot%\%UserDomain%\%UserName%
IIS 관리자 또는 사용자 지정 인증 사용자 계정 ASP.NET %FtpRoot%\LocalUser\%UserName%

참고

위의 표에서 %FtpRoot%는 FTP 사이트의 루트 디렉터리입니다. 예를 들면 입니다 C:\Inetpub\Ftproot.

중요 참고: 전역 가상 디렉터리를 사용할 수 있습니다. FTP 사이트의 루트 수준에서 구성된 모든 가상 디렉터리에 충분한 권한이 있는 경우 모든 FTP 사용자가 액세스할 수 있습니다.

모든 디렉터리에 대한 사용자 격리 설정 구성

모든 디렉터리에 대해 사용자를 격리하는 경우 모든 FTP 사용자 세션은 FTP 사용자 계정의 이름이 같은 실제 또는 가상 디렉터리로 제한됩니다. 또한 생성된 모든 전역 가상 디렉터리도 무시됩니다. 이 단계에서는 모든 디렉터리에 대한 사용자 격리를 구성하고 관리자 사용자에 대한 가상 디렉터리를 추가합니다.

  1. IIS 관리자에서 만든 FTP 사이트의 노드를 클릭합니다. 그러면 모든 FTP 기능에 대한 아이콘이 표시됩니다.

  2. FTP 사용자 격리 아이콘을 두 번 클릭하여 FTP 사용자 격리 기능을 엽니다.
    F T P 사용자 격리 바로 가기가 강조 표시된 I S Manager 화면의 새 F T P 사이트 홈 설정 스크린샷

  3. FTP 사용자 격리 기능 페이지가 표시되면 사용자 이름 디렉터리(전역 가상 디렉터리 사용 안 함) 옵션을 선택한 다음 작업 창에서 적용을 클릭합니다.
    I S Manager 화면의 F TP 사용자 격리 섹션에 사용자 이름 디렉터리(전역 가상 디렉터리 사용 안 함) 옵션이 선택된 스크린샷

  4. FTP 사이트의 트리 노드를 확장한 다음 LocalUser 폴더를 마우스 오른쪽 단추로 클릭하고 가상 디렉터리 추가를 클릭합니다.

    참고

    이 예제에서 "LocalUser" 폴더는 물리적 디렉터리이지만 가상 디렉터리를 사용할 수도 있습니다.

    마우스 오른쪽 단추 클릭 드롭다운 메뉴의 가상 디렉터리 추가 옵션에 포커스가 있는 I S Manager 화면의 연결 창 스크린샷

  5. 가상 디렉터리 추가 대화 상자가 나타나면 다음을 수행합니다.

    • 별칭에 대해 "administrator"를 입력합니다.
    • 실제 경로에 대해 를 입력 %SystemDrive%\inetpub\adminfiles 합니다.
    • 이러한 항목을 완료했으면 확인을 클릭합니다.
      가상 디렉터리 추가 대화 상자의 스크린샷

FTP 사이트에 로그인

이제 사용자 격리를 사용하여 FTP 사이트에 로그인할 수 있지만 다음 정보가 적용됩니다.

  1. 3단계와 마찬가지로 FTP 사이트에 익명으로 로그인하면 세션이 필수 구성 요소 섹션에서 만든 "LocalUser\Public" 폴더로 제한됩니다.
  2. 관리자 계정을 사용하여 FTP 사이트에 로그인하면 세션이 방금 만든 "/LocalUser/administrator" 가상 디렉터리로 제한됩니다.

요약

이 단계에서 완료한 항목을 요약하기 위해 사용자 이름 디렉터리(전역 가상 디렉터리 사용 안 함) 옵션을 사용하여 FTP 사용자 격리를 구성했습니다. 이 사용자 격리 모드를 사용하는 경우 모든 FTP 사용자 세션은 FTP 사용자 계정의 이름이 같은 가상 또는 물리적 디렉터리로 제한되며 생성된 모든 전역 가상 디렉터리가 무시됩니다.

각 사용자에 대한 홈 디렉터리를 만들려면 먼저 도메인 이름을 따서 명명되거나 로컬 사용자 계정에 대해 LocalUser라는 FTP 서버의 루트 폴더 아래에 가상 또는 물리적 디렉터리를 만들어야 합니다. 다음으로 FTP 사이트에 액세스할 각 사용자 계정에 대한 가상 또는 물리적 디렉터리를 만들어야 합니다. 다음 표에서는 FTP 서비스와 함께 제공되는 인증 공급자에 대한 홈 디렉터리 구문을 나열합니다.

사용자 계정 유형 물리적 홈 디렉터리 구문
익명 사용자 %FtpRoot%\LocalUser\Public
로컬 Windows 사용자 계정(기본 인증 필요) %FtpRoot%\LocalUser\%UserName%
Windows 도메인 계정(기본 인증 필요) %FtpRoot%\%UserDomain%\%UserName%
IIS 관리자 또는 사용자 지정 인증 사용자 계정 ASP.NET %FtpRoot%\LocalUser\%UserName%

참고

위의 표에서 %FtpRoot%는 FTP 사이트의 루트 디렉터리입니다. 예를 들면 입니다 C:\Inetpub\Ftproot.

전역 가상 디렉터리를 무시합니다. FTP 사이트의 루트 수준에서 구성된 모든 가상 디렉터리에는 FTP 사용자가 액세스할 수 없습니다. 모든 가상 디렉터리가 사용자의 물리적 또는 가상 홈 디렉터리 경로에 명시적으로 정의되어야 합니다.