引用 : 強化 WordPress,怎麼安全的管理網站 (下集)

WordPress 有那些管理、安全概念要知道的:

  1. 不要秀出 WordPress 是什麼版本:
    從檢視網頁原始碼可看到 (meta name=”generator” content=”WordPress 3.5″),因為有心人士會針對此版本的弱點進行已知攻擊,隱藏了最起麻降低被攻破的機會、拉長被攻破的時間。
  2. WordPress 要保持最新:
    會有新版本就是有東西被修正了 (漏洞等等),不過要注意新版本可能暫時會讓現在的外掛無法使用,或其它問題等,所以要升級前建議先建立一個測試環境 (同資料內容、同 WordPress 版本、同 OS、同 PHP、同 MySQL 等等)。正式升級前最好有作備份 (WordPress及資料庫),以預防有問題時還可以還原到最新原始的狀態。
  3. 使用 .htaccess 阻擋常見的攻擊,上網找一下都應該可以搜尋的到。
  4. 關閉可以從 WordPress 後台上編輯 PHP 等檔案:
    通常是外掛或佈景主題,因為可能會被值入惡意程式,但前提是攻擊者能成功登入後台,我想是在多人編輯文章時,某人的帳密被猜到了吧,所以編輯權限也是要很小心控管。
  5. 限制 wp-config.php 檔權限:
    它是 WordPress 很重要的檔案,內容包含資料庫帳號、密碼等等,所以會把它的權限讓 apache user (web user) 無法存取 (chmod 644、chown root.root 或在 .htaccess 加上 deny),還有 .htaccess 這個檔也是需要限制的。
  6. WordPress 有個 Authentication Unique Keys 功能:
    它可以增加被截取到帳號資訊的困難度,及防字典、暴力破解攻擊。
  7. 換個管理者帳號:
    你應該是用 admin 登入後台吧,它是預設的最高管理者,建議換個名字,管理用一組,PO 文章用另一組(權限低一點),及隨時改密碼 (英文+數字+特殊符號+長度大於14等等),如果用了太複雜的密碼,且記不得了,可以用 KeePass 這類的輔助工具。
  8. 資料庫的 Table 名稱的前置字元:
    一般是 wp_,我們可以改變它,讓被攻擊時暫時猜不到。
  9. 安全掃描 :
    如果擔心網站是否有問題,Sucuri SiteCheck 有一免費的,提供基本的掃描資訊 (有沒有被列入黑名單、惡意程式、掛馬等等)。

除了以上,我們也可以用 WordPress 的外掛,就比較簡單處理了,都有人寫好了怎麼可以不用一下呢:

  • Limit Login Attempts
  1. 4 次以上嘗試失敗就鎖20分鐘,會在登入頁面顯示 “嘗試次數剩1次. “、 “嘗試過多次失敗登入 請在20分鐘後再重試。” 的訊息
  2. 它是鎖 ip,所以連正確的帳號密碼也不能成功登入,只能等限制時間過後才能再試著登入。
  3. 還可定義當被鎖 4 次以上時,會把封鎖的時間拉長到24小時(可自定)
  4. 會記錄 IP、登入名、被鎖幾次
  5. 可 Email 給管理者
  • Login Security Solution
  1. 類似 Limit Login Attempts
  2. 120分鐘內會根據來源 IP、帳號、密碼作限制。
  3. 它每次失敗後,下一次再嘗試登入,會比上次較慢回應你是不是正確的,來讓攻擊者誤以為失敗了。
  4. 密碼強弱限制,會要求密碼一定要 10 個字元等等。
  5. 登入後限制 timeout 時間。
  • Hide Login
  1. 假如今天帳號密碼被知道了,我們可以用另一方式防止,就是把後台的登入連結改變
  2. Hide Login 會幫我們產生自已自訂的連結 ( 產出 rewrite 設定寫入 .htaccess),讓人暫時猜不到正確連結。
  3. 但要小心使用,因為設定錯誤或不熟的時後,就可能連自已都被擋了。
  • Better WP Security
  1. 它會給一些安全建議 (密碼太簡單、你的 WordPress 秀出版本了等等),可以照著它的說明修正。
  2. 啟用它後,會有一些指示要你作,它建議先備份,我會跳過它,因為我早會在這之前就已備份了。
  3. 也會要求可不可以讓它可以寫入 wp-config.php 或 .htaccess 設定,我是否決的,等熟悉它後再作修改即可。
  4. 也會問你要不要直接有一些基本的防護,我也是 no,還是等熟悉了再作修改。
  • TAC (Theme Authenticity Checker)
  1. 我們可以用它來掃描佈景主題有沒有問題。
  2. 可疑的程式碼、經編譯過 (人看不懂的) 的程式碼等等。
  • Sucuri Security
  1. 跟前面提到 Sucuri SiteCheck 同一家,它也有出 WordPress 的外掛。
  • Wordfence Security
  1. 可以隱藏 WordPress 的版本、admin 登入錯誤訊息。
  2. 掃描留言有沒有惡意、釣魚連結。
  3. 檢查密碼強弱。
  4. 也有類似 Limit Login Attempts 與 Login Security Solution 嘗試登入並失敗的功能。
  5. 也有針對頁面可以被瀏覽幾次、被要求幾次、重複瀏覽沒有這頁面的幾次來作阻擋。
  • WP-DBManager
  1. 除了常用的 phpMyAdmin,用這個也可以管理資料庫。
  2. 查看 MySQL 版本、Table 資料用量
  3. 備份資料庫。
  4. 最佳化資料庫。
  5. 修復資料庫。
  6. 查詢 SQL。
  • WordPress Firewall
  1. 阻擋常見的攻擊 (directory traversals 等等)
  2. 如果誤擋,可以設白名單。

最後
說了那麼多,其實還是有很多安全性作法,這裡只能說到皮毛了,有興趣者可以自行發掘會比較有收獲。
但你千萬別有個想法,就是有沒有更簡單的方式啊,我只能說沒有 100 % 的、且一勞永逸的安全作法,只能盡力減少、降低風險,
或許只有把網路線拔掉就不受網路的迫害了 :)
這就是網路世界有趣的地方啊,你說是吧 !

參考來源 :
http://www.wordpressthemeshock.com/wordpress-security
http://codex.wordpress.org/Hardening_WordPress

 

最後修改日期: 2013 年 07 月 24 日

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。