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

[经验分享] vsftp虚拟用户配置总结

[复制链接]

尚未签到

发表于 2015-11-6 13:25:58 | 显示全部楼层 |阅读模式
       工作中用到ftp传输文件,选择比较流行的vsftp,由于vsftp默认用系统用户登录,在外网环境传输数据,存在很大的安全隐患,原因是ftp明文传输,可以轻易抓包得出用户名和密码。如果vsftp用到的系统用户,登录shell设置为/bin/nologin,则vsftp也不能登录(测试过一次,大概是这样)。
        鉴于之前tomcat默认管理页面被利用的惨痛教训,下决心配置vsftp的虚拟用户,杜绝安全隐患。
        以下总结下流程和遇到的几个问题:
  vsftp-3.0.2 的虚拟用户配置:
  1. 生成虚拟用户的账号和密码
  account.txt 奇数行为用户名,偶数行为密码
  内容:
  virtual_user1
  paswd1
  virutal_user2
  paswd2
  生成伯克利DB格式的数据库文件:db_load -T -t hash -f account.txt  /etc/vsftpd/account.db
  2. 增加pam认证的支持
  # vi /etc/pam.d/ftp 插入如下两行
  auth required   pam_userdb.so db=/etc/vsftpd/account
  account required  pam_userdb.so db=/etc/vsftpd/account
  注意,64位os,pam相关so存放在/lib64/security/目录下,32位os,pam相关so存放在/lib/security/目录下
  源码编译vsftp时,需要安装pam-devel,否则生成的vsftp不支持pam认证。
  可以ldd  vsftpd | grep libpam查看是否支持pam认证。
  如果想取消虚拟用户功能,需要卸载pam-devel,重新编译vsftp。
  本人测试时,编译支持了pam认证,即使注释掉配置文件vsftpd.conf中pam相关配置,也不能使用系统用户登录。
  3. 增加虚拟用户配置(必需)
  vim /etc/vsftpd/vuser/virtual
  内容如下:
  local_root=/mnt/virtual_ftpdata
  write_enable=YES
  download_enable=NO
  anon_upload_enable=YES
  anon_mkdir_write_enable=NO
  anon_other_write_enable=NO
  anon_world_readable_only=NO
  4.修改vsftpd.conf
  增加:
  guest_enable=yes           #开启虚拟用户功能
  guest_username=root    #系统用户,虚拟用户的根目录对应于系统用户的根目录,不推荐root
  pam_service_name=ftp   #此处的名字对应于/etc/pam.d/目录下ftp配置的文件名
  user_config_dir=/etc/vsftpd/vuser   #虚拟用户配置目录
  5. 重启vsftpd
  

  以上是大致流程和关键节点操作,具体各配置项涵义略去不表,网上教程多,不容易出错,下面总结下本人配置时遇到的几个容易出错,且费时的问题。
  1. pam认证支持,需要ldd vsftpd 查看是否有libpam,有则支持,无则不支持。
  2. 根据测试结论:vsftpd一旦支持pam,系统用户就不能登录vsftp,如需取消pam,则需要在卸载pam-devel的情况下编译vsftpd。
  3. vsftpd的根目录不能有写属性,否则vsftpd报错,chmod -w /mnt/virtual_ftpdata  去掉ftp目录的写属性,建议在去掉写熟悉前建立子目录,在子目录内存放数据。
  4. 本人测试时,使用win7自带的ftp客户端命令测试,即使用quote  PASV修改ftp的数据连接方向,也不能建立数据连接,后来测试发现是win7自带的防火墙策略导致,windows server 2003测试则未出现上述问题。这也说明win7的防火墙策略默认是比较严格的。
  

  

  

  

  

  

  

         版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 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-135931-1-1.html 上篇帖子: linux中vsftp修改默认路径 下篇帖子: 配置匿名上传vsftp服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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