메뉴 건너뛰기


Developer > Development Tools
Serv-U를 이용한 FTP 서버 호스팅 하기 - 첫번째
 
사내에서 파일서버를 운영하기 위해서 검토하던 중 사내는 물론 외부에서도 접속할 수 있게 하기 위해 FTP방식으로 운영하기로 결정하였습니다.
이에 Serv-U라는 윈도우즈용 FTP 서버를 사용하기로 하였는데...
이 Serv-U가 매우 기능이 많습니다. 그런데 인터넷에서 아무리 찾아봐도 입맛에 맞는 설명이 없더군요.
그래서 제가 직접 학습하며 작성하기로 하였습니다.
 
목표는 직원별로 계정을 발급하고 권한을 부여하여 개인 파일을 저장할 수 있고 필요에 따라서는 서로 공유할 수 있으며 일반 파일 서버 처럼 공통 파일들을 사용할 수 있도록 하고 또 외부사람은 익명의 계정으로 적당한 권한으로 파일을 올리고 받을 수 있도록 하는 것입니다.
 
갈길이 멀기에 설치는 생략합니다. 그냥  설치파일 실행 후 Next만 누르면 됩니다.
 
설치 후 Serv-U 관리툴을 실행하면 다음과 같은 화면을 보실 수 있습니다.
 
20080602_224841.png
 
관리툴의 화면은 최상단에 메뉴, 그 아래에 툴바가 있고...
왼쪽에 환경설정을 위한 아이템 트리가 있는 패널이 있고 오른쪽에 값을 지정하고 변경할 수 있는 패널이 있습니다. 왼쪽을 트리패널(Tree Panel)이라하고 오른쪽을 설정패널(Configuration Panel)이라고 합니다.
제일 하단에는 상태바가 있습니다.
 
 
1. 라이센스 입력 및 확인
 
트리패널에서 보면 "License"라는 항목이 있습니다. 이를 클릭하면 설정패널 아래와 같은 화면이 나타납니다.
20080602_230059.png
라이센스를 입력하지 않았으므로 개인용 버전으로 다음과 같은 제한사항이 나타납니다.
- 최대 한개의 도메인 만을 사용할 수 있음
- 최대 5인의 계정만을 사용할 수 있음
- 최대 2명만이 동시에 FTP서버에 접속할 수 있음
- 윈도우즈 NT-SAM / 액티브디렉토리르 사용할 수 없음
- ODBC 데이터베이스 연결을 사용할 수 없음
- 원격 서버 관리를 사용할 수 없음
- SSL/TLS를 이용한 보안 FTP를 사용할 수 없음
- 가상경로와 링크를 사용할 수 없음
- 사용자별 디스크 할당 공간을 사용할 수 없음
- 업로드/다운로드 비율을 사용할 수 없음
 
설정패널 하단의 "Enter Key" 키 버튼을 클릭하여 라이센스를 입력할 수 있습니다.
제가 입력한 라이센스는 Corporate Edition으로 다음과 같은 화면이 나타납니다.
 
20080602_231112.png  
개인용일때의 제한이 모두 풀린것을 알 수 있습니다.
 
 
2. 전역설정
 
Serv-U의 환경 설정은 전역 설정과 도메인별 설정으로 나눠집니다.
도메인별 설정에 값을 지정하지 않으면 전역설정이 사용됩니다.
여기서는 전역설정의 각 항목을 알아 보도록 하겠습니다.
미리 이야기 하지만 특별한 제한을 두지 않으려면 특별히 값을 설정할 필요는 없습니다.
 
트리패널의 두번째 "Settings"를 클릭하면 설정 패널이 다음과 같이 나타납니다.
20080602_233710.png
 
위의 화면은 각각 다음을 의미합니다.
- Max. upload speed ( ) KBytes/sec : 최대 업로드 속도를 초당 KByte단위로 지정합니다.
- Max. download speed ( ) KBytes/sec : 최대 다운로드 속도를 초당 KByte단위로 지정합니다.
- Max. no. of users ( ) : 최대 동시 사용자 수를 지정합니다.
- Check anonymous passwords : 익명 사용자가 입력한 암호가 Email형식에 맞는지 검사하여 맞지 않으면 인증을 거부하도록 합니다.
- Delete partially uploaded files : 업로드 도중 끊겨서 부분적으로 업로드된 파일을 주기적으로 자동으로 지우게 합니다.
- Block anti time-out schemes : FTP 클라이언트가 연결을 유지하기 위해 사용하지 않는 동안 연결을 유지하기 위한 패킷을 보내는데 이를 감지하여 연결을 끊게 합니다.
- Block "FTP_bounce" attacks and FXP : 포트명령을 통해 공격해 올 수 있는 해킹을 방지합니다. 단 이를 체크하면 서버간(FXP) 파일전송을 할 수 없습니다.
- Block users who connect more than (4)times within (30) seconds for (5) minutes : 30초내에 4번 이상 접속한 사용자의 접속을 끊고 5분 동안 다시 접속을 하지 못하게 합니다.
 
 
20080602_233846.png
 
 SSL/TLS를 통한 암호화로 파일전송을 할 경우 암호키의 기반 값으로 설정합니다.
- Common name : 서버의 도메인 이름 혹은 IP 주소를 입력합니다.
- E-mail : 이메일 주소를 입력합니다.
- Organization : 기관명을 입력합니다.
- Unit : 단체명을 입력합니다.
- City/town : 도시명을 입력합니다.
- State/province : 주명을 입력합니다.
- Country : 나라명을 입력합니다.
 
 
20080602_233953.png
 
일정시간 파일 목록 정보를 별도로 저장하여 FTP속도를 향상 시킵니다.
- Enable cache : 캐쉬 기능을 활성화 합니다.
- Max size (25) listings :  최대 25개의 파일 목록 정보를 캐쉬합니다.
- Time-out (600) seconds : 캐쉬를 600초 동안 보관합니다.
- Auto refresh : 캐쉬의 정보를 자동으로 갱신하여 보여줍니다.
 
20080602_234036.png
 
Server, Sockets, File Uploads, File Downloads 항목으로 구분하여 좀 더 기술적인 사항들을 설정할 수 있습니다.
 
1) Server
- Enable security
- Enable low-security SSL ciphers
- Disable SSLv2 support
- Auto-configure firewall through UPnP
-- Packet time-out (300) seconds
-- Dir listing mask (rw-rw-rw-)
-- PASV port range (  )-(  )
 
2) Sockets
- Inline out-of-band data : 
- Send keep-alive's : 정기적으로 패킷을 보내 socket의 연결 상태를 점검합니다.
- Disable Nagle algorithm : 체크하면 전송할 패킷이 생기면 바로 바로 전송하게 합니다. 이는 전송속도는 빨라질 수 있지만 네트웍에 부하가 증가합니다. 
-- Send buffer (32768) bytes : 소캣의 전송 버퍼 크기를 설정합니다.
-- Receive buffer (32768) bytes : 소캣의 수신 버퍼 크기를 설정합니다.
 
3) File Uploads
- Allow no/read access : 업로드 중인 파일은 오픈할 수 있지만 다른 클라이언트나 프로세스가 접근할 수 없도록 합니다.
- Allow no access : 업로드 중인 파일에 다른 클라이언트나 프로세스가 접근할 수 없도록 합니다.
- Allow full access : 업로드 중인 파일에 아무 조치를 취하지 않습니다.
 
4) File Downloads
- Allow full access : 다운로드 중인 파일을 읽고 쓸수 있습니다.
- Allow read access : 다운로드 중인 파일은 읽을 수만 있습니다.
 
 
3. 행동(Activity)
 
Serv-U를 모니터링 할 수 있습니다.
Auto reload를 체크하면 자동으로 내용을 최신 정보로 갱신하여 줍니다.
 
20080602_234355.png
현재 접속한 사용자에 대한 각종 정보를 보여 줍니다.
마우스로 사용자를 오른쪽 클릭하여 메시지를 전달하거나 접속을 끊을 수 있습니다.
 
20080602_234428.png
 
 차단된 IP목록을 각종 정보와 함께 보여줍니다. 
 
20080602_234519.png
 
서버의 현재 상태 정보를 보여줍니다.
 
 
4. 도메인 등록
 
Serv-U를 통해 FTP 서비스를 하기 위해서는 도메인을 등록하여야 합니다.
도메인은 마치 Web서버의 가상호스트(Virtual host)처럼 동작합니다.
즉, 하나의 Serv-U에 여러 도메인을 등록할 수 있습니다.
 
도메인을 등록하기 위해서는 둘바에서 20080602_234610.png  를 클릭하거나 메뉴에서 ["Domains" > "New Domain"]을 선택하거나 트리패널에서 ["Domains" > "New Domain"]을 선택하면 새로운 도메인을 등록할 수 있습니다.
 
 20080602_235140.png
 
 
하나의 컴퓨터에 여러개의 IP를 등록할 수 있는데 이중  서비스에 사용할 하나의 IP주소를 적습니다.
콤보박스의 아래로 펼치면 현재 컴퓨터의 IP들이 나타납니다. 이중에서 선택하면 됩니다.
 
 
20080602_235334.png  
 
도메인 이름을 입력합니다. 
 
20080602_235526.png
 
FTP서비스에 사용할 포트 번호를 1에서 65535 범위 안에서 적습니다. FTP기본 포트는 21번이므로 그냥 그대로 두는게 좋습니다.
 
 
 
20080602_235638.png
 
도메인의 환경설정을 저장할 방법을 지정합니다.
INI파일 혹은 윈도우즈 레지스트리, ODBC, 윈도우즈 계정등과 연동 시킬 수 있습니다.
여기까지 하면 도메인이 만들어집니다.
 
20080602_235739.png
 
트리패널에서 도메인을 클릭하면 설정패널에 위와 같은 화면이 나타나는데 만약 현재 컴퓨터가 동적 IP할당을 사용할 경우 "Enable dynamic DNS"를 체크하고  이여 나타나는 "Dynamic DNS"탭을 이용하여 동적IP를 맵핑시켜주는 외부 서비스에 등록하여 서비스를 할 수 있습니다. 
 
 
20080602_235926.png
 
만약 보안이 필요하다면 "Security"항목에서 SSL/TLS를 선택하실 수 있습니다. 
 
 
5. 도메인 설정
 
 
트리패널을 보면 각 도메인 별로 "Settings" 항목이 있습니다. 이는 도메인 설정에 필요한 값들을 지정할 수 있습니다. 일부 항목들은 전역 설정의 항목들과 중복되는 부분이 있습니다. 이경우 도메인 설정이 우선합니다. 설정하지 않으면 전역 설정이 기본값으로 지정됩니다.
 
20080603_000155.png
 
- Max. no. of users ( ) : 최대 동시 사용자 수를 지정합니다.
- Minimum password length ( ) characters : 암호로 사용할 수 있는 최소 글자수를 지정합니다.
- Password expiration ( ) days : 암호의 사용기간을 날수로 지정하여 지정된 날수가 지나면 암호를 변경하도록 합니다.
- Require complex passwords  : 암호에 숫자와 기호 문자가 포함되어야만 설정할 수 있도록 합니다.
- Automatically create home directory : 사용자 계정 등록시에 지정된 홈디렉토리를 자동으로 생성하도록 합니다.
- Use only lower case for files/dirs : 파일과 디렉토리를 모두 소문자만을 사용하도록 합니다.
- Interpret Windows' shortcuts as links : 윈도우즈에 바로가기를 해석하도록 합니다. 체크하지 않으면 일반 파일로 인식하게 됩니다.
 
 
20080603_000229.png
 
FTP서비스에 공개할 디렉토리들을 어떻게 보여 줄 것인지를 결정하게 됩니다.
이부분이 관리자에게는 복잡하기도 하고 중요하기도 합니다.
실제 사용예는 다음 강좌 때 나오므로 여기서는 뭘 하는 기능인지만 알아 봅시다.
"Virtual Paths"에는 두가 설정하는 곳이 있습니다. 하나는 "virtual path mapping"이고 다른 하나는 "links"입니다. 이하 "virtual path mapping"은 줄여서 "맵핑"이라고 하고 "links"는 그냥 "링크"라고 하겠습니다.
"맵핑"은 유닉스의 "symbolic link"와 유사하며 "링크"는 윈도우즈의 "바로가기"와 유사합니다.
즉, "맵핑"은 어떤 디렉토리 아래 다른디렉토리를 특정 이름으로 메달아 놓는 것이구요.
"링크"는 특정한 디렉토리로 빠르게 이동하는 지름길을 만들어 놓는 것입니다.
그래도 이해가 잘 안가시나요? (저는 이게 뭔지 처음에 무지 헷갈렸음...)
다른 관점으로 보면 "맵핑"은 가상의 상하 디렉토리 구조를 만들어서 FTP사용자는 그러한 디렉토리 구조가 실제로 있는 것으로 보이게 되는 것을 의미하구요. "링크"는 단순 지름길만을 제공하여 특정 디렉토리에서 완전 다른 디렉토리로 빠르게 이동 할 수 있도록 합니다.
 
 
20080603_000257.png

20080603_000327.png 

20080603_000352.png 

20080603_000430.png
 
 20080603_000456.png
 

 
 
Creative Commons License
Creative Commons License이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
Copyright 조희창(Nicholas Jo). Some rights reserved. http://bbs.nicklib.com