Cloudflare:什么是 Rate Limiting(速率限制)?

來源: Cloudflare
作者:Cloudflare
時間:2021-03-08
18445
速率限制是用于限制網(wǎng)絡流量的策略。它限制了某人可以在特定時間范圍內重復執(zhí)行某操作的頻率(例如,嘗試登錄一個帳戶)。速率限制可以幫助阻止某些類型的惡意機器人活動 。它還可以減少Web服務器上的壓力。但是,速率限制不是管理機器人活動的完整解決方案。

khara-woods-ZlZZLjuibeQ-unsplash.jpg

什么是速率限制?

速率限制是用于限制網(wǎng)絡流量的策略。它限制了某人可以在特定時間范圍內重復執(zhí)行某操作的頻率(例如,嘗試登錄一個帳戶)。速率限制可以幫助阻止某些類型的惡意機器人活動 。它還可以減少Web服務器上的壓力。但是,速率限制不是管理機器人活動的完整解決方案。

通過速率限制可以阻止哪些類型的漫游器攻擊?

速率限制通常用于防護惡意機器人對網(wǎng)站或應用程序產生負面影響。速率限制可以幫助防止的機器人攻擊包括:

蠻力攻擊

DoS和DDoS攻擊

網(wǎng)頁抓取

速率限制還可以防止API過度使用,雖然它不一定存在惡意或由于機器人活動引起,但是防止API濫用仍然很重要。

限速如何運作?

速率限制在應用程序中運行,而不是在Web服務器本身運行。通常,速率限制追蹤請求的來源IP地址以及每個請求之間經(jīng)過多少時間。IP地址是應用程序識別發(fā)出請求的人員或對象的主要方式。

速率限制解決方案測量每個IP地址發(fā)出的每個請求之間的時間,還會測量指定時間范圍內的請求數(shù)量。如果在給定的時間內來自單個IP的請求太多,則限速解決方案將在一定時間內拒絕滿足IP地址的請求。

本質上,受速率限制的應用程序會向正在快速發(fā)送請求的個別用戶說"嘿,慢一點"。這相當于警察要求超速的駕駛員??柯愤?,或者父母告訴孩子在這么短的時間內不要吃太多糖果。

什么是IP地址?

IP地址是分配給連接到互聯(lián)網(wǎng)任何設備的唯一數(shù)字標識符(或在IPv6中為字母數(shù)字)。只要設備在線,每個設備都會擁有自己的IP地址,就像實際的街道地址或電話號碼一樣,這使設備能夠來回發(fā)送消息。傳統(tǒng)的(IPv4)地址如下所示:198.41.129.1

對于用戶設備,IP地址通常不是永久不變的,因為IPv4中沒有足夠的IP地址。相反,用戶的互聯(lián)網(wǎng)服務提供商(ISP)將在設備連接到互聯(lián)網(wǎng)時動態(tài)分配地址。

速率限制解決方案可以使用IP地址作為確定哪些設備發(fā)出過多請求的基礎,進而會暫時將其阻止。

速率限制如何與用戶登錄一起使用?

如果用戶嘗試在短時間內進行過多次失敗登錄,則可能會發(fā)現(xiàn)自己的賬戶被鎖定。當網(wǎng)站設置了登錄速率限制,就會發(fā)生這種情況。

這種預防措施的存在,不是要為了挫敗忘記密碼的用戶,而是阻止蠻力攻擊,它是指機器人嘗試數(shù)千個不同的密碼,以猜測正確的密碼并侵入帳戶。如果機器人每小時只能進行 3 或 4 次登錄嘗試,則從統(tǒng)計上講,此類攻擊不太可能成功。

登錄頁面上的速率限制可以針對嘗試登錄的用戶的IP地址或其用戶名。理想情況下會采用兩者的結合,因為:

如果僅通過IP地址應用速率限制,則暴力攻擊者可以通過嘗試從多個IP地址登錄(可能使用僵尸網(wǎng)絡 )來繞過此限制。

如果僅應用于用戶名,那么擁有已知用戶名列表的任何攻擊者通過同一個IP地址可以使用這些用戶名嘗試各種常用密碼,并且很可能成功闖入至少幾個帳戶,。

因為速率限制對于防止這些蠻力攻擊是必要的,所以忘記密碼的用戶可能會與惡意機器人一起受到速率限制。用戶可能會看到"太多的登錄嘗試"消息,并提示他們在指定的時間范圍之后再次嘗試,或者被告知他們完全被鎖定在帳戶之外。

速率限制如何用于API?

API或應用程序編程接口是一種從程序請求功能的方法。 API對大多數(shù)用戶是不可見的,但是對于應用程序正常運行而言,它們至關重要。例如,餐館的網(wǎng)站可以依靠預訂服務的API來讓客戶能夠在線進行預訂用餐?;蛘?,電子商務平臺可以整合運輸公司的API,為用戶提供準確的運輸成本。

每次API響應請求時,該API的所有者都必須為計算時間付費:這是表示碼運行并產生對該API請求的響應所需的服務器資源。在上面的示例中,每當餐廳顧客進行預訂時,餐廳的API集成將使表預訂服務為計算時間收費。

因此,任何為開發(fā)人員提供API的應用程序或服務都將限制每個唯一用戶每小時或每天可進行多少次API調用。這樣,第三方開發(fā)人員就不會過度使用API。

速率限制還可以激勵開發(fā)人員為利用API付出更多的費用:通常,他們?yōu)锳PI服務付出的費用越高,能調用的API服務也就越多。

API的速率限制也有助于防御惡意的機器人攻擊。攻擊者可以使用機器人對API進行多次重復調用,從而使該服務無法提供給其他任何人,或者使服務完全崩潰。這是一種DoS或DDoS攻擊。

Twitter和Instagram等社交媒體平臺如何使用速率限制?

社交媒體平臺速率限制基本上只是API速率限制。例如,任何集成Twitter的第三方應用程序每小時有刷新查找新推文或消息的頻率上限。 Instagram對第三方應用程序有類似的限制。這就是為什么用戶偶爾會遇到"超過速率限制"消息的原因。

這些限制通常不適用于直接使用社交媒體平臺的用戶。

機器人管理和速率限制有什么區(qū)別?

速率限制基本上是一個維度:它雖然有用,但只能防止非常特定類型的機器人活動。此外,速率限制不僅適用于機器人,而且通常還用于用量限制。 例如,Cloudflare Rate Limiting 可以抵御DDoS攻擊、API濫用和蠻力攻擊,但不一定能緩解其他形式的惡意機器人活動,也不能區(qū)分好機器人和壞機器人。

相比之下,機器人管理通常可以整體檢測機器人活動。例如, CloudFlare 機器人管理用機器學習來分辯可能的機器人,這使它能夠阻止更廣泛的各種機器人攻擊(像憑證填充、垃圾信息發(fā)布、庫存囤積等)。

立即登錄,閱讀全文
版權說明:
本文內容來自于Cloudflare,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質服務商推薦
更多
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家