ftps

ftps是多傳輸協議,在一般情況下,ftp是明文傳輸的,***者可以竊聽傳輸中的數據,造成信息容易泄露。所以我們可以結合ssl來實現安全的數據傳輸。ssl (Secure Socket Layer) 安全套階層,是在客戶機和具有SSL功能的服務器之間的保證安全連接的協議,它能確保數據發送到正確的客戶機和服務器,並加密數據、保持數據在傳輸過程中的完整性 。ftps就是ftp+ssl,相當於加密版的ftp,因此FTPS也稱作“FTP-SSL”和“FTP-over-SSL”。

openssl

yum install openssl*

cd /etc/pki/

vim tls/openssl.cnf 

更改45行          =/etc/pki/CA

p_w_picpath

由上圖可以得知要創建如下文件:

mkdir certs crl newcerts

touch index.txt serial

echo “01” >serial

match替換爲optional

p_w_picpath :88,90 s/match/optional

 

 

 

證書服務器生成私鑰

cd /etc/pki/CA/private

openssl genrsa 1024 >cakey.pem

爲了安全最好更改一下私鑰權限:

chmod 600 cakey.pem

自簽發:

openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650

-----

#因爲在前面我們已經設置過國、省、組織名不嚴格匹配了,而且只是實驗,這裏隨便寫好了
Country Name (2 letter code) [GB]:CN
State or Province Name (full name) [Berkshire]:HN
Locality Name (eg, city) [Newbury]:ZZ
Organization Name (eg, company) [My Company Ltd]:ZZU
Organizational Unit Name (eg, section) []:NET
Common Name (eg, your name or your server's hostname) []:root.net  #這裏寫的是證書服務器的地址,當然這裏也是最便寫的
Email Address []:

A challenge password []:#挑戰口令,直接確定就好
 

 

vsftpd

rpm –ivh vsftpd   

編輯ftp配置文件:

vim /etc/vsftpd/vsftpd.conf

添加如下語句:

p_w_picpath

創建證書目錄

mkdir /etc/vsftpd/certs

證書客戶端私鑰:

openssl genrsa 1024 >vsftpd.key

CSR 請求文件 (Certificate Signing Request)此文件頒發證書後可刪除

openssl req –new –key vsftpd.key –out vsftpd.csr

-----
Country Name (2 letter code) [GB]:CN
State or Province Name (full name) [Berkshire]:HN
Locality Name (eg, city) [Newbury]:ZZ
Organization Name (eg, company) [My Company Ltd]:ZZU
Organizational Unit Name (eg, section) []:NET
Common Name (eg, your name or your server's hostname) []:192.168.101.188

#這個通常寫證書客戶端網址,這裏是我的linux ip O(∩_∩) 
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

頒發證書:

openssl ca –ni vsftpd.csr –out vsftpd.cert

Signature ok
Certificate Details:
        Serial Number: 1 (0x1)
        Validity
            Not Before: Mar 20 03:53:38 2012 GMT
            Not After : Mar 20 03:53:38 2013 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = HN
            organizationName          = ZZU
            organizationalUnitName    = NET
            commonName                = 192.168.101.188
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:FALSE
            Netscape Comment:
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier:
                44:2D:1B:1F:84:DD:BB:D3:4C:FF:B0:3B:89:80:AD:74:AA:A0:3E:1B
            X509v3 Authority Key Identifier:
                keyid:56:FD:BD:54:59:0D:3F:0B:27:1A:08:EB:10:95:CA:4B:E1:C2:BA:35

Certificate is to be certified until Mar 20 03:53:38 2013 GMT (365 days)
Sign the certificate? [y/n]:y  #是否簽發?

1 out of 1 certificate requests certified, commit? [y/n]y   #確定要籤?
Write out database with 1 new entries
Data Base Updated

更改權限:

chmod 600 certs

 

創建賬戶:

useradd  user1

重啓一下ftp:

service vsftpd restart

 p_w_picpath

登陸:

此時當我們登陸ftp服務器時會得到一個證書,如下:

p_w_picpath

p_w_picpath

我們可以看到登陸後在用戶家目錄下:

p_w_picpath

openssl雖然可以保證我們的傳輸數據的安全。但僅僅這樣還是不夠的,例如,我們可以輕易切換到根目錄下,然後

p_w_picpath 

p_w_picpath

保證ftp正常、穩定、安全的運行,我們還需要對ftp進行適當的配置,例如用戶權限的分配,磁盤配額等

 

更改家目錄

vim /etc/passwd

p_w_picpath 或:

p_w_picpath

允許匿名賬號:

p_w_picpath 

local_enable=YES   本地賬戶

anon_upload_enable=YES   匿名上傳

anon_mkdir_write_enable=YES   匿名可寫、創建

idle_session_timeout=600     回話超時

data_connection_timeout=120  連接超時


匿名賬號家目錄修改:vim /etc/vsftpd/vsftpd.conf

128 anon_root=/mnt/ftphome/anon

匿名賬號下載速度:100k
anon_max_rate=100000         #byte

本地賬號下載速度:
local_max_rate=1000000

允許最大連接數
max_clients=3

每個用戶連接數
max_per_ip=2

 

 

磁盤配額

 

開機自動掛載該分區vim /etc/fstab

p_w_picpath

檢查當前系統所有分區中的磁盤配額信息

quotacheck -aug –c

編輯用戶配額

edquota –u user1

編輯用戶或組的配額

p_w_picpath

複製配額信息

edquota –p user1 user2

加到開機腳本

echo “quotaon /dev/sdb1” >>/etc/rc.d/rc.local

 可以輸出一個文件,測試一下

p_w_picpath

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章