搭建FTP服務安全
第一節 安裝FTP文件傳輸服務bash
FTP服務安裝包: vsftpd-3.0.2-9.el7.x86_64.rpm服務器
[root@localhost Data]# rpm -ivh vsftpd-3.0.2-9.el7.x86_64.rpmsession
第二節 啓動FTP服務ide
查看vsftpd狀態 service vsftpd statusspa
啓動vsftpd service vsftpd start3d
中止vsftpd service vsftpd stoprest
重啓vsftpd service vsftpd restart日誌
第三節 匿名用戶登陸FTPorm
在安裝vsftpd服務時,系統默認建立一個匿名用戶(anonymous),其主目錄爲/var/ftp。
訪問ftp服務器:
用戶名:anonymous
密 碼:任意字符
第四節 配置文件管理
[root@localhost ~]# rpm -ql vsftpd
/etc/pam.d/vsftpd 密鑰庫文件
/etc/vsftpd 存放主配置文件目錄
/etc/vsftpd/ftpusers 存放被拒絕訪問ftp的用戶列表
/etc/vsftpd/user_list 容許訪問FTP服務用戶列表文件
/etc/vsftpd/vsftpd.conf 主配置文件
/var/ftp 匿名用戶主目錄
.
.
.
FTP配置文件解析
文件名 |
做用 |
ftpusers | 禁止使用vsftpd的用戶列表文件 |
user_list | 禁止或容許使用vsftpd的用戶列表文件。 一、禁止狀況:---這個文件中指定的用戶缺省狀況 或 userlist_deny=YES時,user_list裏的用戶不能訪問FTP服務器。 二、容許user_list裏的用戶訪問FTP服務的狀況:---在設置了userlist_deny=NO時,僅容許user_list中指定的用戶訪問FTP服務器。 |
vsftpd_conf_migrate.sh | vsftpd操做的一些變量和設置腳本 |
vsftpd.conf | FTP主配置文件 |
anonymous_enable=YES |
是否容許匿名登陸FTP服務器,默認設置爲YES容許 |
no_anon_password=YES | 容許匿名用戶登陸FTP服務不須要密碼 |
anon_upload_enable=YES |
是否容許匿名用戶上傳文件,須將全局的write_enable=YES。默認爲YES |
anon_mkdir_write_enable=YES | 是否容許匿名用戶建立目錄 |
local_enable=YE |
容許本地用戶訪問FTP服務器 |
write_enable=YES |
是否容許本地用戶對FTP服務器文件具備寫權限,默認設置爲YES容許 |
local_umask=022 | 本地用戶的文件掩碼爲缺省022,即本地用戶的文件權限爲755 (drwxr-xr-x) |
dirmessage_enable=YES |
此文件保存自定義的歡迎信息,由用戶本身創建 |
xferlog_enable=YES |
是否讓系統自動維護上傳和下載的日誌文件 默認狀況該日誌文件爲/var/log/vsftpd.log,也能夠經過下面的xferlog_file選項對其進行設定 |
/var/log/vsftpd.log | 設定系統維護記錄FTP服務器上傳和下載狀況的日誌文件 |
ftpd_banner=Welcome to blah FTP service. | 登陸FTP服務器時顯示的歡迎信息 |
connect_from_port_20=YES | 設定FTP服務器將啓用FTP數據端口的鏈接請求 ftp-data數據傳輸端口爲20,21爲鏈接控制端口 |
chown_uploads=YES | 設定是否容許改變上傳文件的屬主,與下面一個設定項配合使用 注意,不推薦使用root用戶上傳文件 |
chown_username=whoever | 設置想要改變的上傳文件的屬主,若是須要,則輸入一個系統用戶名 能夠把上傳的文件都改爲root屬主。whoever:任何人 |
idle_session_timeout=300 |
設置數據傳輸中斷間隔時間,此語句表示空閒的用戶會話中斷時間爲300秒 即當數據傳輸結束後,用戶鏈接FTP服務器的時間不該超過300秒。能夠根據實際狀況對該值進行修改 |
data_connection_timeout=120 |
設置數據鏈接超時時間爲120秒,可根據實際狀況對其個修改 |
ascii_upload_enable=YES ascii_download_enable=YES |
是否以ASCII方式傳輸數據。默認狀況下,服務器會忽略ASCII方式的請求。 啓用此選項將容許服務器以ASCII方式傳輸數據不過,這樣可能會致使由"SIZE /big/file"方式引發的DoS*** |
deny_email_enable=YES |
黑名單設置。若是很討厭某些email address,就可使用此設定來取消他的登陸權限 能夠將某些特殊的email address抵擋住。 |
banned_email_file=/etc/vsftpd/banned_emails | 當上面的deny_email_enable=YES時,能夠利用這個設定項來規定哪些郵件地址不可登陸vsftpd服務器 # 此文件需用戶本身建立,一行一個email address便可 |
chroot_list_file=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list |
用戶登陸FTP服務器後是否具備訪問本身目錄之外的其餘文件的權限 # 設置爲YES時,用戶被鎖定在本身的home目錄中,vsftpd將在下面chroot_list_file選項值的位置尋找chroot_list文件 # 必須與下面的設置項配合 #chroot_list_enable=YES # 被列入此文件的用戶,在登陸後將不能切換到本身目錄之外的其餘目錄 # 從而有利於FTP服務器的安全管理和隱私保護。此文件需本身創建 #chroot_list_file=/etc/vsftpd/chroot_list |
listen=YES | 是否容許監聽。 若是設置爲YES,則vsftpd將以獨立模式運行,由vsftpd本身監聽和處理IPv4端口的鏈接請求 |
ls_recurse_enable=YES | 是否容許遞歸查詢。默認爲關閉,以防止遠程用戶形成過量的I/O |
listen_ipv6=YES | 設定是否支持IPV6。如要同時監聽IPv4和IPv6端口, 則必須運行兩套vsftpd,採用兩套配置文件 #同時確保其中有一個監聽選項是被註釋掉的 |
userlist_enable=YES | 容許user_list文件中的用戶容許登陸FTP服務器 userlist_enable=YES必須和userlist_deny=NO同時配合使用,才能容許用戶登陸到FTP服務器 # 而若是默認狀況 或 同時設置了userlist_deny=YES,則user_list文件中的用戶將不容許登陸FTP服務器,甚至連輸入密碼提示信息都沒有。 |
local_root= | 設置FTP服務主目錄 |
第五節 配置FTP服務器高可用
根據公司部門職能分配,建立FTP服務。
要求:
一、建立一個公共文件夾,公司全體員工均可以訪問公共文件夾。
二、根據部門安排,分別建立各個部門共享文件夾,只能同一部門的員工本身訪問本身部門的共享文件夾,其餘部門員工不能訪問。
三、禁止匿名用戶訪問。
實施步驟:
一、建立共享目錄
建立公共共享文件夾--Public
建立各部門共享文件夾--IT、Admin、Finance、Sale
[root@localhost Data]# mkdir Public IT Admin Finance Sale
二、修改目錄權限
[root@localhost Data]#chmod 770 Public
[root@localhost Data]#chmod 770 Admin
[root@localhost Data]#chmod 770 Finance
[root@localhost Data]#chmod 770 IT
[root@localhost Data]#chmod 770 Sale
三、建立用戶及用戶組
it--ituser
admin--adminuser
finance--financeuser
sale--saleuser
[root@localhost Data]#groupadd public
[root@localhost Data]#groupadd it
[root@localhost Data]#groupadd admin
[root@localhost Data]#groupadd finance
[root@localhost Data]#groupadd sale
[root@localhost Data]#useradd -G public,it ituser
[root@localhost Data]#useradd -G public,admin adminuser
[root@localhost Data]#useradd -G public,finance financeuser
[root@localhost Data]#useradd -G public,sale saleuser
四、爲用戶建立密碼
五、設置虛擬用戶
[root@localhost ~]# vi /etc/passwd
進入用戶配置文件,把每一個用戶的執行文件/bin/bash/修改成/sbin/nologin修改成以下:
[root@localhost ~]# vi /etc/group
刪除建立用戶時自動建立的組名
六、修改目錄全部者及組
七、添加容許訪問FTP服務的用戶到user_list配置文件裏
[root@localhost vsftpd]# vi user_list
八、修改主配置文件
anonymous_enable=NO # 禁止匿名賬號登陸
local_root=/Data # 設置FTP主目錄
userlist_deny=NO # 容許user_list裏的用戶登陸FTP服務
userlist_enable=YES # 容許user_list裏的用戶登陸FTP服務
其餘設置保持默認便可。
九、啓動vsftpd
十、訪問FTP