導航:首頁 > 文檔加密 > ftp加密傳輸設計與實現

ftp加密傳輸設計與實現

發布時間:2023-03-02 08:50:21

『壹』 在linux系統上建立FTP加密傳輸

在LINUX系統上建立FTP加密傳輸在眾多的FTP伺服器中PROFTPD由於它的配置靈活,安裝簡便。近年來一直受到人們的喜愛。通常情況下FTP包括認證過程,傳輸是明文傳輸的,在傳輸一些敏感數據時總是不能讓人放心。今天我在網上找了一些零散的資料結合自己的實作寫了個帖子貢獻給大家。

下載最新的軟體版本:

# wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0rc3.tar.gz

首先創建ROFTPD運行的用戶和組:

# groupadd nogroup
# useradd –g nogroup –d /dev/null –s /sbin/nologin nobody

首先創建上傳下載的用戶和組:

# groupadd ftp
# useradd –g ftp –d /home/down –s /sbin/nologin down
# useradd –g ftp –d /home/upload –s /sbin/nologin upload
用戶密碼設置略

編譯安裝PROFRPD:

# tar –zxvf proftpd-1.3.0rc3.tar.gz
# cd proftpd-1.3.0rc3
# ./configure
--prefix=/usr/local/proftpd
--sysconfdir=/etc
--enable-autoshadow
--localstatedir=/var/run
--enable-ctrls
--with-moles=mod_tls

# make
# make install

配置PROFTPD伺服器:

# vi /etc/proftpd.conf
================+================+=================
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use. It establishes a single server
# and a single anonymous login. It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.
ServerName "llzqq"
ServerType standalone
DefaultServer on
AllowRetrieveRestart on
AllowStoreRestart on
ServerType standalone
ServerIdent on
SystemLog /var/log/proftpd.log
UseReverseDNS off
IdentLookups off
RequireValidShell off
# Port 21 is the standard FTP port.
Port 21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022
MaxInstances 100
# Set the user and group under which the server will run.
User nobody
Group nogroup
# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~
# Normally, we want files to be overwriteable.
<Directory />
AllowOverwrite on
</Directory>
# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin .welcome
DisplayFirstChdir .message
# Limit User of being enbled login ftp server
<Limit LOGIN>
AllowGroup ftp
DenyAll
</Limit>
#########################ssl/tls############################
# MOD_TLS SETTING
<IfMole mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd-tls.log
TLSProtocol SSLv23
# Are clients required to use FTP over TLS when talking to this server?
TLSRequired ctrl
# Server's certificate
TLSRSACertificateFile /etc/proftpd.crt
TLSRSACertificateKeyFile /etc/proftpd.key
# Authenticate clients that want to use FTP over TLS
TLSVerifyClient off
#########################ssl/tls############################
<Directory /home/down>
<Limit WRITE>
DenyGroup ftp
</Limit>
TransferRate RETR 150 group ftp
</Directory>
<Directory /home/upload>
<Limit RMD RNFR DELE RETR>
DenyGroup ftp
</Limit>
TransferRate STOR 150 group ftp
</Directory>
MaxClientsPerHost 200
PassivePorts 55000 56000
================+================+=================

創建PROFTPD的日誌文件:

# touch /var/log/proftpd.log
# touch /var/log/proftpd-tls.log
# chown nobody:nogroup /var/log/proftpd.log /var/log/proftpd-tls.log

創建SSL傳輸的證書和密匙:

# cp /usr/share/ssl/openssl.cnf ./
# openssl req -new -x509 -nodes -config openssl.cnf -out proftpd.crt –keyout proftpd.key
這里安裝提示需要輸入證書信息略

把證書和密匙復制到指定目錄:
# cp proftpd.crt proftpd.key /etc/
http://linux.chinaitlab.com/server/520729.html

『貳』 ftp如何加密訪問

我當初搞VSFTPD的時候,加密的話,採用的加密方式是修改源碼增加加密支持,我給樓主幾個要用的鏈接吧,因為自己手動打跟相關的鏈接都差不多的。
http://hi..com/maxmissyou/blog/item/77601b238660f0a34623e8ce.html
http://supersun.biz/2007/10/vsftpdsslftp.html
其實嘛,如果樓主需要傳輸的文件不是重要文件的話,可以不搞加密,另外,樓主想學習下加密傳輸也還是挺不錯的。

『叄』 FTP的防範與攻擊如何實現

------------------------FTP安全考慮—RFC2577----------------------------------
1.簡介
文件傳輸協議規范(FTP)[PR85]提供了一種允許客戶端建立FTP控制連接並在兩台
FTP伺服器間傳輸文件的機制。這種「代理FTP」機制可以用來減少網路的流量,客戶端命
令一台伺服器傳輸文件給另一台伺服器,而不是從第一台伺服器傳輸文件給客戶端,然後從
客戶端再傳輸給第二台伺服器。當客戶端連接到網路的速度特別慢時,這是非常有用的。但
同時,代理FTP還帶來了一個安全問題——「跳轉攻擊(bounce attack)」[CERT97:27]。除
了「跳轉攻擊」,FTP伺服器還可以被攻擊者通過強力來猜測密碼。
本文檔並不考慮當FTP和一些強壯的安全協議(比如IP安全)聯合使用的情況。雖然
這些安全關注並不在本文檔的考慮范圍內,但是它們也應該被寫成文檔。
本文給FTP伺服器的實現者和系統管理員提供了一些信息,如下所示。第二章描述了
FTP「跳轉攻擊」。第三章提供了減少「跳轉攻擊」的建議。第四章給基於網路地址限制訪
問的伺服器提供了建議。第五章提供了限制客戶端強力「猜測密碼」的建議。接著,第六章
簡單的討論了改善保密性的機制。第七章給出了阻止猜測用戶身份的機制。第八章討論了端
口盜用。最後,第九章討論了其它跟軟體漏洞有關而跟協議本身無關的FTP安全問題。
2.跳轉攻擊(Bounce Attack)
RFC959[PR85]中規定的FTP規范提供了一種攻擊知名網路伺服器的一種方法,並且使
攻擊者很難被跟蹤。攻擊者發送一個FTP"PORT"命令給目標FTP伺服器,其中包含該主機
的網路地址和被攻擊的服務的埠號。這樣,客戶端就能命令FTP伺服器發一個文件給被
攻擊的服務。這個文件可能包括根被攻擊的服務有關的命令(如SMTP,NNTP等)。由於是
命令第三方去連接到一種服務,而不是直接連接,就使得跟蹤攻擊者變得困難,並且還避開
了基於網路地址的訪問限制。
例如,客戶端上載包含SMTP命令的報文到FTP伺服器。然後,使用正確的PORT命
令,客戶端命令伺服器打開一個連接給第三方機器的SMTP埠。最後,客戶端命令服務
器傳輸剛才上載的包含SMTP命令的報文給第三方機器。這就使得客戶端不建立任何直接
的連接而在第三方機器上偽造郵件,並且很難跟蹤到這個攻擊者。
3.避免跳轉攻擊
原來的FTP規范[PR85]假定使用TCP進行數據鏈接,TCP埠號從0到1023時報留給
一些眾所周知的服務的,比如郵件,網路新聞和FTP控制鏈接。FTP規范對數據鏈接沒有
限制TCP埠號。因此,使用代理FTP,客戶端就可以命令伺服器去攻擊任何機器上眾所
周知的服務。
為了避免跳轉攻擊,伺服器最好不要打開數據鏈接到小於1024的TCP埠號。如果服
務器收到一個TCP埠號小於1024的PORT命令,那麼可以返回消息504(對這種參數命
令不能實現)。但要注意這樣遺留下那些不知名服務(埠號大於1023)易受攻擊。
一些建議(例如[AOM98]和[Pis94])提供了允許使用除了TCP以外的其他傳輸協議來
建立數據連接的機制。當使用這些協議時,同樣要注意採用類似的防範措施來保護眾所周知
的服務。
另外,我們注意到跳轉攻擊一般需要攻擊者首先上載一個報文到FTP伺服器然後再下
載到准備攻擊的服務埠上。使用適當的文件保護措施就可以阻止這種情況發生。然而攻擊
者也可能通過從遠程FTP伺服器發送一些能破壞某些服務的數據來攻擊它。
禁止使用PORT命令也是避免跳轉攻擊的一種方法。大多數文件傳輸可以僅通過PASV
命令來實現。但這樣做的缺點就是喪失了使用代理FTP的能力,當然代理FTP並不是在所
有場合都需要的。
4.受限制的訪問
一些FTP伺服器希望有基於網路地址的訪問控制。例如,伺服器可能希望限制來自某
些地點的對某些文件的訪問(例如為了某些文件不被傳送到組織以外)。在這種情況下,服
務器在發送受限制的文件之前應該首先確保遠程主機的網路地址在本組織的范圍內,不管是
控制連接還是數據連接。通過檢查這兩個連接,伺服器就被保護避免了這種情況:控制連接
用一台可信任的主機連接而數據連接不是。同樣的,客戶也應該在接受監聽模式下的開放端
口連接後檢察遠程主機的IP地址,以確保連接是由所期望的伺服器建立的。
注意,基於網路地址的受限訪問留下了FTP伺服器易受「地址盜用(spoof)」攻擊。在
spoof攻擊中,攻擊機器可以冒用在組織內的機器的網路地址,從而將文件下載到在組織之
外的未授權的機器上。只要可能,就應該使用安全鑒別機制,比如在[HL97]中列出的安全鑒
別機制。
5.保護密碼
為了減少通過FTP伺服器進行強力密碼猜測攻擊的風險,建議伺服器限制嘗試發送正
確的密碼的次數。在幾次嘗試(3~5次)後,伺服器應該結束和該客戶的控制連接。在結束
控制連接以前,伺服器必須給客戶端發送一個返回碼421(「服務不可用,關閉控制連接」
[PR85])。另外,伺服器在相應無效的「PASS」命令之前應暫停幾秒來消減強力攻擊的有效
性。若可能的話,目標操作系統提供的機制可以用來完成上述建議。
攻擊者可能通過與伺服器建立多個、並行的控制連接破壞上述的機制。為了搏擊多個並
行控制連接的使用,伺服器可以限制控制連接的最大數目,或探查會話中的可疑行為並在以
後拒絕該站點的連接請求。然而上述兩種措施又引入了「服務否決」攻擊,攻擊者可以故意
的禁止有效用戶的訪問。
標准FTP[PR85]在明文文本中使用「PASS」命令發送密碼。建議FTP客戶端和伺服器
端使用備用的鑒別機制,這種鑒別機制不會遭受竊聽。比如,IETF公共鑒別技術工作組開
發的機制[HL97]。
6.私密性
在FTP標准中[PR85]中,所有在網路上被傳送的數據和控制信息(包括密碼)都未被
加密。為了保障FTP傳輸數據的私密性,應盡可能使用強壯的加密系統。在[HL97]中定義
了一個這樣的機制。
7.保護用戶名
當「USER」命令中的用戶名被拒絕時,在FTP標准中[PR85]中定義了相應的返回碼530。
而當用戶名是有效的但卻需要密碼,FTP將使用返回碼331。為了避免惡意的客戶利用USER
操作返回的碼確定一個用戶名是否有效,建議伺服器對USER命令始終返回331,然後拒絕
對無效用戶名合並用戶名和密碼。
8.埠盜用
許多操作系統以遞增的順序動態的分配埠號。通過合法的傳輸,攻擊者能夠觀察當前
由伺服器端分配的埠號,並「猜」出下一個即將使用的埠號。攻擊者可以與這個埠建
立連接,然後就剝奪了下一個合法用戶進行傳輸的能力。或者,攻擊者可以盜取給合法用戶
的文件。另外,攻擊者還可能在從授權用戶發出的數據流中插入偽造的文件。通過使FTP
客戶和伺服器隨機的給數據連接分配埠號,或者要求操作系統隨機分配埠號,或者使用
與系統無關的機制都可以減少埠盜用的發生。
9.基於軟體的安全問題
本文檔的重點是和協議相關的安全問題。另外還有一些成文的FTP安全問題是由於不
完善的FTP實現造成的。雖然這種類型的問題的細節超出本文檔的范圍,還是有必要指出
以下那些過去曾被誤用,今後的實現應該慎重考慮的FTP特性。
? 匿名FTP
匿名FTP服務使客戶端用最少的證明連接到FTP伺服器分享公共文件。如果這樣的用
戶能夠讀系統上所有的文件或者能建立文件,那麼問題就產生了。[CERT92:09] [CERT93:06]

? 執行遠程命令
FTP擴展命令"SITE EXEC"允許客戶端執行伺服器上任意的命令。這種特性顯然需要非
常小心的實現。已經有幾個成文的例子說明攻擊者利用FTP「SITE EXEC」命令可以破壞服
務器的安全性。[CERT94:08] [CERT95:16]

? 調試代碼
前面的一些跟FTP有關危及安全的問題是由於置入了調試特性的軟體造成的。
[CERT88:01]

本文建議有這些功能的FTP伺服器的實現者在發布軟體之前參閱所有的CERT有關這
些問題的攻擊以及類似機制的忠告。
10.結論
使用以上建議可以減少和FTP伺服器有關的安全問題的發生,而不用刪除其功能。

『肆』 如何在FTP上加密向FTP上指定文件夾上傳文件及文件夾時這些內容均被自動加密,其他人都可以看到

這個FTP伺服器做不到,像word excel你可以自己設個密碼,其他類型的就沒辦法了,用加密工具加密也只在本地電腦有效。

『伍』 如何對FTP存檔進行加密

windows用戶 安裝Secure FTP或者 Flash FXP

Secure FTP的使用方法如下:
步驟1:啟動Secure FTP,點擊工具欄上的紅綠燈按鈕打開連接對話框,如圖3所示,在「hostname」中填入Serv-U FTP Server伺服器的IP地址,在下面兩欄中分別填入FTP帳戶名和密碼。
步驟2:切換到「Secutity」標簽,點擊「Secutity」欄下的下拉框,可以發現它支持兩種連接方式:普通的連接和implicit SSL連接,不支持explicit SSL連接(如果您一定要使用這種連接,您可以使用Secure FTP的命令行版本,它支持所有的連接方式),這里我們選擇「implicit SSL」項,並勾選「Data Encryption」項。完成後點擊「connect」即開始連接伺服器。由於是SSL連接,所以連接時間明顯比普通連接要長.當第一次使用時,還會彈出一個接受伺服器證書的對話框,點擊「Grant Always」按鈕接受即可。

Flash FXP比較方便 就不說了

『陸』 ftp虛擬賬戶設置以及ssl加密

注意1
打開 FTP 伺服器上的文件夾時發生錯誤。請檢查是否有許可權訪問該文件夾。
詳細信息:
200 Switching to ASCII mode.
227 Entering Passive Mode (0,0,0,0,227,175).
解決:
在windows下操作:
打開 「網路和共享中心」,找到「Internet選項」 -->【高級】這頁,
取消掉「使用被動FTP(用於防火牆和DSL數據機的兼容)」
注意2 : 雲主機防火牆設置
pasv_min_port=30000 ##被動模式最小埠
pasv_max_port=30010 ##被動模式最大埠
需要在伺服器端開放防火牆20/21以及30000/30010即可

參考:

mkdir /etc/vsftpd/sslkey
cd /etc/vsftpd/sslkey
openssl req -x509 -nodes -keyout /etc/vsftpd/sslkey/vsftpd.pem -out /etc/vsftpd/sslkey/vsftpd.pem -days 365 -newkey rsa:2048

vim /etc/vsftpd/vsftpd.conf 添加

參考:

1 FTP匿名訪問是FTP安全問題中最常見的問題,取消匿名訪問

2 未限制登錄用戶訪問目錄許可權,配置加固

除了chroot_list中的用戶都不能訪問上級根目錄
3 使用虛擬賬戶
4 密碼和文件內容都使用明文傳輸,可能產生不希望發生的竊聽,使用ftps ftp+ssl
注意登錄必須使用
5 在使用FTP時,如果客戶端機器和FTP伺服器雙方之間的所有埠都是開放的,那連接不存在問題。如果客戶端與伺服器之間有防火牆,如果沒配置好防火策略和採用合適的連接模式,會導致登錄成功,但無法List列表的問題。要避免出現這樣的問題,首先要了解FTP的工作模式。我採取的是被動模式
可參考

6 tcpmp port 21 -nA 可通過此命令查看ftp如果不添加ssl就是明文傳輸

『柒』 如何為FTP伺服器加密

第一步首先在A計算機上安裝sniffer嗅探工具,並啟動該程序。在sniffer軟體中通過上方的「matrix」(矩陣)按鈕啟動監測界面,打開監測界面後我們就可以開始監測網路中的數據包了。通過菜單欄的「capture(捕獲)→start(開始)」啟動。在檢測數據包窗口中我們點左下角的objects(對象)標簽,然後選擇station(狀態),這樣將把當前網路中所有通信都顯示在窗口中。

至此我們就通過sniffer工具將員工在FTP伺服器上的用戶名和密碼嗅探出來,該方法在員工和安裝了sniffer的計算機處在同一個子網的情況下有效。

閱讀全文

與ftp加密傳輸設計與實現相關的資料

熱點內容
excel表格單列數據加密 瀏覽:646
給同事的解壓話語 瀏覽:990
linux關閉網卡命令行 瀏覽:452
史上最漂亮程序員 瀏覽:768
java實現excel的導入 瀏覽:758
光遇賬號如何轉移安卓 瀏覽:266
5分之13除以26的演算法 瀏覽:342
蘭州安寧區買解壓包子 瀏覽:641
php接收圖片代碼 瀏覽:668
hci命令 瀏覽:662
福建伺服器大區雲空間 瀏覽:840
筆桿子程序員 瀏覽:745
手機軟體易驗證加密 瀏覽:589
文檔加密只讀模式也不能看到 瀏覽:431
把jpg轉換成pdf的軟體 瀏覽:874
linuxeth0mac 瀏覽:192
windows編程知乎 瀏覽:442
壓縮工期超過40 瀏覽:249
Android怎麼優化內存 瀏覽:106
linuxetcsysconfig 瀏覽:396