大家都知道 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 呵呵,成了。
新聞熱點
疑難解答