運維安全系列基礎服務之 FTP 服務(系列一)

2021-07-09 05:57:10 字數 2039 閱讀 5892

今天主要講的是基礎服務裡面的[ftp服務][ftp]。

檔案傳輸協議(英文:file transfer protocol,縮寫:ftp)是用於在網路上進行檔案傳輸的一套標準協議。它屬於網路傳輸協議的應用層。

ftp 是乙個8位的客戶端-伺服器協議,能操作任何型別的檔案而不需要進一步處理,就像 mime 或 unicode 一樣。但是,ftp 有著極高的延時,

這意味著,從開始請求到第一次接收需求資料之間的時間,會非常長;並且不時的必須執行一些冗長的登陸程序。

(

特別是還有anonymous ftp這種 buggy 的設計。為什麼會出現這種情況呢,這還需要從 ftp 協議設計的目的來看,rfc959 中開篇介紹中就列出了 ftp 協議的4個目的:

這些目的中沒有任何關於安全方面的描述,很多 ftp 工具也僅僅是滿足上面列出的 ftp 協議的目的,所以 ftp 協議被當做黑客攻擊的目標就不足為奇了。下面主要從兩個方面來講講 ftp 的安全問題,最後給出一些安全使用 ftp 的建議。

anonymous ftp 也稱作匿名 ftp 服務。上面說過,ftp 最主要的目的就是為了在網際網路上共享檔案和資料,通常使用 ftp 服務是需要在服務端註冊賬號後才能使用的,而匿名 ftp 是建立了乙個特殊的名為anonymous的使用者 id,方便 internet 上的任何人在任何地方無需註冊賬號就可使用該使用者 id 來進行檔案共享。既然任何人都可以使用這個賬號,這也為黑客侵入提供了便利。通常的做法是:

通過匿名賬號的寫許可權上傳木馬實施攻擊;

通過啟動 ftp daemon 的系統賬號許可權進行攻擊;

通過匿名賬號啟動系統 shell;

即使沒有上述所有許可權,也可以通過大規模的登入/退出操作讓系統日誌快速增長,從而吃滿伺服器空間讓伺服器掛掉;

所以匿名 ftp 服務是一項非常危險的服務,如非必要,建議關閉此服務,使用 http/https 服務來提供檔案共享服務。以vsftpd 為例,關閉匿名 ftp 服務的方法是:

sh

cat /etc/vsftpd.conf

# access rights

anonymous_enable=no

no_anon_password=no

然後重啟 vsftp 服務即可。

即使需要保留匿名 ftp,也有以下建議:

使用無特權賬號和組(比如 nobody)來啟動 ftp daemon

給匿名 ftp 賬號使用假的 shell(/bin/false or /bin/true)

限制 ftp 賬號在一定時間段內的登入次數

ftp bounce attack(ftp跳轉攻擊)是利用 ftp 規範中的漏洞來攻擊知名網路伺服器的一種方法,並且使攻擊者很難被跟蹤。首先攻擊者通過 ftp 伺服器傳送乙個 ftp」port」 命令給目標 ftp 伺服器,其中包含該主機的網路位址和被攻擊的服務的埠號。這樣,客戶端就能命令 ftp 伺服器發乙個檔案給被攻擊的服務。這個檔案可能包括根被攻擊的服務有關的命令(如 smtp,nntp 等)。由於是命令第三方去連線到一種服務,而不是直接連線,就使得跟蹤攻擊者變得困難,並且還避開了基於網路位址的訪問限制。如下圖所示:

![ftp bounce attack][ftp_bounce_attack]

可以看出,實施 ftp 跳轉攻擊的關鍵是利用 ftp 協議中的 port 命令來開啟目標機器上的特點埠來實施攻擊。所以阻止 ftp 跳轉攻擊的策略也基本都是圍繞這一步來進行的。一般 ftp 跳轉攻擊首先都需要上傳乙個攻擊檔案到 ftp 伺服器,然後再傳送到目標機器,所以第乙個方法也是上面提到的,禁止 ftp 伺服器的寫入功能。當然,即使禁止了 ftp 伺服器的寫入功能,攻擊者還是可以通過傳送其它命令的方式進行攻擊,所以這個不能完全杜絕 ftp 跳轉攻擊。另外,ftp 服務的預設埠是20,21,所以避免跳轉攻擊的另外乙個建議就是在伺服器上不要開啟資料鏈接到小於1024的 tcp 埠號。當然最徹底的辦法就是禁用 port 命令,但這會使 ftp 伺服器喪失**的功能。

[參考資料]

本文** oneapm 官方部落格

運維安全系列基礎服務之 FTP 服務(系列一)

做了多年運維工程師,積攢了一些經驗,和大家分享下。個人認為,運維安全話題的系列,主要包括下面四個方面 今天主要講的是基礎服務裡面的ftp服務。檔案傳輸協議 英文 file transfer protocol,縮寫 ftp 是用於在網路上進行檔案傳輸的一套標準協議。它屬於網路傳輸協議的應用層。ftp ...

運維安全系列基礎服務之 FTP 服務(系列一)

做了多年運維工程師,積攢了一些經驗,和大家分享下。個人認為,運維安全話題的系列,主要包括下面四個方面 今天主要講的是基礎服務裡面的ftp服務。檔案傳輸協議 英文 file transfer protocol,縮寫 ftp 是用於在網路上進行檔案傳輸的一套標準協議。它屬於網路傳輸協議的應用層。ftp ...

Android安全系列之資料儲存(一)

預設情況下,儲存到內部儲存的檔案是應用的私有檔案,其他應用 和使用者 不能訪問這些檔案。當使用者解除安裝您的應用時,這些檔案也會被移除。內部儲存,使用者如果不root手機是看不到的內部儲存的。通常使用者看到的都是外部儲存,使用者可以操控的也只是 外部儲存,我們可以通過 程式來訪問內部儲存getfil...