vsftpd的安全性主要體現在三個方面:進程分離,處理不同任務的進程彼此是獨立運行的;進程運行時均已最小權限運行;多數都使用chroot進行了禁錮(CHROOT就是Change Root,改變根的一種技術。chroot主要作用是增進系統的安全)。
ftp工作模式:
主動模式:1.客戶端隨機開啓大於1024的X端口與服務器的21端口建立連接通道,通道建立後,客戶端隨時可以通過該通道發送上傳或下載的命令。
2.當客戶端需要與服務器進行數據傳輸時,客戶端會再開啓一個大於1024的隨機Y端口,並將Y端口號通過之前的命令通道傳送給服務器的21端口。
3.服務器獲取到客戶端的第二個端口後會主動連接客戶端的該端口,通過三次握手後完成服務器與客戶端數據通道的建立,所有的數據均通過該數據通道進行傳輸。
被動模式:1.客戶端隨意開啓大於1024的X端口與服務器的21端口建立連接通道。
2.當客戶端需要與服務器進行數據傳輸時,客戶端從命令通道發送數據請求要求上傳或下載數據。
3.服務器收到數據請求後會隨機開啓一個端口Y,並通過命令通道將該端口信息傳送給客戶端。
4.客戶端在收到服務器發送過來的數據端口Y的信息後,將在客戶端本地開啓一個隨機端口Z,此時客戶端再主動通過本機的Z端口與服務器的Y端口進行連接,通過三次握手連接完成後,即可進行數據傳輸。
接下來開始具體安裝與管理vsftp(centos7.2)
yum -yinstall vsftpd yum -y install vsftpd systemctl start vsftpd systemctl enable vsftpd
安裝完後我們可以看到具體的安裝路徑和配置文件所在位置;
[root@localhost ~]# rpm -qc vsftpd /etc/logrotate.d/vsftpd(日誌輪轉備份配置文件) /etc/pam.d/vsftpd(基於PAM的vsftpd驗證配置文件) /etc/vsftpd/ftpusers(默認的vsftpd黑名單) /etc/vsftpd/user_list(可以通過主配置文件設置該文件的味黑名單或白名單) /etc/vsftpd/vsftpd.conf(vsftpd的主配置文件) (1)這裏修改.conf文件 anonymous_enable=YES(是否開啓匿名訪問功能,默認爲開啓) local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES xferlog_std_format=YES chroot_local_user=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES
(2)服務管理
這裏要啓動vsftpd的話,在不熟悉Linux安裝組件SELinux以及防火牆的情況下,我們可以暫時關閉這兩個安全組件。
setenforce 0 systemctl stop firewalld
(3)客戶端訪問
在瀏覽器中輸入ftp://serviceIP。多數瀏覽器僅供瀏覽和下載不能上傳數據。
推薦使用FileZilla
續.......