扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
大家都知道 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.8 ,下载后 tar xvfz ... ,make ,make install ,就这么简单。下载地址: http://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。
婵犵鈧啿鈧綊鎮樻径鎰畺闁靛ň鏅滄慨婊堟偨椤栨稓鎽冮柟鐑╂櫊瀹曟岸宕堕埡鍌滄殸闂佽鍨伴崢鏍姳閿涘嫭鍠嗘い銈呭姬婵☆偅婢樺Λ妤呮偂濞嗘挸瀚夐柍褜鍓熷顒侊紣娓氣偓閻涙捇鏌涘┑鍛樂缂佹鐭傞獮搴ㄥ焵椤掑嫬瀚夋い鏍ㄧ懁缁诲棝鏌熼褍鐏茬紒杈ㄧ箞閺屽洭鏁愰崟顓犳澖闁荤姳闄嶉崹钘壩i崟顖涘殜闁硅泛顫曢埀顒€锕︾槐鏃堝箣閻愬弬妤呮煛閸偄鐏﹂柛瀣墬缁傛帞鎹勯搹瑙勵啈闂佸搫瀚烽崹閬嶅磻瀹ュ鍎嶉柛鏇ㄥ墯娴犳ê霉閿濆棗鈻曢柍褜鍓氶弻銊ф閻愬鈻曢悗锝傛櫇椤忛亶鏌曢崱顓熷