Vsftpd 安全
一、基本設定
1、login banner
[root@station2 ~]# vi /etc/vsftpd/vsftpd.conf
ftpd_banner=Welcome to blah FTP service.
<b>banner_file=/etc/vsftpd/banner </b>
[root@station2 ~]# vi /etc/vsftpd/banner
Hello ,welcome to FTP
#ftpd_banner和banner_file均為ftp登陸資訊顯示,banner_file優先,有banner_file則顯示該檔案内容,不顯示ftpd_banner資訊
2、目錄資訊顯示
<b>dirmessage_enable=YES </b>#開啟目錄顯示資訊選項
[root@station2 ~]# vi /var/ftp/pub<b>/.message</b>
Hello,welcoem to /var/ftp/pub dir #編輯目錄顯示資訊
[root@station3 ~]# ftp 192.168.32.32
Connected to 192.168.32.32.
220-Hello,Welcome to Server-U
220
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.32.32:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250-Hello,welcome /var/ftp/pub dir #顯示/var/ftp/pub/.message内容
250 Directory successfully changed.
3、日志資訊
[root@station2 ~]# vi /var/ftp/pub/.message
xferlog_enalbe=YES #記錄上傳和下載下傳日志,隻有上傳和下載下傳時才記錄日志
xferlog_file=/var/log/xferlog #指定日志檔案
<b>log_ftp_protocol=YES</b> #記錄所有ftp的日子,包括連接配接、上傳、下載下傳等日志
xferlog_std_format=YES #相容舊版wu-ftp日志格式
二、使用者選項
1、鎖定本地使用者在根目錄
write_enable=YES #本地使用者可寫
local_enable=YES #開啟本地使用者可登陸,如NO隻有anonymous使用者可以登入ftp
<b>chroot_list_enable=YES</b> #開啟目錄鎖定選項,預設不鎖定
<b>chroot_list_file=/etc/vsftpd/chroot_list</b> #指定鎖定目錄的使用者清單
<b>chroot_local_user=YES </b>
#如無此項則chroot_list中使用者則鎖定,如有此項則除了chroot_list中定義使用者不鎖定外,其他使用者均鎖定
[root@station2 ~]# vi /etc/vsftpd/chroot_list
netsword
#指定鎖定的使用者,如此則隻有netsword能切換到其他目錄,其他使用者均隻能通路知識家目錄
2、限制可登陸ftp的使用者群組
[root@station2 ~]# vi /etc/pam.d/vsftpd
#%PAM-1.0
session optional pam_keyinit.so force revoke
<b>auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers </b>
<b></b>
#拒絕/etc/vsftpd/ftpusers中使用者通路ftp
onerr=succeed
<b>auth required pam_listfile.so item=group sense=deny file=/etc/vsftpd/ftpgroup</b>
s onerr=succeed
#拒絕/etc/vsftpd/ftpgroup中組通路ftp
[root@station2 ~]# vi /etc/vsftpd/ftpgroups
guest2001 #指定guest2001組内使用者無法通路ftp
<b>#以上設定會出現要求輸入帳号和密碼,但是授權失敗</b>
userlist_enable=YES #開啟隻允許指定的使用者登入選項
userlist_deny=NO
[root@station2 ~]# vi /etc/vsftpd/user_list
netsword
#如果userlist_deny=NO則隻有netsword可以登入,如userlist_deny=YES則隻有netsword不允許登入。在netsword登陸時不會要求輸入帳号和密碼直接顯示禁止登陸。如果和/etc/pam.d/vsftpd中定義發生沖突則拒絕優先
3、匿名使用者登入選項
anonymous_enable=YES #允許匿名使用者登陸
anon_upload_enable=YES #允許匿名使用者上傳
anon_umask=077 #上傳檔案預設權限掩碼
chown_uploads=YES #改變上傳檔案屬主
chown_username=root #将上傳檔案的使用者改為root
4、網絡連結限制
max_clients=250 #同一時間最多250個通路連結
max_per_ip=10 #同一IP位址客戶最多10個通路連結
tcp_wrappers=YES #開啟tcpwrap通路通路限制
anon_max_rate=0 #匿名帳戶傳輸速率限制,0表無限制,預設為0
local_max_rate=0 #本地帳戶傳輸速率限制
[root@station2 ~]# vi /etc/hosts.deny
vsftpd:192.168.1.0/255.255.255.0:twist /bin/cat /var/ftp/.denied
#禁止192.168.1.0/24網段通路ftp,同時對其顯示/var/ftp/.denied檔案中内容
[root@station2 ~]# vi /var/ftp/.denied
Deny 192.168.1.0/24
三、使用者子配置
<b>user_config_dir=/etc/vsftpd/user_config_dir</b>
#定義使用者子配置檔案目錄,該目錄中檔案名為要定義子配置檔案的使用者名
[root@station2 ~]#vi /etc/vsftpd/user_config_dir/netsword
local_umask=077
local_max_rate=1024
#對netsword定義特定的選項,其他選項同全局配置檔案/etc/vsftpd/vsftpd.conf
本文轉自netsword 51CTO部落格,原文連結:http://blog.51cto.com/netsword/534738