이전에 작성했던   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


+ Recent posts