IIS 8.0 FTP 로그온 시도 제한
- 본 번역문서의 원문은 IIS 8.0 FTP Logon Attempt Restrictions www.iis.net 입니다.
- 본 번역문서는 IIS 8.0 미리보기 - FTP 로그온 시도 제한 www.taeyo.net 에서도 함께 제공됩니다.
호환성
버전 | 비고 |
---|---|
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 서비스에 대한 악의적인 사용자의 접근을 거부하도록 구성하려면 다음의 과정을 따라하십시요:
- 윈도우 8 머신에 관리자 권한으로 로그인합니다.
- IIS(인터넷 정보 서비스) 관리자를 실행합니다.
- 연결 패인에서 서버명을 선택한 다음, 기능 목록에서 FTP Logon Attempt Restrictions을 더블클릭합니다.
- Enable FTP Logon Attempt Restrictions 항목을 체크하고, FTP 서비스가 FTP 클라이언트의 접근을 막을지 여부를 결정하는데 사용하기 위한 로그인 시도 실패 횟수 및 기간을 지정합니다.
- Apply 버튼을 클릭합니다.
이 때, "Write to the log only" 옵션을 선택하면 로그온 시도를 막지 않습니다. 그대신, 지정한 조건이 만족하면 그 사실을 로그에 기록합니다. IT 관리자는 이 정보를 통해서 현재 설정을 실제로 적용하기 전에 사용자들에게 어떤 결과를 가져올지를 미리 예측해본 다음 여러 가지 다른 구성 매개변수를 지정해 볼 수도 있습니다.
요약
본문에서는 윈도우 서버 8의 새로운 FTP 로그온 시도 제한 기능을 이용해서, FTP 서버를 공격하는 악의적인 클라이언트를 거부하기 위해 FTP 서비스를 구성하는 방법을 살펴봤습니다.
FTP 로그온 시도 제한 기능은 서버 수준의 설정이기 때문에 사이트 단위로는 로그온 제한을 설정할 수 없다는 사실에 주의하시기 바랍니다. 공격자는 대부분 단일 사이트보다는 서버를 대상으로 접근을 시도하기 때문에 FTP 서비스는 서버 수준에서 악의적인 사용자의 접근을 막습니다.
- 윈도우 서버 8에 IIS 8 설치하기 2012-04-11 08:46
- ASP.NET 3.5와 ASP.NET 4.5를 지원하는 IIS 8 2012-04-21 22:20
- IIS 8.0 ASP.NET 구성 관리 2012-04-29 10:40
- IIS 8.0 응용 프로그램 초기화 (Application Initialization) 2012-05-15 13:36
- IIS 8.0 동적 IP 주소 제한 2012-05-29 17:17
- IIS 8.0 FTP 로그온 시도 제한 2012-06-04 14:48
- IIS 8.0 CPU 쓰로틀링: 사이트 및 응용 프로그램 샌드박싱 2012-06-15 22:45
- IIS 8.0 중앙집중식 SSL 인증서 지원: SSL 확장성 및 관리용이성 2012-06-22 08:36
- IIS 8.0 서버 이름 표시(SNI, Server Name Indication): SSL 확장성 2012-06-29 14:20
- NUMA 하드웨어 상에서의 IIS 8.0 멀티코어 스케일링 2012-07-06 15:27
- IIS 8.0 익스프레스 개요 2012-07-13 09:14