이전에 작성했던   FTPS (FTP over SSL/TLS) - proftpd with mod_tls 글에서 ftp(e)s에 관한 글을 썼었는데 이번에는
인증부분만 암호화 그리고 data channel은 암호화 하지 않는 방법에 대해 써볼까 합니다.

먼저 Clear Command Channel (이하 CCC)은 ssl로 감싸진 ftp연결시 data connection문제 (파일 리스트 안보임,
연결 끊김등)
, firewall,router, NAT등의 환경에서 정상동작 하지 않는 경우가 있기때문에 사용됩니다.

자세한것은 아래 링크를 참고하세요.
http://en.wikipedia.org/wiki/FTPS#Firewall_Incompatibility


1. ProFTPD의 설정

아래 설정은 ccc를 위한 proftpd.conf 내용입니다.

#특정 유저그룹에서의 TLSRequired 끄기 (IfUer로 특정 유저별 설정도 가능 - mod_ifsession 모듈 필요)
<IfGroup trusted>
TLSRequired off
</IfGroup>

#익명 ftp에서의 ssl접속 끄기
<IfModule mod_tls.c>
 <Anonymous ~ftp>
User ftp
Group ftp
# Note how TLSRequired is set to off here in the <Anonymous> context
  TLSRequired off
 </Anonymous>
</IfModule>

2. ftp client에서의 접속 설정

아래 그림은 coreftp에서의 설정 입니다. auth_tls와 ccc선택 (ssl listing, ssl transfer는 선택안함)

coreftp.JPG



다른 ftp client도 설정은 비슷할 것으로 예상 됩니다.

아래 그림은 ftp client의 ccc작동 로그입니다.

Array

ccc 명령을 받은 proftpd_tls 로그
[root@free4u tmp]#
date mod_tls: TLSv1/SSLv3 connection accepted, using cipher DHE-RSA-AES256-SHA (256 bits)
date mod_tls: Protection set to Clear
date mod_tls: received CCC, clearing control channel protection


3. 기타 사항
ftp(e)s, ccc를 지원하는 ftp client list
많이 사용하는 filezilla는 ftps는 지원하지만 ccc는 지원하지 않습니다.
(제작자는 완전한 ssl연결만을 권장하더군요) 그래서 filezilla에 소스에 패치를 해 리빌드 해봤습니다.

filezilla에 ccc 비슷하게(?) 사용가능합니다. 

http://free4u.wo.tc/10285 - windows용 filezilla with FTP over SSL patch


coreftp - http://coreftp.com
smartftp - http://www.smartftp.com - 설정 방법
cuteftp - http://www.globalscape.com/cuteftp/ - 설정 방법
FTP Voyager Secure - http://www.ftpvoyager.com/stanvssec.asp

기타 요즘 출시 되는 ftp client는 대부분(?)지원할 것으로 보입니다만 coreftp와 smartftp만
테스트 해봤습니다.


관련링크 :
http://free4u.wo.tc/9948
http://www.castaglia.org/proftpd/modules/mod_tls.html#TLSRequired
http://en.wikipedia.org/wiki/FTPS


  1. Favicon of http://zepinos.blogspot.kr zepinos 2013.02.16 01:06

    TLS 관련 설정을 하다가 이 글과 FileZilla Patch 버젼 글을 발견하여서 많은 도움을 받았습니다. 감사드립니다.아쉬운 점은 오류가 한가지 있다는 것입니다.이 포스팅에서는 아래와 같은 옵션이 있습니다.#ftp client가 보내는 ccc 명령을 지원하기 위해 꼭 필요함TLSRequired auth+data그리고 다른 포스팅에서는 아래와 같이 되어 있습니다.TLSRequired off후자의 경우는 TLS 로도, 일반FTP 로도 모두 접속이 되는 형태입니다. 보안상 문제가 있을 수 있습니다. CCC 와도 큰 상관이 없을 것 같습니다.그리고 전자의 경우는...CCC 가 적용이 안될 것입니다. 제공하시는 FileZilla 로도 파일 전송이 안될 것이구요. 주석 내용은 공식문서의 내용대로 쓰신 것 같은데...제 짧은 영어와 실험을 통해서는 저 옵션은 인증과 데이터 전송에서 TLS 을 사용하는 옵션인 것 같습니다.제가 생각하기에는 아래와 같이 써야 합니다.TLSRequired auth혹은TLSRequired ctrl인증시에 혹은 콘트롤 포트 사용시에 TLS 을 적용하는 옵션입니다. proftpd 의 공식문서에도 설명이 나와 있습니다.http://www.proftpd.org/docs/directives/linked/config_ref_TLSRequired.html미천하지만 도움을 받으면서 이 내용을 적은 제 포스팅 주소도 함께 남깁니다. 좋은 내용으로 글을 남겨주셨는데 제 포스팅에는 살짝 비아냥 식으로 내용이 적힌게 아닌가 죄송스럽네요. 오히려 존경하는 마음에서 글을 썼으니 기분 언짢게 생각치 마시구요...앞으로도 좋은 글과 좋은 결과물 기대하겠습니다.http://zepinos.blogspot.kr/2013/02/ubuntu-proftpd-tls.html

  2. Favicon of https://free4u.wo.tc EcusE 2013.04.04 14:17 신고

    댓글 확인이 늦었습니다. 오늘중으로 확인후 글을 남기겠습니다. 감사합니다.

    글 내용을 다시 확인해보니 암호화 부분중 인증+데이터 채널 제외로 설정한건데 !가 빠져있네요.

    TLSRequired auth+!data

    글 작성시 거의 대부분의 내용을 직접 테스트 해보고 포스팅을 합니다만 미처 확인을 못했던 부분인것

    같습니다. 또한 제서버의 설정은 제대로 되어 잘 돌아갈테니 문제를 더욱 알기가 쉽지 않았네요.

    덕분에 잘못된 내용을 바로잡았습니다. 감사합니다.



---------------------------------------

2014/06/12

FileZilla 3.8.1 CCC patch update
- 첨부파일은 글의 끝부분에 있습니다.

---------------------------------------

Fixed vulnerabilities:
Updated official binaries to use GnuTLS 3.2.15, addressing CVE-2014-3466

New features:
OS X: Partial support for retina displays

---------------------------------------


filezilla with FTP over SSL (CCC - Clear Command Channel) patch


왜 이런패치를 해서 filezilla를 사용하는지는 관련링크의 쓰레드를 읽어보시면 도움(?)이 되실듯 합니다 :)


맞는 카테고리를 찾기가 어려워(?) desktop으로 설정했습니다.

kldp님이 올린글의 패치내용을 적용해 windows용 filezilla 3.1.6을 빌드해봤습니다.

패치내용은 FTP over SSL사용시 로그인 까지만 암호화를 적용하고 이후는 암호화를 사용하지 않는 설정입니다.

윈도우즈에서 gcc를 사용해보니 참 재미(?)있더군요. 정작 filezilla의 빌드타임은 얼마 안되는데 이것저것 필요한것도
많더군요. 그것들 설치하는 시간이 몇배는 더 걸립니다.

적용한 패치내용은 kldp bugiii님의 글 또는 아래를 참고하세요. 라이센스

--- ftpcontrolsocket.cpp        (.../vendor/3.0.8/src/engine/ftpcontrolsocket.cpp)      (revision 3)
+++ ftpcontrolsocket.cpp (.../trunk/src/engine/ftpcontrolsocket.cpp) (working copy)
@@ -939,8 +939,8 @@
*/
else if (pData->opState == LOGON_PROT)
{
- if (code == 2 || code == 3)
- m_protectDataChannel = true;
+ //if (code == 2 || code == 3)
+ // m_protectDataChannel = true;
}
else if (pData->opState == LOGON_CUSTOMCOMMANDS)
{
@@ -1120,7 +1120,7 @@
res = Send(_T("PBSZ 0"));
break;
case LOGON_PROT:
- res = Send(_T("PROT P"));
+ res = Send(_T("PROT C"));
break;
case LOGON_CUSTOMCOMMANDS:
if (pData->customCommandIndex >= m_pCurrentServer->GetPostLoginCommands().size())



테스트 해본결과 원하는 대로(로그인만 암호화 데이타 전송은 암호화 안함)잘 작동하더군요.
windows용 filezilla빌드는 아래링크를 참고했습니다. 몇몇 에러가 나는데 어렵지 않게 해결이 가능할것으로 보입니다.
http://wiki.filezilla-project.org/Compiling_FileZilla_3_under_Windows

첨부파일은 windows2000이하에서는 정상 작동하지 않을것으로 예상됩니다. windows xp이상에서만 사용하세요.
또한 자동업데이트 옵션에 체크가 되어 있다면 실행파일이 바뀔수 있으니 그부분은 신경 쓰셔야 할듯합니다.

관련 링크 :

http://kldp.org/node/104690






FileZilla_3.7.3_CCC_Patched.zip

FileZilla_3.7.4.1_CCC_Patched.zip

FileZilla_3.8.0_CCC_Patched.zip

FileZilla_3.8.1_CCC_Patched.zip






  1. 이전 댓글 더보기
  2. Favicon of http://lycons.iptime.org/tc 홀맨 2011.05.25 14:13

    매번 에쿠스님의 노고에 감사드립니다. *^^*이상 발견시 피드백 드리겠습니다.

  3. EcusE 2011.05.26 14:07

    이번엔 기존 환경을 그대로 이용해서 금방 빌드 했습니다. ^^이상한점이 있다면 알려주세요 :)

  4. EcusE 2011.08.30 21:52

    FileZilla 3.5.1 CCC 패치후 빌드했습니다. 파일을 첨부하는데 문제가 있어서 일단 링크로 대체합니다;; FileZilla Client 3.5.1
    Bugfixes and minor changes:Add support for another rate variant of MVS style directory listings

    FileZilla Client 3.5.1-rc1
    New features:Add menu item to hide toolbarBugfixes and minor changes:Don't save server list in kiosk mode 2Fix for predefined sites not appearing in all circumstancesOS X: Pasting formatted text into input boxes no longer changes their formatFix typo in build script in detection of SQLite3MSW: Small installer improvements*nix: Fix character set conversion in desktop notification codeMerged upstream PuTTY changes for compatibility with PuTTY 0.61Updated built-in TinyXML

  5. EcusE 2011.08.31 17:59

    그런건 전혀 상관 없습니다.&nbsp; 오히려&nbsp; 제가 감사드려야죠 ^^;요새 갑자기 날씨가 더워져 수상(?)하니 건강 유의하세요. 전 더운건 딱 질색입니다 ㅠ.ㅠ

  6. EcusE 2011.11.09 11:33

    FileZilla Client 3.5.2 released
    Bugfixes and minor changes:Updated translations

    2011-11-01 - FileZilla Client 3.5.2-rc1 released
    New features:Added option to open site manager on startup to the settings dialogBugfixes and minor changes:The "Don't save passwords" option was not being savedThe queue was not saved correctly if having items from multiple serversQueue items with the lowest priority setting are now being restored againDrag &amp; Drop did not work with all saved sites if saving of passwords had been disabled---------------------------------------------------------------------------------------------CCC Patch - 실행파일 버전이 3.5.1로 인식되는 문제 해결

  7. Favicon of http://lycons.iptime.org/tc 홀맨 2011.11.11 20:04

    에쿠스님의 노고에 항상 머리숙여 감사드립니다. *^^* 그런데 파일을 받고 실행후 버전을 확인하니 3.5.1 이라고 나옵니다 ^^

  8. EcusE 2011.11.11 20:14

    확인해 보니 실행파일은 3.5.2는 맞는데 기존 소스들과 뒤섞여서 컴파일 되어 이전 버전으로 인식하는 문제가 있더군요. 소스 정리하고 수정된 파일로 다시 올렸습니다. 간단한 수정/컴파일 하는데도 문제가 생기네요; 버그 리포팅(?) 감사합니다 ^^;

  9. EcusE 2012.01.31 21:57

    FileZilla Client 3.5.3 releasedNew features:Ctrl+Shift+O can be used to toggle between modification time and filesize based directory comparisonBugfixes and minor changes:It is now possible to use custom passwords if using "anonymous" as user nameAfter un-hiding toolbar, update toolbar button statesFix TLS compatibility issues with TLS 1.2 serversMSW: Unset hidden attribute on FileZilla's settings filesBuilding FileZilla from source now requires wxWidgets 2.8.12 or higher.

  10. Favicon of http://lycons.iptime.org/tc 홀맨 2012.02.09 16:07

    먼저 항상 노고에 감사드립니다. 이번 버전에서 저같은 경우 암호화 연결시 (명시적 TLS 설정) 다음과 같은 에러가 나며 연결이 되지 않는 현상이 있습니다. (일반 FTP 연결은 문제가 없습니다.)상태: 연결 수립, 환영 메시지를 기다림...응답: 220 DiskStation FTP server ready.명령: AUTH TLS응답: 234 AUTH SSL command successful.상태: TLS 초기화...오류: GnuTLS error -50: The request is invalid.오류: TLS 초기화 실패.오류: 서버에 연결하지 못함바로 이전에 올려주신 버전인 3.5.2 에서는 같은 설정에서 이상없이 연결이 가능함을 확인 하였습니다.

  11. EcusE 2012.02.09 16:20

    3.5.3 ccc patch 버전에서 문제가 생기는것을 확인했습니다. 포럼에서도 비슷한 문제가 있는 경우가 있는것 같더군요.(서버/클라이언트에 따라 다른듯합니다.)&nbsp;http://www.mail-archive.com/scientific-linux-users@listserv.fnal.gov/msg10526.htmlhttp://forum.filezilla-project.org/viewtopic.php?f=2&amp;t=23280SSL Cipher중 3DES를 3.5.3에서 더이상 허용하지 않는다고 하는군요.가능하시면 위 링크를 참고해서 nas ftp서버 설정에서 손대볼만한 것이 있는지확인 부탁드립니다. filezilla tls 라이브러리를 교체하는것으로 해결 됐습니다 :)

  12. EcusE 2012.02.09 21:53

    첨부파일은 GnuTLS 라이브러를 새버전으로 교체하고 빌드 환경 싹 밀고 새로 컴파일한 filezilla 3.5.3입니다. 제가 테스트 해본 바로는 잘됩니다만 받아보시고 테스트 부탁드립니다.

  13. 홀맨 2012.02.10 22:40

    오오.. NAS 환경에서 이상없이 보안연결이 가능해 졌습니다. 정말 노고가 많으셨습니다. 이번 버전도 감사히 잘 사용하겠습니다 ^^

  14. EcusE 2012.02.10 22:49

    filezilla 3.5.3에서 tls라이브러리가 새버전으로 바뀌었는데 그걸 별도 공지 하지를 않았더군요. 덕분에 삽질 좀 했네요 :)

  15. EcusE 2012.11.13 23:27

    3.6 버전 CCC 패치후 빌드했습니다. 오랜만에 새버전이 나왔고 변경점도 꽤 많습니다.
    최근 버전의 gnutls를 적용하느라(tls 성능 향상)&nbsp; 피곤한(?) 작업이었네요;;

    FileZilla Client 3.6.0 released2012-11-02 - FileZilla Client 3.6.0-rc1 released
    Bugfixes and minor changes:Do not show "Remember passwords?" dialog if connecting anonymouslyMake wording in "Remember passwords?" dialog consistent.Increase default TLS session lifetimeWhen asking for confirmation to delete files, state whether it's local or on the serverFix right-to-left rendering of progress line in the transfer queue


    2012-10-21 - FileZilla Client 3.6.0-beta1 released
    New features:Auto-scroll file lists if dragging an item near the top or bottom
    Add option to create empty files to the remote file list context menu
    Support legacy servers sending directory listings in EBCDIC
    Added Tango icon set
    First-time users now get prompted whether they want to save passwords when first using the quickconnect bar
    Greatly improve TLS performance by updating to GnuTLS 3.1.x with Nettle backend
    Bugfixes and minor changes:FTP proxies now work with IPv6 addresses as proxy address
    Handle expired TLS sessions when trying to reuse a session
    TLS session reusing no longer fails with newer GnuTLS versions due to changed semantics of gnutls_session_get_data
    Directory listings no longer sporadically fail if two connections try to list the same directory in parallel
    Partially work around a Ubuntu-specific problem with modal dialogs not being modal resulting in crashes

  16. Favicon of https://free4u.wo.tc EcusE 2013.05.17 17:32 신고

    FileZilla Client 3.6.0.2 released지난번 3.6 버전이후로 바로 패치 버전이 나왔었네요. 업데이트 주기 이전에 나온 버전이라 이제야 패치해
    빌드했습니다; 잘 동작하는것을 확인했습니다만 문제가 발생할 경우 알려주세요.
    FileZilla Client 3.6.0.2
    Fix problems with stalling FTP over TLS uploads
    MSW: Minor performance increase listing local filesFileZilla Client 3.6.0.1
    Fix problems with TLS cipher selection, including a bugfix for GnuTLSFix a crash on shutdownAdd log message for servers not using UTF-8
    Small performance and memory optimizations getting file typesImprove formatting of transfer speeds.

  17. Favicon of https://free4u.wo.tc EcusE 2013.05.29 14:01 신고

    FileZilla Client 3.7.0.2 CCC patch update.

  18. Favicon of https://free4u.wo.tc EcusE 2013.12.27 18:37 신고

    FileZilla Client 3.7.3 CCC patch update
    오랜만에(?) 업데이트를 했습니다. :)

    • Favicon of http://lycons.iptime.org/tc/ 홀맨 2013.12.28 21:38

      에쿠스님의 노고 덕분에 최신 버전의 강화된 보안의 파일질라를 사용할 수 있어 늘 감사 드립니다.

      새해에는 늘 건승 하시길 기원 드립니다. ^^

  19. Favicon of https://free4u.wo.tc EcusE 2013.12.29 00:59 신고

    한동안 서버리스(?)로 방황(?)하다가 다시 블로그에 관심을 좀 가져줘야겠습니다; 홀맨님도 행복한 한해 마무리 되기실 바랍니다 :)

  20. Favicon of https://free4u.wo.tc EcusE 2014.02.18 12:50 신고

    이곳 코멘트도 그렇고 코멘트 자체가 너무 많아져서 마지막 코멘트에 내용만 새로운것으로 변경하려고 합니다 ^^

  21. Favicon of https://free4u.wo.tc EcusE 2014.06.12 20:36 신고

    FileZilla Client 3.8.1 CCC patch update.

    Fixed vulnerabilities:
    Updated official binaries to use GnuTLS 3.2.15, addressing CVE-2014-3466

    New features:
    OS X: Partial support for retina displays

    • Favicon of http://lycons.iptime.org/tc 홀맨 2014.02.18 11:15

      늘 노고가 많으십니다. 파일질라도 일반 사용자 레벨 수준에서는 크게 느끼기는 힘들지만 세부적인 업데이트가 꾸준히 이루어 지고 있는것이 참 만족스러운 듯 싶습니다.

      -> 물론 에쿠스님께서는 번거로우시겠....

      제 블로그의 안내글도 제공해 주시는 버전에 맞게 변경 하였습니다. 정기적으로 찾아뵙고 갱신토록 하겠습니다. 감사합니다 *^^*

+ Recent posts