Windows Server 2008이 나오면... (24) - FTP on IIS 7.0

image 

이전 포스트에서 살짝 소개해드린 데로, Windows Server 2008에 내장된 기본 FTP 서비스는 6.0용 FTP 서비스가 포함되어져 있습니다. IIS 4.0 시절서부터 사용자 고립모델을 제외하고는 크게 변화가 없었던 FTP 서비스가 Windows Server 2008에서부터는 다시 태어납니다 :)

지금까지 FTP를 쓰시면서, 느끼셨던 몇가지들.. 무엇이 있을까요?

1. Web 사이트의 유지 보수를 위해서, FTP를 사용하는 경우, IIS 관리 도구에서 2개의 사이트를 생성해야 합니다. 하나는 WWW, 하나는 FTP..
2. FTP는 암호화 할 수 있는 방법이 없다던데.. TLS나 SSL을 사용할 수는 없나요?
3. 사용자 별로 권한을 IIS 관리 도구에서 부여하고 싶습니다. NTFS 권한으로 설정하는 것은 복잡하고, 번거롭습니다.
4. FTP는 호스트 헤더를 지원하지 않나요? 21번 포트 하나로 여러 FTP 사이트를 운영하고 싶습니다.
5. 사용자 고립 모델 설정시, 보안을 위해 전역 가상 디렉터리만 사용하지 않고 싶습니다.
6. FTP 인증을 위해 .NET Membership을 이용하고 싶습니다.

제가 몇번 들었던 사항들을 쭉 나열해 보았습니다. IIS 7.0의 FTP 서비스는 기존의 FTP 아키텍쳐와는 상당히 다른 모습을 보입니다.

먼저 Windows Server 2008용 FTP를 설치하시기 위해서는...

1. Windows Server 2008 Beta 3 설치
2. IIS 7.0 웹 서비스 설치 (IIS 7.0 관리 도구 및 웹 사이트에 바인딩을 위해서 IIS 7.0이 설치되어져 있어야 합니다.) - FTP 모듈은 설치하실 필요가 없습니다.
3. FTP 관련 모듈 다운로드 및 설치

FTP for IIS 7.0 (amd64)

FTP for IIS 7.0 (x86)

기능은 다음과 같습니다.

1. 기존 웹 사이트에, FTP 프로토콜 바인딩
- 별도의 FTP 사이트 생성 없이, 웹 사이트에 추가로 FTP 설정을 하실 수 있습니다

image

image

2. FTP 호스트 헤더 지원
- 웹 사이트와 마찬가지로 21번 포트 하나로 여러개의 사이트를 운영하실 수 있습니다.

image

3. SSL 지원 (FTPS)

image

FTP의 특징상, 계정과 암호를 전송하는 컨트롤 채널과 데이터를 전송하는 데이터 채널로 나누어지게 됩니다. 이 경우, 둘다 사용, 둘 중 어느쪽만 사용, 모두 사용 안함으로 나누어서 설정할 수 있습니다. (TLS-C/TLS, TLS-P/SSL를 모두 지원할 수 있습니다.) Microsoft의 IIS 7.0 FTP는 SFTP(FTP over SSH)는 지원하지 않습니다.

image

SSL을 이용하시려면, 인증서가 필요하다는 것은 잘 아실 것입니다. 이 경우, 공인 인증 기관에서 SSL용 인증서를 구입 또는 사내 인증 서버에서 사설 인증서를 발급받아 사용하실 수 있습니다. IIS 7부터는 인증서에 대한 발급이 별도의 메뉴로 분리되어져 있습니다.

image

4. 사용자 고립 모드 기능 추가

Windows Server 2003에서 제공하는 FTP 사용자 고립 모드에 더불어, 전역 가상 디렉터리를 지원하지 않는 사용자 고립 모드가 추가되었습니다.

image

5. FTP 사이트 레벨에서 인증 수준을 결정

기존 IIS 6.0의 FTP는 FTP 사이트 레벨에서 A라는 사용자는 쓰기, B라는 사용자는 읽기, C라는 그룹은 모두 읽기등의 권한 허가 설정이 가능해졌습니다. 이를 통해 관리자는 NTFS 권한 설정과는 별도로 FTP레벨에서 사용자 허가 수준을 제어할 수 있습니다.

image

6. ApplicationHost.Config을 이용한 설정 변경

IIS 7.0부터는 %windir%\System32\Inetsrv\Config 폴더 밑에 ApplicationHost.Config내에 관련 설정을 저장합니다. 당연히 FTP에 관련된 정보도 여기에 저장되며, 이에 대한 설정을 텍스트 기반에서 바로 수정할 수 있습니다.

image

간단하게 FTP on IIS 7.0을 살펴보았습니다. 보안이 향상되고, 관리자에게 더 많은 제어를 할 수 있게한 FTP 서비스를 처음 제가 살펴보았을 때, 상당히 감회가 새로웠습니다. 다시 한번 관리자에게 FTP를 편리하면서 안전하게 사용할 수 있도록 제공한 많은 기능들을 살펴보시는 것도 의미있는 시도가 되지 않을까 싶습니다.