vsftpd是一款在Linux發行版中最受推崇的FTP伺服器程式。特點是小巧輕快,安全易用。就是配置有點麻煩,vsftpd.conf檔案配置比較簡單,我們可以設定下:
VSFTPD的設定選項
VSFTPD的設定檔/etc/vsftpd/vsftpd.conf是個文字檔。以“#”字元開始的行是注釋行。每個選項設定為一行,格式為“option=value”,注意“=”號兩邊不能留空白符。除了這個主設定檔外,還可以給特定使用者設定個人設定檔,具體介紹見後。
VSFTPD包中所帶的vsftpd.conf檔案配置比較簡單,而且非常偏執狂的(文檔自稱)。我們可以根據實際情況對其進行一些設定,以使得VSFTPD更加可用。
1、安全措施
1.1、使用者登入控制
pam_service_name=vsftpd
指出VSFTPD進行PAM認證時所使用的PAM設定檔名,預設值是vsftpd,預設PAM設定檔是/etc/pam.d/vsftpd。
/etc/vsftpd.ftpusers
VSFTPD禁止列在此檔案中的使用者登入FTP伺服器。這個機制是在/etc/pam.d/vsftpd中預設設定的。
userlist_enable=YES|NO
此選項被啟用後,VSFTPD將讀取userlist_file參數所指定的檔案中的使用者列表。當列表中的使用者登入FTP伺服器時,該使用者在提示輸入密碼之前就被禁止了。即該使用者名稱輸入後,VSFTPD查到該使用者名稱在列表,VSFTPD就直接禁止掉該使用者,不會再進行詢問密碼等後續步聚。預設值為NO。
userlist_file=/etc/vsftpd.user_list
指出userlist_enable選項生效後,被讀取的包含使用者列表的檔案。預設值是/etc/vsftpd.user_list。
userlist_deny=YES|NO
決定禁止還是只允許由userlist_file指定檔案中的使用者登入FTP伺服器。此選項在userlist_enable 選項啟動後才生效。YES,預設值,禁止檔案中的使用者登入,同時也不向這些使用者發出輸入口令的提示。NO,只允許在檔案中的使用者登入FTP伺服器。
tcp_wrappers=YES|NO
在VSFTPD中使用TCP_Wrappers遠端存取控制機制,預設值為YES。
1.2、目錄存取控制
chroot_list_enable=YES|NO
鎖定某些使用者在自家目錄中。即當這些使用者登入後,不可以轉到系統的其他目錄,只能在自家目錄(及其子目錄)下。具體的使用者在chroot_list_file參數所指定的檔案中列出。預設值為NO。
chroot_list_file=/etc/vsftpd/chroot_list
指出被鎖定在自家目錄中的使用者的列表檔案。檔案格式為一行一使用者。通常該檔案是/etc/vsftpd/chroot_list。此選項預設不設定。
chroot_local_users=YES|NO
將本機使用者鎖定在自家目錄中。當此項被啟用時,chroot_list_enable和chroot_local_users參數的作用將發生變化,chroot_list_file所指定檔案中的使用者將不被鎖定在自家目錄。本參數被啟用後,可能帶來安全上的衝突,特別是當使用者擁有上傳、 shell訪問等許可權時。因此,只有在確實瞭解的情況下,才可以開啟此參數。預設值為NO。
passwd_chroot_enable
當此選項啟用時,與chroot_local_user選項配合,chroot()容器的位置可以在每個使用者的基礎上指定。每個使用者的容器來源於/etc/passwd中每個使用者的自家目錄欄位。預設值為NO。
1.3、檔案操作控制
hide_ids=YES|NO
是否隱藏檔案的所有者和組資訊。YES,當使用者使用"ls -al"之類的指令時,在目錄列表中所有檔案的擁有者和組資訊都顯示為ftp。預設值為NO。
ls_recurse_enable=YES|NO
YES,允許使用"ls -R" 指令。這個選項有一個小的安全風險,因為在一個大型FTP網站的根目錄下使用"ls -R"會消耗大量系統資源。預設值為NO。
write_enable=YES|NO
控制是否允許使用任何可以修改檔案系統的FTP 的指令,比如STOR、DELE、RNFR、RNTO、MKD、RMD、APPE 以及SITE。預設值為NO,不過內建的簡單設定檔中開啟了該選項。
secure_chroot_dir=
這選項指向一個空目錄,並且ftp使用者對此目錄無寫入權限。當vsftpd不需要訪問檔案系統時,這個目錄將被作為一個安全的容器,使用者將被限制在此目錄中。預設目錄為/usr/share/empty。
1.4、新增檔案許可權設定
anon_umask=
匿名使用者新增檔案的umask 數值。預設值為077。
file_open_mode=
上傳檔案的許可權,與chmod 所使用的數值相同。如果希望上傳的檔案可以執行,設此值為0777。預設值為0666。
local_umask=
本機使用者新增檔案時的umask 數值。預設值為077。不過,其他大多數的FTP伺服器都是使用022。如果您的使用者希望的話,可以修改為022。在內建的設定檔中此項就設為了022。
通過上面的閱讀,大家對VSFTPD的設定選項的安全措施有了一定的瞭解,希望對大家有所協助!
- vsftpd已死 但是subsys被鎖 求真相
- 史上最全的 vsftpd 問題集上篇)
- 史上最全的 vsftpd 問題集下篇)
- 如何處理VSFTPD實驗500OOPS錯誤
- vsftpd.conf 術語解釋大全
- vsFTPd菜鳥變大蝦六大點
- vsftpd 傻瓜版安裝全流程