设为首页 收藏本站
查看: 1144|回复: 0

如何配置proftpd使用FTPS(FTP over SSL/TLS)

[复制链接]

尚未签到

发表于 2015-5-28 10:56:30 | 显示全部楼层 |阅读模式
  proftpd是一个Linux下的多功能ftp服务器软件。官网见:http://www.proftpd.org/
  而FTPS是一个有安全机制的FTP协议,有相应的标准(RFC 4217 http://www.faqs.org/rfcs/rfc4217.html )。
  使用源代码安装proftpd
  # cd /usr/src
  # wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.10.tar.gz
  # tar -xvzf proftpd-1.2.10.tar.gz
  # cd proftpd-1.2.10
  编译之前要确定自己装了以下两个包:
  # apt-get install build-essential
  # apt-get install libssl-dev
  编译的时候加上mod_tls这个模块:
  # ./configure --with-modules=mod_tls
  # make
  # make install
  安装成功后查看proftpd是否已经安装好了这个模块:
  # proftpd -l
  Compiled-in modules:
  mod_core.c
  mod_xfer.c
  mod_auth_unix.c
  mod_auth_file.c
  mod_auth.c
  mod_ls.c
  mod_log.c
  mod_site.c
      mod_tls.c
  mod_cap.c
  告诉proftpd应该使用哪个配置文件:
  # /usr/local/sbin/proftpd -c /usr/local/etc/proftpd.conf
  启动了proftp之后可以做以下简单测试:
  # ftp localhost
  Connected to localhost.localdomain.
  220 ProFTPD 1.2.10 Server (ProFTPD Default Installation) [127.0.0.1]
  Name (localhost:troublenow): troublenow
  331 Password required for troublenow.
  Password:
  230 User troublenow logged in.
  Remote system type is UNIX.
  Using binary mode to transfer files.
  ftp> ls
  200 PORT command successful
  150 Opening ASCII mode data connection for file list
  226 Transfer complete.
  ftp> quit
  221 Goodbye.
  测试好了之后把proftpd的进程杀死,进行SSL/TLS的配置:
  Create SSL Keys
  Now lets create a self signed certificate and put that in /usr/local/etc/ftpcert/.
  # cd /usr/local/etc/
  # mkdir ftpcert
  # cd ftpcert/
  # openssl genrsa 1024 > host.key
  # chmod 400 host.key
  # openssl req -new -x509 -nodes -sha1 -days 365 -key host.key > host.cert
  下面会出现一些提示,用来加密证书,但是都可以按照默认,一路回车:
-----
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []:
Configure Proftpd
  I will log everything in /var/log/ftpd so first we will need to create that directory,设置日志目录:
  # mkdir /var/log/ftpd
  关键:把配置文件/usr/local/etc/proftpd.conf中的内容更换为下面的内容:
  ServerName                      "test FTP server"
ServerType                      standalone
DefaultServer                   on
  Port                            21
  Umask                           022
  AllowStoreRestart               on
AllowRetrieveRestart            on
AllowForeignAddress             on
  LogFormat                       default "%h %l %u %t \"%r\" %s %b"
LogFormat                       auth    "%v [%P] %h %t \"%r\" %s"
LogFormat                       write   "%h %l %u %t \"%r\" %s %b"
  DefaultTransferMode             binary
UseFtpUsers                     on
  MaxInstances                    30
  User                            nobody
Group                           nogroup
  DefaultRoot                     ~
  AllowOverwrite                  on
PassivePorts                    59000 59999
DefaultRoot                     ~
AllowOverwrite                  on
  TransferLog                     /var/log/ftpd/xferlog
ExtendedLog                     /var/log/ftpd/access.log WRITE,READ write
ExtendedLog                     /var/log/ftpd/auth.log AUTH auth
ExtendedLog                     /var/log/ftpd/paranoid.log ALL default
  TLSEngine on
TLSLog /var/log/ftpd/tls.log
TLSProtocol SSLv23
TLSRequired on
TLSVerifyClient off
TLSRSACertificateFile /usr/local/etc/ftpcert/host.cert
TLSRSACertificateKeyFile /usr/local/etc/ftpcert/host.key

  至于这些参数具体是什么意思,可以去在线的文章(http://proftpd.mirror.facebook.com/docs/contrib/mod_tls.html)看。
  然后启动proftpd
  在windows平台下使用flashfxp/filezilla连接(使用显式的ftps)。连接后会弹出一个证书,询问你是否信任这个站点,接受即可。
  在linux下,可以用lftp这个客户端登陆ftps,我会在下篇文章中写出如何使用。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-71437-1-1.html 上篇帖子: 网络编程--ftp客户端的实现(c#版) 下篇帖子: VB.Net实现Ftp下载的方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表