WordPress搜尋攻擊CC攻擊防禦Nginx防刷搜索

WordPress防刷新,WP安全是第一位。很多做網站的朋友,最苦惱的一件事是,網站沒有流量時,絞盡腦汁做引流,做宣傳。網站有了流量後,好事壞事就一起來了,網站莫名其妙的被攻擊了,現在很多網站都是使用wordpress搭建的小博客,平時也就那麼十幾人同時在線,服務器CPU為什麼會跑滿100%,內存也是瞬間飆升到頂。

WordPress防刷新,小網站莫名其妙的CPU跑滿,網站報錯502,到底是怎麼了?

防刷新,WP安全是第一位。很多做網站的朋友,最苦惱的一件事是,網站沒有流量時,絞盡腦汁做引流,做宣傳。網站有了流量後,好事壞事就一起來了,網站莫名其妙的被攻擊了,現在很多網站都是使用wordpress搭建的小博客,平時也就那麼十幾人同時在線,服務器CPU為什麼會跑滿100%,內存也是瞬間飆升到頂。很多網站用的都是按流量計費模式的國外主機,沒幾天流量跑光了,網站也就打不開了。

你很有可能是遭遇了

什麼是惡意搜尋攻擊?

這種攻擊,其實非常簡單,就是透過既定的網址結構不斷對網站發起不良關鍵字搜尋訪問,例如WordPress 的搜尋網址結構為 網域/?s=搜尋詞,而且可能還會順便將造訪的位址推送到各大搜尋引擎,加快這些惡意網址的收錄。這樣,你的網站就會淪為這些不法之徒傳播不良訊息的管道,這對網站排名是非常不利的,甚至可能會直接被搜尋引擎K 站。

最近很多wordpress網站都遇到類似的問題。對於網站被攻擊的原因,經過探索發現,下列幾個原因。

  • 因為利益發動的攻擊:你的優化比較好,排在了某些網站的前面,把你關鍵字打掉,沒了引擎排名,自然就沒人攻擊你了。一般常用於DDOS攻擊,目前網路上DDOS攻擊價格比較昂貴,切搜尋引擎上的流量已經微乎其微了,大部分的網路上的流量都在行動端,所以這幾年很少在PC端網站遇到這類攻擊了。
  • 網站引流發動的攻擊:這類攻擊目前經常在使用WordPress搭建的網站上遇到,惡意刷關鍵字搜尋量,因為你的搜尋排名比較靠前,自然網站的新鏈接,搜尋引擎會秒收錄。 WordPress的搜尋可以在url中任意提交內容,之後搜尋引擎會快速抓取提交的每個鏈接,造成伺服器CPU的巨大壓力。
  • 惡意搜尋攻擊:這種惡意搜尋攻擊,其實非常簡單,就是透過既定的網址結構不斷對網站發動不良關鍵字搜尋訪問,例如WordPress的搜尋網址結構為網域名稱/?s=搜尋字詞,而且可能還會順便將造訪的位址推送到各大搜尋引擎,加快這些惡意網址的收錄。這樣,你的網站就會淪為這些不法之徒傳播不良訊息的管道,這對網站排名是非常不利的,甚至可能會直接被搜尋引擎K站。
  • 攻擊:這類攻擊與惡意搜尋攻擊類似,不停的在搜尋中提交各種偵測sql註冊的漏洞程式碼,這種攻擊在wordpress中很常見,也有很多網站中招,現在的wordpress相對安全,目前新版本不存在sql注入的漏洞,這類攻擊不停的提交程式碼,在程式碼提交後的頁面,會被搜尋引擎抓到,搜尋比較智能會過濾掉這類頁面,bing則會認為存在惡意刷新網站的嫌疑,會導致短時間內網站新內容的索引異常,這個問題可以直接給bing管理員發送郵件解決。

如果網站管理員沒有定期檢查網站的狀況,很可能就會遭殃。如果網站被搜尋引擎封鎖了,可以寫信給搜尋引擎的管理員。

WordPress防刷新CC攻擊防禦,搜尋防刷,只要簡單設定Nginx就行了-1

wordpress刷搜索,惡意搜索攻擊,主要原因是為了推廣一些見上不得檯面的網站,這種網站為了推廣,不擇手段。

WordPress防刷新CC攻擊防禦,搜尋防刷,只要簡單設定Nginx就行了-1

下面說一下wordpress在遇到的時候的解決方法,同時分析了解wp刷搜尋的原理。

wordpress的搜尋功能很簡單,在網域的後面加上"?s=",=號碼後面,填寫需要搜尋的關鍵字,就可以完成搜索,例如:

https://uzbox.com/?s=office

將網址複製到瀏覽器的網址列中,就可以查詢到網站中關於相關的內容。在網站中正常的搜索,是在搜尋框內輸入關鍵字,然後透過表單提交的方式進行搜尋。

既然wordpress可以透過網址列輸入URL進行搜索,那麼攻擊者可以編寫一個簡單的腳本,不停的刷新搜索,由於搜索會從資料庫中索引信息,所以最後伺服器上的資料庫會跑滿CPU

WordPress防刷新CC攻擊防禦,搜尋防刷,只要簡單設定Nginx就行了-1這類搜尋攻擊大多都是為了刷搜尋的關鍵字排名,為了給黑灰產網站引流才這樣做的,很多時候把伺服器刷死機了,也是攻擊者不想看到的,攻擊者也沒想到有些伺服器是那麼不堪一刷,刷新的頻率高了,伺服器就掛了!

所謂的「惡意搜尋攻擊」就是藉助WordPress 站內搜尋來優化某些長尾關鍵字的外鏈數量以達到提升搜尋權重的一種黑帽SEO 手段而已(如上圖所示),如果網站管理員沒有定期檢查網站的情況,很可能就會遭殃。

知道了攻擊者的攻擊方式,和刷搜尋的思路,下面我們解決掉這個問題。

搜尋留痕的一種黑帽SEO手段,它利用WordPress 站內自帶的搜尋可以來優化某些長尾關鍵字以達到推廣的目的

封鎖惡意搜尋

要封鎖惡意搜索,首先我們需要監控對方使用什麼惡意搜尋字詞,所以我們先在後台安裝 WP Search Analytics 插件,在儀表板下面的搜尋分析頁面,我們就可以看到搜尋字詞。

添加如下代碼到.php檔案中,建議使用外掛程式添加!

add_action('admin_init', 'search_ban_key'); function search_ban_key() { add_settings_field('search_key', '搜尋關鍵字屏蔽', 'search_key_callback_function', 'reading'); register_setting('search),'t._function', 'reading'); register_setting(')_cage_>'._com'; } add_action('template_redirect', 'search_ban'); function search_ban(){ if (is_search()) { global $wp_query; $search_key = get_option('search_key'); if($search_pkey) $search_key); $BanKey = explode('|', $search_key); $S_Key = $wp_query->query_vars; foreach($BanKey as $){ if( stri)( wp_die('輸入的關鍵字已經被封鎖!請不要再進行搜尋攻擊了!謝謝!'); } } } } } }

然後在後台的設定選單的閱讀頁面中加入你要封鎖的關鍵字。

常用屏蔽的關鍵字,可以參考:https://github.com/jkiss/sensitive-words

修改 .txt 規則,加入禁止引擎索引網站搜尋連結。

Disallow: /?s=* Disallow: /*/?s=*\ Disallow: /search/

限制搜尋頻率可以在防火牆中設置,每秒頁面的造訪次數。

wordpress防刷新的解決方法

這類刷新web網站類的攻擊,大多屬於。與DDOS攻擊不同,DDOS攻擊透過大量的肉雞IP,集中對一個網站進行謝絕服務式訪問,最後巨大的訪問流量造成伺服器網路堵塞癱瘓。如果遇到DDOS攻擊,需要使用CDN分散式節點的方式來解決,當然價格也是很昂貴的。

CC攻擊一般都很好解決,找到攻擊方的攻擊方式,然後進行圍堵就可以了。

我們已經知道了是透過搜尋進行的刷新訪問,那麼下面說一說如何解決。

限制同一IP位址造訪網站的次數

需要在中進行配置HttpLimit模組,HttpLimit以針對條件,進行會話的並發連接數控制。 (例如:限制每個IP的並發連線數。)

http{ #limit_zone one $binary_remote_addr 10m; limit_req_zone $binary_remote_addr zone=req_one:10m rate=10r/s; server{ #limit_conn oneq.

上面有兩種模組配置的使用方法,可依不同情況設定。

方法1:

limit_zone one $binary_remote_addr 10m;
這裡的one 是宣告一個limit_zone 的名字,$binary_remote_addr是替代$remore_addr 的變量,10m 是會話狀態儲存的空間
limit_conn one 1 ,限制客戶端並發連線數量為1

方法2:

limit_req_zone $binary_remote_addr zone=req_one:10m rate=10r/s;

rate=10r/m 的意思是每個地址每分鐘只能請求10次,也就是說根據令牌桶原理burst=1 一共有1塊令牌,並且每分鐘只新增10塊令牌,
1塊令牌發完後多出來的那些請求就會回傳503

加上nodelay 之後超過burst大小的請求就會直接回傳503

如果沒有這個欄位會造成大量的tcp連線請求等待。

limit_zone兩種工作狀況

limit_req zone=one burst=10 ;

預設是這樣配置的,這樣每個請求就會有一個delay時間0

limit_req_zone $binary_remote_addr zone=one:100m rate=10r/m;

就是每分鐘有10個令牌供使用者使用,每個請求時間就是60/10,那每個請求時間就是6s。

limit_req zone=one burst=10 nodelay;

加上nodelay 配置,這樣就是根據你的網路狀況訪問,一分鐘訪問夠10次後,伺服器直接返回503。

imit_req_zone $binary_remote_addr zone=one:100m rate=10r/m;

就是每分鐘有10個令牌供使用者使用,會根據網路情況存取url,如果一分鐘超過10個令牌,伺服器返回503,等待下一個一分鐘領取存取令牌。

配置完HttpLimit模組後,重新啟動nginx。

安裝wordpress安全性插件

在wordpress中,安全外掛是不可或缺的,沒有安全外掛等於在網路上裸奔。推薦安裝 安全插件,可以即時查看網站上登陸的IP,包括一個端點防火牆和惡意軟體掃描程序,它們是為保護WordPress 從頭開始構建的。最受歡迎的wordpress 防火牆和安全掃描器

WordPress防刷新CC攻擊防禦,Nginx防刷搜索,只需簡單設定Nginx就行了-1

強烈推薦wordpress用戶安裝這款Wordfence防火牆。

高級版的功能已經可以滿足一個普通網站的正常需求。

WordPress防刷新CC攻擊防禦,Nginx防刷搜索,只需簡單設定Nginx就行了-1

網站遇到了SQL搜尋注入的攻擊,攻擊者不停的利用遠端伺服器對網站發起注入程式碼測試,不停的在搜尋中輸入註入程式碼,如果沒有Wordfence防火牆的話,會大大的增加伺服器CPU的負荷,安裝Wordfence防火牆後,可以隨時偵測檢視問題IP,防火牆也可以智慧屏蔽惡意IP位址。即便是成千上萬次的程式碼注入掃描,都會被防火牆攔截。不會對CPU造成影響,也不會增加伺服器的運算費用。

我們一直認為很安全的互聯網,每日都會有成千上萬起的惡意攻擊,即便是有些駭客攻擊我們認為是沒有意義的,但是這種攻擊確實存在,安裝一個web防火牆是勢在必行的。推薦安裝:

WordFence Premium 7.8.2 已啟用中文版,免費下載???? WordPress防火牆☢️防毒和惡意軟體掃描

Wordfence 安全性– 防火牆、惡意軟體掃描與登入安全

WordPress 安全性需要專門的分析師團隊研究最新的惡意軟體變體和WordPress 漏洞,將它們轉化為防火牆規則和惡意軟體簽名,並將它們即時發佈給客戶。 Wordfence 被廣泛認為是世界上排名第一的WordPress 安全研究團隊。我們的插件提供了一套全面的安全功能,我們團隊的研究為我們的插件提供了強大的動力,並提供了我們眾所周知的安全等級。

在Wordfence,WordPress 安全不是我們業務的一個部門-WordPress 安全就是我們所做的一切。我們聘請了全球24 小時專門事件回應團隊,為我們的優先客戶提供1 小時的任何安全事件回應時間。我們的全球安全團隊永不落山,我們運行一個複雜的威脅情報平台來匯總、分析最新的安全威脅並進行突破性的安全研究。

包括端點防火牆、惡意軟體掃描程式、強大的登入安全功能、即時流量視圖等。我們的威脅防禦來源為Wordfence 提供最新的防火牆規則、惡意軟體簽章和惡意IP 位址,以確保您的網站安全。 Wordfence 由2FA 和一套附加功能完善,是可用的最全面的WordPress 安全解決方案。

WORDPRESS 防火牆
Web 應用程式防火牆可辨識並封鎖惡意流量。由一個100% 專注於WordPress 安全性的大型團隊建構和維護。
[進階版] 透過威脅防禦源即時更新防火牆規則和惡意軟體簽章(免費版延遲30 天)。
[進階] 即時IP 阻止清單阻止來自最惡意IP 的所有請求,在減少負載的同時保護您的網站。
在端點保護您的網站,實現與WordPress 的深度整合。與雲端替代方案不同,它不會破壞加密,無法繞過也不會洩漏資料。
整合的惡意軟體掃描程式可封鎖包含惡意程式碼或內容的請求。
透過限制登入嘗試來防止暴力攻擊。
WORDPRESS 安全掃描儀
惡意軟體掃描程式檢查核心檔案、主題和外掛程式是否有惡意軟體、錯誤URL、後門、SEO 垃圾郵件、惡意重定向和程式碼注入。
[進階版] 透過威脅防禦源即時更新惡意軟體簽章(免費版延遲30 天)。
將您的核心文件、主題和外掛程式與WordPress.org 儲存庫中的內容進行比較,檢查它們的完整性並向您報告任何變更。
透過用原始的原始版本覆蓋它們來修復已更改的檔案。刪除任何不屬於Wordfence 介面的檔案。
檢查您的網站是否有已知的安全漏洞,並在出現任何問題時提醒您。當外掛程式被關閉或放棄時,也會提醒您潛在的安全問題。
透過掃描文件內容、貼文和評論中的危險URL 和可疑內容來檢查您的內容安全。
[進階] 檢查您的網站或IP 是否因惡意活動、產生垃圾郵件或其他安全問題而被列入黑名單。
登入安全
雙重認證(2FA),一種最安全的遠端系統驗證形式,可透過任何基於TOTP 的身份驗證器應用程式或服務取得。
登入頁面CAPTCHA 阻止機器人登入。
禁用2FA 或將2FA 新增到XML-
使用已知的洩漏密碼阻止管理員登入。
WORDFENCE 中心
Wordfence Central 是一種強大且有效的方式,可在一個地方管理多個網站的安全性。
在一個視圖中有效評估所有網站的安全狀態。無需離開Wordfence Central 即可查看詳細的安全發現。
強大的範本讓配置Wordfence 變得輕而易舉。
高度可配置的警報可以透過電子郵件、簡訊或 發送。透過利用嚴重等級選項和每日摘要選項來提高訊號雜訊比。
追蹤重要安全事件並發出警報,包括管理員登入、密碼使用外洩和攻擊活動激增。
免費用於無限站點。
安全工具
使用Live Traffic,即時監控其他分析套件中未顯示的存取和駭客嘗試;包括來源、他們的IP 位址、一天中的時間和在您網站上花費的時間。
透過IP 封鎖攻擊者或基於IP 範圍、主機名稱、使用者代理程式和引薦來源網址建置進階規則。
提供國家/地區屏蔽功能。

免費下載WordFence Premium 7.8.2 已啟用中文版

修改WordPress 中預設搜尋的URL

修改預設的搜尋鏈接,wordpress的預設搜尋是"?s=",預設連結很容易被掃到,可以將搜尋連結改名,雖然在安全方面意義不大,可能會增加搜尋引擎的收錄。

具體修改方法請參考:修改WordPress 中預設搜尋的URL ,增加SEO 收錄數量!

nginx安裝HttpGuard防止CC攻擊

HttpGuard一款以nignx lua為基礎的工具。它的功能比較單一,但非常強大有效,主要功能依然是抵禦CC攻擊。主要透過技術手段偵測訪客是否為有效的瀏覽器以及是否支援跳轉來判斷是否需要攔截。但HttpGuard還有另一樣特別本領,就是可以監測即時的連線數來判斷是否需要開啟防攻擊模組。

在安裝HttpGuard之前,需要安裝OpenResty。

系統中加入openresty 倉庫,這樣就可以方便未來安裝或更新我們的軟體包。查看更多系統的安裝方法

wget https://openresty.org/package/centos/openresty.repo sudo mv openresty.repo /etc/yum.repos.d/ sudo dnf check-update

然後就可以像下面這樣安裝軟體包,例如openresty:

sudo dnf install -y openresty

如果你想安裝命令列工具resty,那麼你可以像下面這樣安裝openresty-resty 套件:

sudo dnf install -y openresty-resty

安裝編譯工具和相關依賴。

dnf install pcre-devel openssl-devel gcc curl

OpenResty安裝成功,你已經將OpenResty安裝到/usr/local/openresty 目錄中(這是預設)

點擊下載HttpGuard

下載後將檔案解壓縮後上傳到伺服器根目錄。

cp -r HttpGuard/ /etc/nginx

將資料夾,拷貝到Nginx的安裝目錄,透過dnf安裝的nginx目錄在/etc/nginx,編譯安裝的nginx目錄一般在/usr/local/nginx。複製前確定nginx的安裝目錄。

拷貝完畢之後,編輯nginx的設定檔

#在http區塊中加入以下內容lua_package_path "/etc/nginx/HttpGuard/?.lua"; lua_shared_dict guard_dict 100m; lua_shared_dict dict_captcha 70m; init_by_lua_shared_dict access_by_lua_file '/etc/nginx/HttpGuard/runtime.lua'; lua_max_running_timers 1;

以上就是針對WordPress 網站被利用自帶搜尋惡意攻擊提供的一些解決方法了。搜尋被惡意攻擊應該是大多數WordPress 站長都會遇到的問題,畢竟惡意的搜尋攻擊會增大我們的伺服器壓力,甚至是影響網站在搜尋引擎的權重,還是需要注意一下。

評分

1 留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *