Windows Server IIS·FTP 서버 구축 가이드 (사용자 격리·방화벽 설정)

목차

이 글에서는 Windows Server에서 IIS 웹 서버와 FTP 서버를 설치·설정하는 과정을 매뉴얼 형태로 정리한다. IIS 역할 추가부터 FTP 사용자 계정 생성, 사용자별 디렉터리 권한 설정, FTP 사이트 추가, 사용자 격리, 방화벽 설정, 그리고 FileZilla로 파일을 전송하는 테스트까지 단계별로 따라 할 수 있다. 530 에러 같은 흔한 트러블슈팅도 함께 다룬다.

IIS와 FTP 개요

IIS(Internet Information Services)는 마이크로소프트 서버 패키지에 포함된, 웹 서버를 운영하기 위한 관리 툴이다.

FTP는 파일 전송을 위한 프로토콜로, 클라이언트와 서버 간에 파일을 전송하는 데 사용된다. IIS에서도 FTP 서버 기능을 제공하여 파일을 업로드하거나 다운로드할 수 있다.

본 매뉴얼에서는 IIS를 설치하고 IIS에 FTP 서버를 설정해, 외부 클라이언트와 연결하여 클라이언트 → 서버로 파일을 전송하는 과정을 안내한다.

IIS 설치

서버 관리자 [대시보드]에서 시작한다(부팅 시 기본으로 팝업 오픈).

Windows Server 서버 관리자 대시보드

서버 관리자 화면에서 [역할 및 기능 추가]를 클릭한다. 클릭하면 서버 관리자 – 대시보드가 나온다.

IIS 역할 및 기능 추가 마법사

앞부분은 기본값으로 [다음]을 눌러 [서버 역할]까지 넘어간다. 그중 FTP Service만 추가로 체크하고 다음으로 넘어간다. 확장성(Extensibility)은 전문가용으로 일반 사용자에게는 필요 없지만, 체크해도 무방하다.

IIS 서버 역할 선택
IIS 기능 선택
IIS 역할 서비스 선택

[다음]을 클릭한다.

IIS 설치 진행
IIS FTP 역할 서비스 선택

FTP 서버, FTP 서비스를 체크한다(FTP 확장성은 전문가용).

IIS FTP 서비스 체크
IIS 설치 완료
IIS 설치 후 FTP 메뉴 활성화 화면

IIS(인터넷 정보 서비스) 관리자를 실행하면 FTP 관련 메뉴가 활성화된 것을 확인할 수 있다.

FTP 서버 설정

FTP 사용자 설정

FTP를 사용하려면 각각의 디렉터리에만 접근할 수 있는 일반 사용자 계정을 생성하는 것이 보안상 좋다. 컴퓨터 관리에서 사용자를 추가할 수 있다.

컴퓨터 관리에서 FTP 사용자 추가

왼쪽의 사용자를 우클릭한 후 [새 사용자(N)]를 클릭한다. 사용자 이름과 비밀번호를 지정하되, 비밀번호에는 영문자·숫자·특수문자가 모두 포함되도록 한다.

FTP 사용자 이름과 비밀번호 입력

[만들기(E)]를 클릭한다.

FTP 사용자 계정 생성

사용자 계정이 추가되었다.

FTP 사용자 계정 추가 확인

사용자 디렉터리 생성 및 권한 부여

사용자가 사용할 디렉터리를 하나 만든다. 이때 디스크 관리를 위해 별도 로컬 디스크(D:)를 추가(분리)하는 것이 좋다. D 드라이브를 생성하고 그 안에 LocalUser, 다시 그 안에 korjsh01(사용자 명 폴더)를 생성했다.

FTP 사용자 디렉터리 생성
FTP 디렉터리 보안 탭
FTP 디렉터리에 사용자 추가

연결할 계정을 입력한다. 못 찾을 경우 [고급(A)]에서 계정을 찾는다.

FTP 디렉터리 권한 부여

디렉터리에 일반 계정 권한을 부여한다. korjsh01 사용자 계정이 korjsh01 폴더에만 접근하여 읽기·쓰기(수정)를 할 수 있도록 보안을 설정하는 과정이다. 사용자를 추가하고 해당 폴더에 대해서만 모든 권한을 부여한 뒤 [확인]을 클릭한다.

FTP 사이트 추가

IIS FTP 사이트 추가

외부에서 접속할 FTP 사이트를 추가한다. 우측의 [FTP 사이트 추가]를 클릭한다.

FTP 사이트 이름과 콘텐츠 디렉터리 설정
FTP 사이트 바인딩 및 SSL 설정

사용자별로 계정 및 디렉터리를 다르게 설정했다면, 콘텐츠 디렉터리를 최상위 폴더로 잡아준다.

FTP 인증 및 권한 설정
FTP 사이트 생성 진행
FTP 사이트 생성 완료

FTP 사용자 격리

일반 사용자가 로그인할 때 FTP 사용자 격리를 하지 않으면 최상위 및 하위 폴더가 모두 조회되어 보안에 취약하다.

IIS FTP 사용자 격리 메뉴

[FTP 사용자 격리]를 클릭한다.

FTP 사용자 이름 디렉터리 격리 선택

[사용자 이름 디렉터리(전역 가상 디렉터리 사용 안 함)]를 선택한다. 사용자 이름(korjsh01)의 디렉터리만 사용할 수 있게 하고, 다른 디렉터리는 볼 수 없게 하는 설정이다.

FTP 방화벽 설정

IIS FTP 방화벽 지원 설정
FTP 데이터 채널 포트 범위 설정
Windows 방화벽 FTP 인바운드 규칙

트러블슈팅: 530 에러와 홈 디렉터리 지정

여기까지 하고 FileZilla로 FTP 파일 전송 테스트를 진행했다. 그런데 FTP 서버에 로그인은 되지만, 530 에러가 발생하며 서버의 디렉터리를 조회할 수 없는 상황을 만났다.

문제는 FTP 사용자 korjsh의 홈 디렉터리를 지정해주지 않았기 때문이다. FTP 사용자의 속성에서 D 드라이브 밑에 생성한 디렉터리를 홈 디렉터리로 지정한다.

FTP 사용자 홈 디렉터리 지정
FTP 사용자 홈 디렉터리 경로 설정
FTP 홈 디렉터리 지정 완료

FileZilla로 파일 전송 테스트

FileZilla FTP 접속 설정

FTP 전송 설정을 [능동형(Active)]으로 설정하고 파일을 전송한다.

FileZilla로 FTP 파일 전송
FTP 파일 전송 성공

파일 전송에 성공했다.

구축 전에 알아 둘 핵심 개념

IIS로 웹·FTP 서버를 올릴 때 자주 막히는 지점은 대부분 권한·격리·방화벽 세 가지에서 비롯됩니다. 화면을 따라 하기 전에 아래 개념을 이해해 두면, 530 오류 같은 문제가 나도 스스로 원인을 좁힐 수 있습니다.

FTP 액티브 모드와 패시브 모드

FTP는 명령을 주고받는 제어 채널(21번 포트)과 실제 파일이 오가는 데이터 채널을 따로 씁니다. 액티브 모드는 서버가 클라이언트로 데이터 연결을 여는 방식이라, 클라이언트 앞단에 방화벽·공유기(NAT)가 있으면 차단되기 쉽습니다. 패시브 모드는 클라이언트가 서버로 데이터 연결을 여는 방식이라 NAT 환경에서 더 안정적입니다. 그래서 실무에서는 패시브 모드를 기본으로 두고, 서버 방화벽에 데이터 채널 포트 범위를 함께 열어 줍니다. 본문에서 방화벽 지원과 포트 범위를 설정하는 이유가 바로 이것입니다.

사용자 격리가 왜 필요한가

FTP 사용자 격리(User Isolation)를 설정하지 않으면, 로그인한 사용자가 최상위 폴더와 다른 사용자의 폴더까지 볼 수 있어 보안에 취약합니다. “사용자 이름 디렉터리” 격리를 적용하면 각 계정은 자신의 이름과 같은 폴더 안에만 갇혀, 남의 디렉터리에는 접근할 수 없습니다. 여러 사람이 같은 서버에 파일을 올리는 환경이라면 반드시 적용해야 하는 설정입니다.

보안을 위해 계정·디스크를 분리하는 이유

FTP 전용 일반 사용자 계정을 따로 만들고 시스템 드라이브(C:)가 아닌 별도 데이터 드라이브(D:)에 업로드 폴더를 두는 것은, 만에 하나 계정이 탈취되어도 시스템 영역과 다른 사용자 데이터에 피해가 번지지 않게 하기 위한 격리 원칙입니다. 관리자 계정으로 FTP를 열어 두는 것은 매우 위험하니 피해야 합니다.

자주 묻는 질문(FAQ)

로그인은 되는데 530 오류가 납니다.

로그인 후 디렉터리 조회 단계에서 나는 530 오류는 대부분 FTP 사용자의 홈 디렉터리가 지정되지 않았기 때문입니다. 사용자 계정 속성에서 실제 업로드 폴더(예: D 드라이브의 사용자 폴더)를 홈 디렉터리로 지정하면 해결됩니다. 본문 트러블슈팅 단계에 그 과정이 정리되어 있습니다.

FileZilla로 접속이 안 됩니다.

서버 방화벽에서 21번 포트와 데이터 채널 포트 범위가 열려 있는지, 그리고 클라이언트/서버의 전송 모드(액티브·패시브)가 방화벽 환경에 맞는지 확인하세요. NAT 뒤에 있는 서버라면 패시브 모드 + 포트 범위 개방이 가장 안정적입니다.

FTP 대신 더 안전한 방법은 없나요?

일반 FTP는 아이디·비밀번호와 파일이 암호화 없이 전송됩니다. 보안이 중요하다면 SSH 기반의 SFTP(22번 포트)나 SSL/TLS로 암호화하는 FTPS를 쓰는 것이 좋습니다. 내부망 학습·테스트 목적이라면 일반 FTP로 원리를 익히고, 외부에 노출되는 실서비스에서는 반드시 암호화 전송을 적용하세요.

정리

Windows Server에 IIS와 FTP 서비스를 설치하고, 전용 사용자 계정과 디렉터리 권한을 설정한 뒤 FTP 사이트를 추가했다. 사용자 격리와 방화벽까지 구성하고, 530 에러는 사용자 홈 디렉터리를 지정해 해결한 다음 FileZilla로 파일 전송을 확인했다. 이로써 사용자별로 격리된 안전한 파일 업로드·다운로드 환경이 완성된다.

💬 댓글 0

💬 댓글을 남기려면?
첫 댓글을 남겨보세요 ✨

이 콘텐츠가 도움이 됐나요?

누스쿨 커뮤니티에서 더 많은 커리어 전략을 나눠요