[완료] FTP 서버 설치 고민 중입니다..

qustus의 이미지

아는 사람들끼리 파일 전송을 목적으로 FTP 서버를 설치하려고 합니다.
ProFTPD 설치는 했는데 FTP가 기본적으로 암호화되지 않은 프로토콜이라고 해서...
이때부터 고민 시작입니다.

우선 가장 헷갈렸던 부분인데 SFTP는 FTP와는 아무 관계가 없는 것이더군요? -_-;;
기존 FTP에 암호화 기능을 추가하는 것이 아니라,
SSH에서 지원하는 암호화 기능에 파일 전송 기능이 합쳐진 셈이랄까....암튼 그렇더군요.

일단 같이 쓸 사람 중에는 컴퓨터 사용에 익숙치 않은 사람도 있어서 SSH 터널링을 쓰는 건 제외했습니다.

그리고 가능하면 별도의 FTP 클라이언트 없이 웹브라우저만으로 충분한 암호화를 제공했으면 하는 바람입니다.
따라서 SFTP도 적당하지 않은 것 같습니다.

그래서 결국 웹브라우저에서 FTP 서버에 접근할 때 입력하는 계정 정보가 암호화 되는지를 찾는 중인데
이제 매뉴얼 뒤지기도 솔직히 지치고 지겨워서 이렇게 도움을 청합니다;;;

웹브라우저에서 FTP 서버에 접근할 때 계정 정보를 암호화 시키는 게 가능한지요?
브라우저에 따라 달라지는지, 서버에서 어떤 설정을 해야 하는지,
그리고 데이터와 커맨드 각각에 대해 어떻게 지원이 되는지...이러한 것들을 알고 싶습니다.

Hyun의 이미지

제가알기론 ftp는 프로토콜에서 암호를 받을 때 암호문자열을 암호화 없이 그대로 평문으로 받습니다.
그게 싫으면 sftp를 쓰는 수 밖에 없는 듯 합니다.


나도 세벌식을 씁니다
다콘의 이미지

TLS 로 암호화 통신 할 수 있습니다.
대부분의 FTP 데몬이 지원합니다.

bugiii의 이미지

FTPS 로 검색해보세요.

trim703의 이미지

http://www.digimoon.net/blog/321

그리고 proftpd로는 mod_tls을 첨가하여 ftps 구현 가능합니다.

김정균의 이미지

ProFTPd의 mod_tls 를 사용하면, 인증 부분만 암호화 할 수도 있습니다. data 전송은 암호화 하지 않고 보낼 수 있습니다. binary data전송이 주라면, data session 은 암호화 하지 않는 것이 좋습니다. 암호화 이슈로 전송 속도가 느려지거든요.

trim703의 이미지

vsftpd도 인증 채널과 데이터 채널별로 ssl 별도 지정이 가능하더군요.

force_local_logins_ssl=YES
force_local_data_ssl=NO

그런데 ftps를 구현하는 게 서비스하는 데엔 좀 문제가 따릅니다.
일단 국내에서 널리 사용되는 alftp의 경우 2009년 4월 현재까지 sftp는 지원하나 ftps는 지원하지 않고 있습니다.
CuteFTP가 지원하긴 하는데 요건 상용이라는 문제가 있고...
WS_FTP_Pro도 메뉴 상으로는 지원하는 거 같은데 제가 테스트해 본 바로는 사용법이 잘못된 건지 제대로 접속이 안되더군요.
결론은 국내환경에선 파일질라가 답이겠더군요.
문제는 vsftpd의 경우 ftps와 ftp를 함께 지원할 수가 없습니다. ftps를 구축해 놓으니 ftp는 사용할 수 없더군요. proftpd의 경우는 안 써봐서 어떤지 모르겠습니다.
그래서 서로 다른 ftp 데몬을 2개 띄워서 하나는 ftp, 하나는 ftps용으로 돌려야겠다는 생각입니다.
이러면 ftp와 ftps 둘 중 하나는 21번 포트를 포기해야 하는 문제가 생깁니다.

손쉽고 간결한 사용을 원하는 유저들만 피곤해집니다.

EcusE의 이미지

coreftp ( http://coreftp.com )의 경우 auth tls를 지원하고 CCC (clear command channel)을 지원해 정균님이 말씀하신 인증부분만
암호화, data chennel은 암호화 하지 않는 접속도 잘 됩니다. coreftp의 라이센스는 (free for personal, educational, and evaluation)라고 하네요.
filezilla는 gpl이고 쓰기도 좋은데 ccc를 지원하지 않습니다. 한동안 포럼을 지켜봤는데 제작자의 의지도 완고해 보이고 지원할 생각이 없어 보입니다.
(무조건 전체 암호화가 좋다는 의견을 내놓더군요 )

proftpd & mod_tls는 아래링크의 글을 참고하세요.
http://free4u.wo.tc/9948

bushi의 이미지

시험해보진 않았습니다만... http://kldp.org/node/93100#
도 닦는 분이시라면 kldp.net 에 따로 프로젝트 열어서 유지해도 되지 않을까 싶네요.
원저자가 해주지 않으면 아무것도 못하는... 그런 세상이 아니지 않습니까 ?

OTL

EcusE의 이미지

저는 도닦는 사람(?)이 아니고 프로그래밍쪽과도 별로 친하지 않습니다 ^^;
이미 해당 쓰레드에 패치를 적용한 filezilla를 올려두었고 제 홈페이지에도
해당 글을 포스팅했습니다만 제대로 작동 안하는 경우가 많이 있더군요. 그래서 좀더 유연한 coreftp를 사용하고 있습니다.

qustus의 이미지

아무래도 웹브라우저의 FTP 클라이언트 기능에는 암호화 지원이 없는 것 같습니다..

파일은 바이너리 위주니까 컨트롤 채널만 암호화 하고
민감한 텍스트 데이터는 전송하지 말라고 말해놔야겠습니다.

문제는 별도의 FTP 클라이언트를 쓰게 하고 반드시 암호화 옵션을 체크하고 실행하게끔 해야 하는 것인데...SFTP의 경우에는 SSH 계정을 주는 것과 같아서 좀 더 위험성이 있는 것 같습니다.

가상 계정을 만들어 주고 FTPS 클라이언트로 접속하게 하는 것이 현재로서는 최선인 듯 합니다.
(나중에는 웹에서 보안 로그인을 하고 파일 공유 사이트와 같은 컨트롤을 설치해서 거기서 전송하게 하는 게 목표입니다...;;)

도움 주신 모든 분들께 감사드립니다. (__)

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.