FTP服務器配置系列: Centos7_vsftpd-ssl/tls搭建維護及ftp加固
一. FTP虛擬賬戶配置
FTP虛擬賬戶管理分配
配置虛擬用戶
$ useradd vsftpd -d /home/vsftpd -s /bin/false #新建用戶並禁止登錄
$ mkdir -p /home/vsftpd/ftp1 #新建用戶目錄及虛擬賬戶
$ vim /etc/vsftpd/login.conf #新建一個用戶登錄文件
ftp1 #寫入賬戶密碼
123456
1. 創建啓動數據庫
$ db_load -T -t hash -f /etc/vsftpd/login.conf /etc/vsftpd/login.db
$ chmod 700 /etc/vsftpd/login.db
$ vim /etc/pam.d/vsftpd
# 註釋掉原來所有內容後,增加下面的內容
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
2. 增加虛擬用戶數據庫配置文件
$ mkdir /etc/vsftpd/userconf #創建虛擬用戶配置文件目錄
$ vim /etc/vsftpd/userconf/ftp1 #這裏的文件名必須與前面指定的虛擬用戶名一致
local_root=/home/vsftpd/ftp1/
write_enable=YES
3. 修改主配置文件
$ vim /etc/vsftpd/vsftpd.conf #存在的修改,不存在的增加
anonymous_enable=NO #禁止匿名用戶登錄
chroot_local_user=YES #禁止用戶訪問除主目錄以外的目錄
ascii_upload_enable=YES #設定支持ASCII模式的上傳和下載功能
ascii_download_enable=YES #設定支持ASCII模式的上傳和下載功能
guest_enable=YES #啓動虛擬用戶
guest_username=vsftpd #虛擬用戶使用的系統用戶名
user_config_dir=/etc/vsftpd/userconf #虛擬用戶使用的配置文件目錄
allow_writeable_chroot=YES #最新版的vsftpd爲了安全必須用戶主目錄(也就是/home/vsftpd/ftp1)沒有寫權限,才能登錄
PS:虛擬賬戶權限及新建配置
配置虛擬賬戶管理員及單獨的下載用戶,上傳用戶保證ftp服務器安全
- 配置新建用戶需創建用戶配置文件/etc/vsftpd/userconf/
- 新建用戶登錄文件 /etc/vsftpd/login.conf/
- 重新創建覆蓋數據庫
新建用戶數據庫配置文件 /etc/vsftpd/userconf/username
根據需求增加以下配置
anon_world_readable_only=NO # 瀏覽FTP目錄和下載
anon_upload_enable=YES # 允許上傳
anon_mkdir_write_enable=YES # 建立和刪除目錄
anon_other_write_enable=YES # 改名和刪除文件
local_root=/ftpdir/ # 指定虛擬用戶在系統用戶下面的路徑,限制虛擬用戶的家目錄,虛擬用戶登錄後的主目錄。
二. 主機訪問控制管理
1.修改hosts.allow,添加允許訪問的IP
$ vim /etc/hosts.allow
vsftpd:IPaddress
2. 修改hosts.deny,禁用除了host.allow 以外所有IP地址訪問FPT服務器
$ vim /etc/hosts.deny
vsfptd:ALL
以上配置均以需求調整
附 vsfptd.conf 常用配置參數
一: 進程類別優化:
1:listen=YES/NO 設置獨立進程控制vsftpd
二: 登錄和訪問控制選項優化:
1:anonymous_enable=YES/NO 允許/禁止匿名用戶登陸
2:banned_email_file=/etc/vsftpd/vsftpd.banned_emails允許/禁止郵件的使用的存放路徑和目錄
配合使用:deny_email_enable=YES/NO 允許/禁止匿名用戶使用郵件作爲密碼
3:banner_file=/etc/vsftp/banner_file 在文件banner_file添加歡迎詞即可
4:cmds_allowed=HELP,DIR,QUIT,! 出被允許使用的FTP命令
5:ftpd_banner=welcome to ftp server 和第三條一樣是歡迎詞屏幕,方法不一樣
6:local_enable=YES/NO 允許/禁止本地用戶登陸
7:pam_service_name=vsftpd 使用pam模塊進行ftp客戶端的驗證
8:userlist_deny=YES/NO 禁止/允許文件列表user_list的用戶訪問ftp服務器
配合使用:userlist_file=/etc/vsftpd/user_list 用戶列表文件
配合使用:userlist_enable=YES/NO 激活/失效第8條的功能
9:tcp_wrappers=YES/NO 啓用/不啓用tcp_wrappers控制服務訪問的功能
三: 匿名用戶選項的優化:
1:anon_mkdir_write_enable=YES/NO 允許/禁止匿名用戶創建目錄、刪除文件
2:anon_root=/path/to/file 設置匿名用戶的根目錄,默認是/var/ftp/ 你可以修改這個默認路徑
3:anon_upload_enable=YES/NO 允許/禁止匿名用戶上傳
4:anon_world_readable_only=YES/NO 禁止/允許匿名用戶瀏覽目錄和下載
5:ftp_username=anonftpuser 把匿名用戶綁定到系統用戶名
6:no_anon_password=YES/NO 不需要/需要匿名用戶的登錄密碼
四:本地用戶選項的優化:
1:chmod_enable=YES/NO 允許/禁止本地用戶修改文件權限
2:chroot_list_enable=YES/NO 啓用/不啓用禁錮本地用戶在家目錄
3:chroot_list_file=/path/to/file 建立禁錮用戶列表文件,一行一個用戶
4:guest_enable=YES/NO 激活/不激活虛擬用戶
5:guest_username=系統實體用戶 把虛擬用戶綁定在某個實體用戶上
6:local_root=/path/to/file 指定或修改本地用戶的根目錄
7:local_umask=具體權位數字 設置本地用戶新建文件的權限
8:user_config_dir=/path/to/file 激活虛擬用戶的的主配置文件
五:目錄選項的優化:
1:text_userdb_names=YES/NO 啓用/禁用用戶的名稱取代用戶的UID
六:文件傳輸選項優化:
1:chown_uploads=YES/NO 啓用/禁用修改匿名用戶上傳文件的權限
配合使用:chown_username=賬戶 指定匿名用戶上傳文件的所有者
2:write_enable=YES/NO 啓用/禁止用戶的寫權限
3:max_clients=數字 設置FTP服務器同一時刻最大的連接數
4:max_per_ip=數字 設置每ip的最大連接數
七:網絡選項的優化:
1:anon_max_rate=數字 設置匿名用戶最大的下載速率(單位字節)
2:local_max_rate=數字 設置本地用戶最大的下載速率