vsftpd的安全設定
vsftpd的安全設定
vsftpd原名是very secure FTP daemon的縮寫,安全性是它的一個最大的優點,並且還可以對其進行頻寬的限制,建立虛擬使用者等 許多的優點。這裡就不再講解它的簡單的設定,主要說一下vsftpd的安全設定.
vsftpd實現使用者安全登入的方法主要四種
1> 配置檔案與主目錄許可權的設定
2> 簡易防火牆tcp_wrappers
3> FTPS(CA認證)
4> iptables
對於配置檔案與主目錄許可權設定和iptables,不在這節的討論範圍之內,主要討論2,3兩種方法對vsftpd安全的設定。
(1) 簡易防火牆tcp_wrappers的設定
1> 在進行此實驗之前需要先檢視一下你安裝的vsftpd軟體是否支援tcp_wrappers,可以用如下命令檢視
現在我們可以進行下面的實驗了。
2> tcp_wrappers功能在使用起來比較簡單,只是改動系統中的兩個檔案就可以實現一定的使用者及ip地址的控制,即檔案:/etc/hosts.allow與/etc/hosts.deny
hosts.allow:表示在此檔案中的ip都被允許
hosts.deny: 表示在此檔案中的ip都不被允許
如果有些IP地址都沒有在這兩個檔案中定義的話,系統就會使用預設的規則,即預設為:允許全部的ip地址通過。
如果在兩個檔案中都定義了的ip地址,那麼系統會按順序來使用定義的規則,系統預設是先查詢hosts.allow中的規則,如果匹配,則允許其通過,就會忽略hosts.deny中定義的規則。
3> 實驗
現在我有兩臺主機,IP地址分別為192.168.2.2與192.168.2.12,我們現在可以定義讓192.168.2.2可以允許其ip地址為192.168.2.10的vsftpd主機,而不允許192.168.2.12來訪問。下面還會說一下衝突ip地址,系統對其的處理方式。
現在我們對hosts.deny進行配置,它的配置很簡單,只需要在兩個檔案中各加入下面的一句話就行了
[root@mail ~]# vim /etc/hosts.deny
vsftpd:192.168.2.2:deny
[root@mail ~]# vim /etc/hosts.allow
vsftpd:192.168.2.12:allow
在/etc/hosts.allow可以寫也可以不寫,因為對於沒有設定規則的ip地址,系統中預設允許其通過的。
注:如果在檔案hosts.deny定義了規則是拒絕了192.168.2.12,如:拒絕這個網段或全部的ip地址,一定要在hosts.allow中加入這一行。
現在我們就可以進行測試:
在192.168.2.2
在192.168.2.12測試
測試的效果是可以的。
有時我們在hosts.allow與hosts.deny中都設定有一個相同的ip,緊接著上一個實驗測試一下,我們再把192.168.2.2放入hosts.allow,看會出現效果。
[root@mail ~]# vim /etc/hosts.allow
vsftpd:192.168.2.12:allow
vsftpd:192.168.2.2:allow
[root@mail ~]# vim /etc/hosts.deny
vsftpd:192.168.2.2:deny
現在在192.168.2.2中檢視效果
在hosts.deny與hosts.allow中還可以使用all引數,即允許或阻止全部ip如 除hosts.allow中的ip外,阻止全部另外的ip,可以在hosts.deny中加入以下一行: vsftpd:all:deny 這樣就可以達到阻止除了你想讓其允許通過的ip。
(2) FTPS(CA認證)
單單使用FTP時是極不安全的,別人可以直接使用抓包工具,抓取使用者的登入名與密碼,我們也可以實驗一下,抓包時我們使用wireshark,使用rpm可以直接在Linux下安裝
[root@mail Server]# rpm -ivh libsmi-0.4.5-2.el5.i386.rpm wireshark-1.0.8-1.el5_3.1.i386.rpm
Preparing… ########################################### [100%]
1:libsmi ########################################### [ 50%]
2:wireshark ########################################### [100%]
使用user1登入,試一下能否抓到使用者名稱與密碼
可以看到抓取的使用者名稱與密碼
從上面的小例項中可以看出,直接使用FTP是極其不安全的,因此為了保證我們系統的安全性,我們可以使用FTPS,這樣使用抓包工具就算抓到使用者名稱與密碼也是經過加密的,不能夠了直接登入我們的系統。
配置FTPS,是使用CA對其進行認證,並進行加密,本實驗包含三大部分,分別為:
1. 配置CA認證中心
2.將ftp伺服器進行加密
3.客戶端進行認證
1. 配置CA認證中心
[root@mail ~]# cd /etc/pki
[root@mail pki]# cd tls
[root@mail tls]# vim openssl.cnf
修改如下內容
建立所需的檔案與目錄
[root@mail CA]# mkdir certs crl newcerts
[root@mail CA]# touch index.txt serial
[root@mail CA]# echo “01”>serial
配置CA伺服器的金鑰
[root@mail CA]# openssl genrsa 1024 >./private/cakey.pem
Generating RSA private key, 1024 bit long modulus
…………..++++++
……………………….++++++
e is 65537 (0x10001)
為自己頒發證書,以保證自己是可信任的
2.將ftp伺服器進行加密
現在來進行ftp伺服器應用ssl,配置ftps
先在/etc/vsftpd檔案中建立一個存放密碼與證書的目錄,並進入目錄
[root@mail CA]# mkdir /etc/vsftpd/certs
[root@mail CA]# cd /etc/vsftpd/certs
[root@mail certs]#
為伺服器建立私鑰
[root@mail certs]# openssl genrsa 1024 > vsftpd.key
Generating RSA private key, 1024 bit long modulus
……………..++++++
…..++++++
e is 65537 (0x10001)
建立一個用於向CA認證中心申請的請求證書
向CA認證中心進行證書請求
請求成功之後就可以開始認證了。
對配置檔案vsftpd.conf進行設定,使其支援ftps
[root@mail certs]# vim /etc/vsftpd/vsftpd.conf
新增如下內容
ssl_enable=yes
ssl_sslv2=yes
ssl_sslv3=yes
ssl_tlsv1=yes
rsa_private_key_file=/etc/vsftpd/certs/vsftpd.key
rsa_cert_file=/etc/vsftpd/certs/vsftpd.cert
force_local_data_ssl=yes
force_local_logins_ssl=yes
做到現在FTPS可以說已經做成了,現在只要去驗證是否成功。
3.客戶端進行認證
現在在192.168.2.2上進行驗證(注意把在hosts.deny中的規則刪除)
可以看出直接使用ftp是不可以登入的
Ftps是不能直接使用命令或瀏覽器登入的,我們需要使用專門的軟體來登入,我下載 了一個FlashFXP-v4.0.1548.zip來進行這個實驗,把這個檔案安裝上
測試時並進行抓包
點選最下面的“連線”進行登入
登入後會出現下面的影像框,就說明我們的ftps配置成功了。
點選“接受一次”或“接受並儲存”就可以看到自己ftp主目錄下的檔案。
抓包的內容我們也可以看一下
可以看出登入資訊已經經過了加密,安全性大大提高。
實驗結束
相關文章
- 設定vsftpdFTP
- vsftpd設定引數FTP
- MFGPRO的安全設定
- rsync的安全設定(zt)
- sshd安全設定
- 設定listener的安全性
- 設定listener的安全機制
- 設定listener 的安全機制
- 微信隱私安全設定教程 如何設定微信隱私安全?
- 轉 mysql安全設定MySql
- Window安全設定(轉)
- 伺服器的安全設定方法伺服器
- 讓Windows7更加安全的系統安全設定Windows
- Linux/Window安全設定Linux
- 安全性偏好設定
- LINUX安全設定(部分)Linux
- PHP開發安全設定PHP
- SQL SERVER安全設定攻略SQLServer
- SQL Server的安全設定問題解答SQLServer
- win10電腦 tls安全設定怎麼設定為預設設定Win10TLS
- CentOS 伺服器安全設定CentOS伺服器
- IP安全策略設定(收藏)
- Linux 安全設定手冊Linux
- 無線安全設定對速度的影響
- 如何安全設定和檢測你的密碼安全性?密碼
- 伺服器安全必備:設定VPS安全伺服器
- 如何設定iis服務更安全
- 阿里雲安全組設定FTP阿里FTP
- 無線網路安全設定的七點技巧
- redis密碼設定、訪問許可權控制等安全設定Redis密碼訪問許可權
- 360安全衛士如何設定自定義安全防護
- Linux中的vsftpdLinuxFTP
- VSFTPD的配置選項FTP
- VSFTPD的基本配置(轉)FTP
- vsftpd experimentFTP
- 收藏! Linux 伺服器必備的安全設定Linux伺服器
- 移動支付時代的手機和app安全設定APP
- 詳解Win2000的安全設定(轉)