一般的站點都存在安全隱患,WordPress 架構的站點也是如此。我們接觸過幾個被黑的用户的站點,發現他們在本身的安全意思不強導致的,從而被黑客上傳了後門程序。這些後門程序有的非常的隱蔽,不易發現。本文將從我們實際接觸的幾個案例來探討一下如何在被黑的 WordPress 站點中發現後門並修復它。其它程序架構的網站不在此討論中。

一、什麼是後門?

後門是一種為刪除能通過正常的授權並獲得遠程訪問服務器的程序方法。許多聰明的黑客總會上傳後門程序以獲得站點的正常授權。如果你沒有發現並適當的清除它,黑客們會一直已管理員的身份訪問你的站點。這是非常可怕的。

後門程序各種各樣,有一些後門程序僅允許常見隱藏的管理員用户名;然後一些複雜的後面程序能夠允許黑客執行 PHP 代碼;還有一些能夠完全注入 UI,允許他們以服務器名義發送電子郵件執行 SQL 查詢等等任何可以做到的事。

後門

二、後門代碼隱藏在什麼地方?

通過我們實際接觸及國外安全方面的介紹,一般後門代碼隱藏在一下的位置:

  1. 主題 – 為了讓後門代碼更加隱蔽,黑客門不把代碼放在當前主題中,他們可能把代碼放在一些沒有激活的主題中。如果你的 WordPress 站點中存在多個主題,請不未激活的主題刪除。
  2. 插件 – 有三點足以説明插件是黑客們樂於放後門代碼的地方。第一是因為我們不去看其代碼,只管用;第二是因為我們不喜歡更新插件,擔心更新後會失去設置;第三一些插件本身就藏有後面。
  3. Uploads 目錄 – 作為一名 WordPress 使用者,可能不願意去看 uploads 目錄,因為那裏面存在許許多多上傳的文件,有時顯得很亂。然後這正被黑客們利用。由於這個文件夾是可寫的,所以導致一些後面代碼就存在這裏。
  4. wp-config.php – 這個文件也是被黑客們高度注意的一個文件。
  5. Includes 文件夾 – /wp-includes/文件夾也是黑客們喜歡上傳文件的地方,因為這裏面存在大量的 PHP 文件,他們上傳一個 php 文件在這裏很容易混淆視聽,不易被發現。

在這些地方,他們會讓他們的文件看上去像一個 WordPress 文件。

例如: 在一個案例中,這個後門代碼存在 wp-includes 文件夾中,它叫 wp-user.php,這個文件在正常的安裝中沒有的。還有叫 user.php,正常安裝中也沒有。在另一個案例中還有一個叫 hello.php,存在於 uploads 文件夾內,這與 Hello Dolly 插件是不同的。

可能還有使用類似 wp-content.old.tmp, data.php, php5.php 這樣的文件,甚至使用 zip 文件。在大多少案例中,這些文件採用了 base64 代碼加密,讓你看不到內容而不敢刪除。

現在可能然你認為 WordPress 是不安全的而不敢使用,這你就錯了。我一開始就講了,任何程序都存在安全隱患。而 WordPress 在安全方面做的足夠好,而且一旦發現馬上就會有更新,這一點大家不要擔心。之所以出現這些,往往是大家設置不當導致的。

三、如何發現並清除後面?

現在已經知道後門是什麼以及在哪裏,接下來就是去找到它,一旦找到,清除就很簡單,直接刪除即可。難點是如何發現它的位置。不過我們可以藉助插件來做。以下幾個插件可以實現這點:

1 、 Theme Authenticity Checker(免費插件)

2 、 Exploit Scanner(免費插件)

3 、 Sucuri(付費插件)

當然如果你不願意使用插件,也可手動來實現。

搜索 Uploads 目錄

儘管上面的插件可以輕易做到這點,然後如果你屬性 SSH,則需要寫下面的命令即可搜索到:

find uploads -name "*.php" -print

顯然在 uploads 目錄裏如果存在 php 文件,我們應引起高度重視。一般這裏是媒體文件。

刪除未激活的主題

如上所述,這個未激活的主題也是黑客們的目標。最直接的辦法就是刪除它。因為不必要的無需放在那裏,也不必花時間去找。

.htaccess 文件

前段時間,我發現一個用户的網站在這個文件裏出現了重定向的代碼,致使網站不能訪問。所以我們可以直接刪除這個文件,然後到後台設置固定連接保存一下就會重新生成.htaccess 文件。

wp-config.php 文件

一般可以通過比較軟件來比較這個文件與 wp-config-sample.php 的區別,一旦發現就清除。

掃描數據庫

有一些黑客他們會在數據庫裏添加一些執行代碼,讓你不易發現。如 PHP 函數、新管理員帳户、垃圾鏈接等等。這個新管理員帳户在用户列表中不易看到的。如果不熟悉 SQL 或不知從何開始,則需使用 Exploit Scanner 插件或 Sucuri 插件。

再次檢視一下網站

這些後面已經清除了嗎?別急。登入時瀏覽沒發現異常,請登錄再瀏覽。因為有的後門非常的聰明,登入看不到,登出則會發現。

四、如何防範於未然?

顯然,但發現了後門之後,損失已經造成。所以我們平時應該加強安全意識,做到防患於未然。下面一些提示比較重要,有利於加強網站的安全。

  1. 使用強密碼 – 我們不建議使用純數字的密碼,也不建議使用少於 6 位的密碼。建議大於 6 位,多字符混合,大小寫混合。
  2. 2-步授權 –如果密碼被攻破了,則進行第二步驗證,通過手機驗證。現在已經有這方面的插件。
  3. 限制登錄嘗試 – 通過插件來限制用户登錄錯誤密碼的次數。
  4. 關閉主題和插件編輯 – 即使被登錄進去,他們也不能修改你的主題和插件。
  5. 密碼保護 WP-Admin – 你可以設置密碼保護此目錄,限制登錄 IP 。
  6. 關閉 某個目錄下的 PHP 執行權限 –包括上傳目錄和其它選擇的目錄。 T
  7. 保持更新 –使用最新的 WordPress 版本,保持插件更新。
以上 2-6 通過插件來實現。
至此本文完成,希望本文能夠幫助你,令你的站點固若金湯。