Vsftpd的安全性
企業基本要求:
安裝一塊40G的新硬碟,并挂在到/ftp下。匿名使用者隻能下載下傳,本地使用者可以下載下傳和上傳,匿名的使用者主目錄為/ftp/public
将本地FTP使用者的目錄改為為/ftp/home/下,每個本地使用者的最大空間為100M,本地使用者的最大速率為10MB/S 匿名使用者的最大速率為1M/S, 最大連接配接數位1000
每個ip最大連接配接3次。
安全要求
通過tcp_wrapper來禁止一些惡意的ip來通路
本地使用者必須使用FTPS 來加密傳輸,
使用iptables來限制隻有在工作時間才能通路FTP伺服器(擱淺)
寫的不是很詳細,不懂的哪可以留言
1、添加一塊40G的硬碟并分區、格式化。
<a href="http://blog.51cto.com/attachment/201212/221254437.png" target="_blank"></a>
格式化後
<a href="http://blog.51cto.com/attachment/201212/221303627.png" target="_blank"></a>
檢視分區表
<a href="http://blog.51cto.com/attachment/201212/221323655.png" target="_blank"></a>
如果沒識别,可以用 partprobe /dev/sdb 指令
挂載
mkdir /ftp
mount /dev/sdb1 /ftp
Vim /etc/fstab
mount -o remount /dev/sdb1 或 mount -a 重新挂載
如下圖所示,已經可以磁盤配額了。。。
<a href="http://blog.51cto.com/attachment/201212/221402331.png" target="_blank"></a>
2、轉移使用者家目錄
mkdir /ftp/public 匿名的根目錄
mkdir /ftp/home 使用者的家目錄
<a href="http://blog.51cto.com/attachment/201212/221425751.png" target="_blank"></a>
預設的本地建立的使用者的家目錄在/home 下;
可以用useradd -D -b /ftp/home 更改預設值。
<a href="http://blog.51cto.com/attachment/201212/221452140.png" target="_blank"></a>
建立使用者user1和user2
[root@localhost /]# useradd user1
[root@localhost /]# echo "123" |passwd --stdin user1
3、對使用者user1和user2作磁盤配額
quotacheck -auvg
quotaon /dev/sdb1 開啟磁盤配額
edquota -u user1 編輯user1為100M 如下:
<a href="http://blog.51cto.com/attachment/201212/221506138.png" target="_blank"></a>
edquota -p user1 user2 user2和user1相同
4、安裝vsftpd服務,并啟動
rpm -ivh vsftpd-2.0.5-10.el5.i386.rpm
service vsftpd start
chkconfig vsftpd on
5、編輯vsftpd.conf 如下:
開啟 ftpd_banner=Welcome to wsm FTP service.
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
vim chroot_list 并且添加 user1和user2 (一行一個賬号)
再添加如下設定:
<a href="http://blog.51cto.com/attachment/201212/221536479.png" target="_blank"></a>
重新開機vsftpd服務
A 利用tcp_wrapper (簡易防火牆)來禁止ip位址為192.168.101.251的主機通路vsftpd服務
tcp_wrappers=YES 確定開啟
<a href="http://blog.51cto.com/attachment/201212/221558910.png" target="_blank"></a>
/etc/hosts.allow 允許的來源ip
/erc/hosts.deny 拒絕的來源 (預設先看hosts.allow檔案在看hosts.deny檔案,預設允許)
vim /etc/hosts.allow 添加如下:
Vsftpd:192.168.101.251:deny
禁止2.0網段的來源ip登入
Vsftpd: 192.168.2.0/255.255.255.0 :deny (服務:來源:動作)
Vsftpd: all :allow (可以不寫。預設allow all)
B FTPS的實作資料的加密
首先,搭建CA認證中心
(關于CA 搭建可以參考http://abc16810.blog.51cto.com/3177586/1034802)
其次:建立自己的私鑰,請求,最後頒發自己的證書
mkdir /etc/vsftpd/certs
openssl genrsa 1024 > vsftpd.key
openssl req -new -key vsftpd.key -out vsftpd.crq
openssl ca -in vsftpd.crq -out vsftpd.cert
chmod 600 vsftpd.key
編輯vsftpd.conf 添加如下内容
<a href="http://blog.51cto.com/attachment/201212/221615463.png" target="_blank"></a>
重新開機 vsftpd服務
用第三方軟體 (如:cuteftp 進行 SSL — FTP連接配接)并用wireshark 進行抓包如下:
<a href="http://blog.51cto.com/attachment/201212/221630407.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201212/221653197.png" target="_blank"></a>
已經基本符合要求了。。
本文轉自 abc16810 51CTO部落格,原文連結:http://blog.51cto.com/abc16810/1092521