扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
我们大家都知道FTP服务器的口令验证是基于明码的,因此很容易被嗅探到。本文介绍的虚拟FTP服务器采用chroot的办法,虽然不能防止口令被嗅探,但是能保护你的系统在口令即使被嗅探到的情况下,仍然不能攻破。
虚拟FTP服务,除了chroot功能以外,还采用了第二个口令数据库来验证用户,这样你就不需要建立FTP用户帐号,即使口令泄漏,用户也不能登录到系统。
我们采用一个叫作vftpd的守护程序来扮演虚拟FTP服务器的角色,主要的安全特色包括:
始终采用chroot处理用户的home目录;
允许用户在没有shell的情况下存取;
VFTPD不允许用户的home为:/, /etc, /bin, /sbin, /usr/bin, /usr/sbin, /dev/, /lib, /tmp;
Home目录的路径不能包含符号连接;
除了root用户具有UID 0以外,不允许其他用户具有;
不允许用户的口令文件对组和其他有写权限。
安装vftpd很简单,目前最新的版本为 6.5.7 ,下载后使用tar xvfz ... ,make ,make install ,就行了。vftpd的下载地址是:startuplinux.com/virtualftpd.html。
大多数的配置工作都是自动完成的,唯一需要修改的是/etc/ftppasswd文件,这个文件包含了用户真正的FTP帐号。这个文件的格式基本上和/etc/password一样,每行格式为:
login:encryptedpassword:uid:gid:description:ftppath:/no/shell
vftpd提供了一个叫做addvuser的工具,能很方便的增加FTP用户,修改当前用户的口令是“ftppasswd username”。
如果当前确有shell帐户的用户要增加,也需要在ftppasswd中添加该用户,但是口令最好不要一样。
对于不需要FTP的用户,可以把帐号加入/etc/ftpusers。
最后,为/etc/ftpwelcome(连接后显示)和/etc/motd(成功登陆后显示)增加FTP登陆信息。
现在可以启动进程了:
vftpd -D -l -U
其中解释如下:
-D:使其成为守护程序在后台运行;
-l:logs FTP在syslog中登陆日志记录 (失败和成功的记录) ,两次-l则记录详细信息;
-U:允许你使用who命令查看当前激活的FTP会话;
-A:只允许匿名用户连接;
-S:把匿名连接的日志记录到/var/log/ftpd;
-p:端口号,缺省为21。
例如,我们可以在rc.local里面写入:
/usr/local/bin/vftpd -D -U -l -l
呵呵,一切OK。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者