1.3.3 Release Notes

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

This file contains a description of the major changes to ProFTPD for the
1.3.3 release cycle, from the 1.3.3rc1 release to the 1.3.3 maintenance
releases. More information on these changes can be found in the NEWS and
ChangeLog files.

1.3.3c
---------

+ Fixed Telnet IAC stack overflow vulnerability (ZDI-CAN-925)
+ Fixed directory traversal bug in mod_site_misc
+ Fixed SQLite authentications using "SQLAuthType Backend"

1.3.3b
---------

+ Fixed SFTP directory listing bug
+ Avoid corrupting utmpx databases on FreeBSD
+ Avoid null pointer dereferences during data transfers
+ Fixed "AuthAliasOnly on" anonymous logins

1.3.3a
---------

+ Added Japanese translation
+ Many mod_sftp bugfixes
+ Fixed SSL_shutdown() errors caused by OpenSSL 0.9.8m and later
+ Fixed handling of utmp/utmpx format changes on FreeBSD

1.3.3
---------

+ Fixed mod_ban whitelisting using mod_ifsession.
+ Fixed per-user/group/class "HideFiles none" configurations.


관련링크:
http://proftpd.org/docs/RELEASE_NOTES-1.3.3c
http://proftpd.org/docs/NEWS-1.3.3c

proftpd_logo.png



piwik (open source Web Analytics - http://piwik.org/ ) 로그를 점검중 proftpd 속도 제한에 관한
검색어를 몇개 발견하고 현재 설정에 적용중인 내용을 포스팅 해봅니다.



출처 : http://proftpd.oops.org/reference.php?mode=detail&id=257&key=TransferRate&class=t
 

문법 TransferRate [cmds] [ kilobytes-per-sec[:free-bytes]] [ ["user"|"group"|"class" 표현식]] 
기본 설정 없음 
사용 범위 server config, <VirtualHost>, <Global>, <Anonymous>, <Directory>, .ftpaccess 
사용가능버젼 1.2.8rc1 이 후 버전과 mod_xfer 모듈 요구 
TransferRate 지시자는 데이타의 전송을 제한하는 전송율을 지정하는데 사용된다. 이 지시자는 FTP 명령어별 
또는 특정 유저그룹별과 같은 여러가지 다양한 방법으로 전송율을 제한시킬 수 있다.

명령인자(cmds parameter)는 APPE, RETR, STOR, STOU 의 리스트(콤마로 구분된) 가 된다.

전송속도 인자(kilobytes-per-sec parameter)는 실제 적용되기를 원하는 전송율을 말한다.

프리바이트 인자(free-bytes parameter)는 실제 전송속도 인자가 적용되기 전에 전송될 수 있는 크기를 말한다.
이 기능은 클라이언트에게 작은 크기의 화일을 전송할시 전송속도 제한에 걸리지 않고 빠르게 전송할 수 있게끔
해주며, 큰 화일들(mp3, iso images와 같은) 전송시에는 전송속도 제약에 걸리도록 해준다.

옵션인자(optional parameters)는 전송율 제한을 지정한 유저에게만 적용되도록 프로그램을 제한시키는데
사용된다. 만약 "user" 제약이 주어졌다면 바로 이어서 유저를 적어주면 그 유저들에게 전송율 제한이 적용되며
똑같이 "group" 제약이 주어지면 해당 그룹에 속도제한이 적용된다. "class" 제약일 경우에는 전송율 제한을
받을 접속 클래스의 이름만 이어서 적어주면 된다.

예제들
#특정 유저그룹만 제외하고 모든 클라이언트에게 다운로드를 제한하기.
TransferRate RETR 1.5 group !special-users

# lotsofuploadfiles.net 도메인에 있는 유저들(높은 트래픽을 유발시키는 그런 유저들) 에게 업로드를 제한하기.
이 문법은 uploaders 라는 클래스(CLASS 지시자 참조)가 미리 정의되어 있음을 가정하고 작은 화일을 업로드
할시에는 제약을 받지 않도록 해준다.
TransferRate APPE,STOR 8.0:1024 class uploaders

역자의 추가설명) 바로 윗문장의 8.0 은 Kbps 단위의 속도이고 1024는 프리바이트를 의미한다

번역 : 강민석님

참고 자료:
APPE - append to a remote file.
RETR - retrieve a remote file.
STOR - store a file on the remote host.
STOU - store a file uniquely.

유저별, 그룹별 설정을 적당히 섞으면 다양한 설정이 가능합니다. Array



관련 링크 :
http://www.proftpd.org
http://www.proftpd.org/docs/directives/linked/config_ref_TransferRate.html

http://proftpd.oops.org/reference.php?mode=detail&id=257&key=TransferRate&class=t

http://en.wikipedia.org/wiki/List_of_FTP_commands

Array

1. 소개


이 사이트에서 얼마전 까지 사용하던  자체서명 인증(Self signed certificate)을 cacert.org의 certificate로

변경했습니다.

아쉬운것은 Firefox(이하 FF)에서 포함되었다가 현재 진행이 멈춤상태가 되어 cacert.org의 root certificate를
이용한 인증서를 사용한 사이트 방문시 최 1회 cacert.org의 root certificate를 import해 줘야 매번 신뢰할 수 없는 인증서 경고를 받지 않게 됩니다.

cacert의 인증서의경우 무료이고 또한 많은 프로그램, OS등에 포함되어 기본 root certificate로 사용되어질 가능성(?)이 높아지고 있고 또한 웹 보안과 관련된 인식 역시 높아짐에 따라 영향력을 점차 넓혀 갈 것으로 예상됩니다.

현재 cacert의 root certificates의 포함여부(포함, 비포함, 진행여부)는 아래 표를 참고하시기 바랍니다.
원본(?) 링크 : http://wiki.cacert.org/wiki/InclusionStatus

 Array

상태, 이름순


2. 사용 방법

기존에 자체서명 인증을 사용했었다면 그 당시 작성해 두었던 CERTIFICATE REQUEST (csr파일)을
그대로 이용해 CSR(Certificate Signing Request) 인증요청 페이지에 붙여넣고 인증파일 (crt파일)을 받을 수 있습니다.

웹브라우저등에서 CAcert Root Certificate 불러오기

대부분의 웹 브라우저에서의 이용방법은 비슷합니다. 아래 링크를 방문후 PEM 포맷의 링크를 클릭하면
그리 어렵지 않게(?)cacert root Certificate를 불러올 수 있습니다.
http://www.cacert.org/index.php?id=3

Internet Explorer(Windows용)의 경우 좀더 간편한(?) ActiveX를 이용한 방법도 있으나 Windows Vista에서는 
안된다고 합니다.

 

자세한 프로그램별 방법은 아래 링크를 참고하시기 바랍니다.
http://wiki.cacert.org/wiki/BrowserClients

CAcert Root Certificate import시 중요한것은 인증서의 fingerprints가 아래와 일치하는지 확인해야 합니다.

 SHA1 Fingerprint: 135C EC36 F49C B8E9 3B1A B270 CD80 8846 76CE 8F33
MD5 Fingerprint: A6:1B:37:5E:39:0D:9C:36:54:EE:BD:20:31:46:1F:6B


3. 기타사항

cacert의 root store서버의 경우 웹서버와 serial cable로만 연결되어 있고 보안에 신경을 많이 쓰고 있다고 합니다
http://www.cacert.org/help.php?id=7

CAcert Root Certificate를 정확히 불러왔다면 아래 그림과 비슷하게 인증기관에 Root CA가 추가된것을 볼 수 있습니다.

cacert_root_ca.jpg

인증서 폐기 목록인 filename.crl파일도 등록을 해야합니다. 웹 브라우저에서 http://www.cacert.org/revoke.crl를 입력후
이후 지시대로 설정하면 됩니다. 보통 자동 업데이트를 하면 되고 기간은 적당히(?) 잡아 주시면 됩니다 :)

Array 

Root CA 인증서를 사용하는 웹사이트 목록
http://wiki.cacert.org/wiki/CacertSites

  1. EcusE 2009.06.28 20:32

    cacert의 인증서를 신뢰된 인증기관으로 가져오기에 관한 간단한 가이드(?)를 만들어 봤습니다.

    windows &amp; IE사용자에 해당하는 내용이지만 기타OS, 브라우저 사용자는 그리 어렵지 않게 적용할 수 있으리라 생각됩니다.

  2. Favicon of http://trip2me.tistory.com trip2me 2009.08.24 18:14

    올리신 글 잘 보았습니다.cacert.org로 검색해서 국내에 있는 사이트를 구글링하니 하나였는데 한국에서는 그리 사용하는 분이 없어서인지&nbsp;&nbsp;인증서를 보니 6개월짜리 client용이더군요.&nbsp;인증서종류중 자력으로 만들 수 있는 6개월짜리 말고는 제가 만들기 힘들듯 하네요. ㅠ_ㅜ;국내에도 많은 분들이 사용하면 좋겠습니다.P.S. 사람을 어떤 대상을 믿고 믿지 못한다는게 참 아쉽긴 합니다. : )

  3. Favicon of http://free4u.wo.tc/ EcusE 2009.08.24 22:18

    trip2me님 말씀처럼 국내엔 사용자가 거의(?)없죠. 사용자가 많이 늘어나면 좋겠지만 그러기 위해선 cacert의 root 인증서가 좀더 많은 os, 브라우저에 기본으로 들어가는게 중요하다고 생각됩니다. IE는 몰라도 FF에는 빨리 다시 기본으로 포함되었으면 하는 바램이 있습니다 :)

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

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

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

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

proftpd 1.3.2 공식 배포파일에 포함된 prxs파일의 주석처리가 잘못 되어 있어서 proftpd설치후 prxs가 동작 하지
않습니다. proftpd설치전 prxs.in파일을 미리 수정하거나 proftpd 설치후 prxs파일을 수정해 사용할 수 있습니다.

수정전 :
1. #!/usr/bin/env perl
2.  ---------------------------------------------------------------------------

수정후 :
1. #!/usr/bin/env perl
2. # ---------------------------------------------------------------------------
붉은색으로 주석처리가 안된곳을 주석 처리해 주면 정상적으로 동작합니다.
http://oops.org에서 배포하는 proftpd에는 이미 패치파일로 수정 되어 설치되게 해두셨더군요 :)

utf8과 몇가지 문제로 인해 rc버전을 받아서 (fedora나 centos쪽은 새버전이 아직 안나왔습니다.)쓰다가
김정균님이 proftpd를 새버전으로 패키징 해주셨으니 그걸 가져다 써야겠군요.
locale파일인 ko_KR.po 파일도 대충 번역해서 쓰고 있었는데 그 파일도 utf8로 잘 번역해 두셨더군요.. emoticon

  1. Favicon of http://free4u.wo.tc/ EcusE 2009.04.03 17:24

    proftpd cvs 를 보니 김정균님이 번역하신 locale 파일 (ko_KR.po)이 들어가 있네요. 다음버전엔 한글 locale이 기본 포함된 proftpd를 사용할 수 있을듯 합니다. 참고링크 : http://proftp.cvs.sourceforge.net/viewvc/proftp/proftpd/locale/

+ Recent posts