IIS 8.0 FTP 로그온 시도 제한

등록일시: 2012-06-04 14:48,  수정일시: 2013-10-05 14:58
조회수: 5,768
이 문서는 IIS 기술을 널리 알리고자 하는 개인적인 취지로 제공되는 번역문서입니다. 이 문서에 대한 모든 저작권은 마이크로소프트에 있으며 요청이 있을 경우 언제라도 게시가 중단될 수 있습니다. 번역 내용에 오역이 존재할 수 있고 주석은 번역자 개인의 의견일 뿐이며 마이크로소프트는 이에 관한 어떠한 보장도 하지 않습니다. 번역이 완료된 이후에도 대상 제품 및 기술이 개선되거나 변경됨에 따라 원문의 내용도 변경되거나 보완되었을 수 있으므로 주의하시기 바랍니다.
본 문서에서는 IIS 8.0의 FTP 로그온 시도 제한 기능을 살펴봅니다. 다만, 본문의 원문은 IIS 8이 정식으로 배포되기 이전인 2012년 2월 29일에 공개된 문서로, 일부 내용에 변경사항이 존재할 수 있습니다. 본 문서는 2012년 6월 현재, IIS 8을 미리 살펴보기 위한 사전정보일 뿐입니다.

호환성

버전 비고
IIS 8.0 FTP 로그온 시도 제한은 IIS 8.0에서 도입되었습니다.
IIS 7.5 IIS 7.0 및 IIS 7.5 에서는 FTP 로그온 시도 제한이 지원되지 않습니다.
IIS 7.0

내용

문제점 *

반드시 서버에서 방비하고 있어야 할 취약점 중 하나는 FTP 서비스에 대한 무차별 암호 대입 공격(Brute-Force Attack)입니다. 호스트 운영체제의 실제 사용자 계정이 FTP 계정으로 사용되는 경우가 많기 때문에, 이론상 FTP 서버 유형만 알 수 있다면 관리자 권한을 가진 사용자의 계정을 추측하는 것이 가능합니다. 그리고, 일단 계정 이름이 밝혀지고 나면 악의적인 클라이언트가 서버에 연결해서 해당 계정에 대해 무차별적인 암호 대입 공격을 감행할 수 있습니다. (예: 윈도우 시스템인 경우 administrator, UNIX 시스템인 경우 root)

IIS 7.5에서는 비 윈도우 계정을 사용해서 FTP에 접근할 수 있도록, 개발자들이 사용자 정의 인증 공급자를 작성할 수 있는 FTP 서비스 확장 API가 도입되었습니다. 이 API를 사용할 경우 FTP 계정은 실제 윈도우 계정과는 별개이므로 FTP 계정은 FTP 서비스 외부의 리소스에는 접근할 수 있는 권한이 없으며, 결과적으로 외부로부터 공격받을 수 있는 FTP 서비스 범위가 뚜렷하게 감소됩니다. 마이크로소프트는 IIS 7.5의 FTP 인증 확장 기능을 이용한 사용자 정의 인증 공급자를 작성하여, 비 윈도우 계정에 대한 무차별 암호 대입 공격의 가능성을 줄일수 있는 방법을 제공합니다. 이에 대한 보다 자세한 정보는 다음의 문서를 참고하시기 바랍니다: **

* 개인적으로 FTP 서비스와 관련하여 가장 강조하고 싶은 점은 윈도우 서버 2008/2008 R2 제품군에서는 더 이상 FTP 6.0을 사용하지 말고 FTP 7.x 이상의 버전을 사용하자는 것입니다. 본문에서 설명하는 기능 외에도 다양한 기능들이 추가되었고 보안적으로도 비약적인 발전을 이뤘기 때문입니다. 그럼에도 불구하고 제가 참여했던 프로젝트들을 기준으로 주변을 살펴보면, 아직도 많은 개발자분들과 서버 관리자분들이 구 버전의 FTP 서비스를 사용하시더군요. 실로 안타까운 일이 아닐 수 없습니다.

** 본문의 링크 외에도 FTP 서비스를 사용자 정의할 수 있는 기술에 관한 문서들이 많이 제공되고 있습니다. 예를 들어, 다음 문서는 사용자들의 FTP 홈 디렉터리 제공 방식을 사용자 정의하는 샘플 코드를 담고 있습니다.

How to Use Managed Code (C#) to Create a Simple FTP Home Directory Provider

그리고, 다음 문서는 FTP 서비스 사용자들을 인증하는 방식을 사용자 정의하는 샘플 코드를 담고 있습니다. 위에서 제공되는 링크보다는 조금 더 간단한 예제로 동적 IP 제한에 대해서는 고려하지 않고 있습니다.

How to Use Managed Code (C#) to Create a Simple FTP Authentication Provider

그리고, 이미 Taeyo.net에 번역되어 제공된 다음의 문서도 있구요.

IIS 7.0 인스퍼레이션 - 08, (Configure IIS Manager Authentication 번역 및 주해)

이렇게 풍부한 사용자 정의 기능들을 염두에 두고 상상력을 조금만 발휘해보면 다양한 FTP 서비스를 구축할 수도 있을 겁니다. 가령, 윈도우 계정이 아닌 데이터베이스에 저장되어 있는 직원들의 아이디와 비밀번호를 사용해서 (사실, 액티브 디렉터리를 사용할 수 있다면 가장 이상적이겠죠?) 직급이나 부서, 또는 지점별로 각각 FTP 홈 디렉터리를 제공하는 겁니다. 그리고, FTP 7.x/8.0에서 제공되는 FTP over SSL로 보안을 강화하고 부서별로 쿼터를 할당할 수도 있을 겁니다. 게다가 본문에서 소개하고 있는 로그온 시도 제한 기능까지 더하면 금상첨화겠네요. 더불어 이런 기능들을 래핑해주는 UI 프로그램이라도 함께 제공된다면 멋진 사내 자료실 시스템도 구축 가능할 것 같습니다. 정말 이 정도면 와레즈(Warez)도 문제 없겠네요!

해결방법

마이크로소프트는 윈도우 서버 8의 IIS 8.0에서 사용자 정의 인증 공급자를 작성하지 않고도, 모든 로그인을 대상으로 동일한 기능을 제공하는 내장된 네트워크 보안 기능을 추가했습니다. 본문에서는 서버에 대한 무차별 암호 대입 공격을 방지하기 위해서 FTP 로그인 제한을 활성화시키는 방법을 살펴봅니다.

단계별 지침

전제조건:

  • IIS 8.0과 FTP 서비스가 설치되어 있는 윈도우 서버 8이 필요합니다.

알려진 버그에 대한 해결방법:

  • 현재 이 기능에 대한 알려진 버그는 존재하지 않습니다.

무차별 암호 대입 공격 방지를 위한 FTP 구성하기

IIS 8.0에서는 지정된 기간 동안, 사용자별 FTP 클라이언트의 인증 실패 횟수를 기반으로 FTP 서비스에 대한 접근을 거부하도록 FTP 서비스를 구성할 수 있습니다. 로그인 시도 실패 횟수가 설정된 값에 도달하면, 서버가 FTP 연결을 강제로 닫고 FTP 서비스가 재시작 될 때까지 해당 IP 주소의 FTP 서비스 연결을 거부합니다.

FTP 서비스에 대한 악의적인 사용자의 접근을 거부하도록 구성하려면 다음의 과정을 따라하십시요:

  1. 윈도우 8 머신에 관리자 권한으로 로그인합니다.
  2. IIS(인터넷 정보 서비스) 관리자를 실행합니다.
  3. 연결 패인에서 서버명을 선택한 다음, 기능 목록에서 FTP Logon Attempt Restrictions을 더블클릭합니다.
  4. Enable FTP Logon Attempt Restrictions 항목을 체크하고, FTP 서비스가 FTP 클라이언트의 접근을 막을지 여부를 결정하는데 사용하기 위한 로그인 시도 실패 횟수 및 기간을 지정합니다.
  5. Apply 버튼을 클릭합니다.

이 때, "Write to the log only" 옵션을 선택하면 로그온 시도를 막지 않습니다. 그대신, 지정한 조건이 만족하면 그 사실을 로그에 기록합니다. IT 관리자는 이 정보를 통해서 현재 설정을 실제로 적용하기 전에 사용자들에게 어떤 결과를 가져올지를 미리 예측해본 다음 여러 가지 다른 구성 매개변수를 지정해 볼 수도 있습니다.

요약

본문에서는 윈도우 서버 8의 새로운 FTP 로그온 시도 제한 기능을 이용해서, FTP 서버를 공격하는 악의적인 클라이언트를 거부하기 위해 FTP 서비스를 구성하는 방법을 살펴봤습니다.

FTP 로그온 시도 제한 기능은 서버 수준의 설정이기 때문에 사이트 단위로는 로그온 제한을 설정할 수 없다는 사실에 주의하시기 바랍니다. 공격자는 대부분 단일 사이트보다는 서버를 대상으로 접근을 시도하기 때문에 FTP 서비스는 서버 수준에서 악의적인 사용자의 접근을 막습니다.