本帖最後由 hknovo 於 2013-10-29 13:50 編輯 8 z# v! B' Q7 C& ]) F: ^
% A1 l2 Q6 I. v. h" @
2 \, v% W! r# e* h& R* P; B
用一首詩開始我的博文: & K1 @& \' @1 e( d1 D# @9 Z9 l+ E) M: l
那時我們有夢,關於文學,關於愛情,關於穿越世界的旅行。如今我們深夜飲酒,杯子碰到一起,都是夢破碎的聲音。
3 H* _. s: B6 @( R1 J0 H——北島 6 W; V6 J& n5 | p
也許我們無法明白「活著」的意義,但是我們已經為「活著」付出了太多代價;也許我們無法實現自己的夢想,但是我們已經為夢想流下了太多淚水。我們能做的,僅僅是在這條路上走得更遠,絕不能回頭。天堂未必在前方,但地獄一定在身後。
! n* H7 F) i1 s9 m* | —— 程浩 各位辛辛苦苦搭建的WP 有被黑闊光臨過嗎?如果有的童鞋,請認真閱讀哦!3 B: U; ^; p7 N4 K5 ~
WordPress簡介. D/ H1 v1 O# Q9 h
WordPress起初是一款個人博客系統,並逐步演化成一款內容管理系統軟件,它是使用PHP語言和MySQL數據庫開發的,用戶可以在支持 PHP 和 MySQL數據庫的服務器上使用自己的 Blog ——來自百度百科
本博客就是用wordpress搭建的,搭建好以後做了一些防護工作,所以把這點經驗分享給大家 1.選擇安全可靠的主機
" m* f+ A, A/ B/ [. s( S3 T( b
謹慎選擇一款安全可靠的主機,不要使用免費主機和劣質主機。免費主機只適合用來學習程序和建站方法,但是倡萌一直不建議使用免費主機來托管正式上線的網站。當然了,最好也不要使用那些特別廉價,管理經驗不足的主機商的服務。 2.升級到WordPress最新版
{# C+ q( l) J6 P, }% n: i5 t 只從WordPress官方下載源碼,不要到第三方網站下載。盡可能升級到WordPress最新版,及時修補程序漏洞,包括WordPress核心源碼、WordPress主題以及WordPress插件。
* G. G) A$ y) {- d9 E4 N% i7 a, R! ?/ x- C: t' R# l, S- C3 C' P
+ h; s$ ^- H9 W: ?! X
3.使用官方WordPress主題和插件
4 e: ?2 C+ a9 C. D M 這裡所說的官方,一是WordPress官方,二是主題或插件開發者的官方,盡量避免使用「破解」版主題、插件,慎用網上傳播的原本是收費,但是被人惡意提供免費下載的主題、插件。' @! T" r1 S( K7 _: {0 w, p) u
5 x4 M' x8 w- m2 F2 a1 K& @
# M6 J2 E' m6 ]8 m4.修改數據庫默認前綴 wp_
" o0 V/ H7 d7 r7 K 很多朋友安裝WordPress都沒有修改數據庫前綴,如果你打算修改默認的前綴 wp_ ,請根據 如何修改 WordPress 數據庫前綴 來修改。
0 H: o( [' G# Y: ?$ x
$ q, I7 |, F; c# w+ Z
( u& E5 c" K$ X! {/ V, h5.修改默認的用戶名 admin- o- p/ J3 u8 R1 o. \* r
WordPress 3.* 以上已經支持安裝時自定義登錄用戶名,如果你使用默認的admin,建議你根據下面的方法進行修改: # o) ~& x# q' Y6 l T
方法一:後台新建一個用戶,角色為管理員,然後使用新用戶登錄,刪除默認的 admin 用戶。方法二:登錄phpmyAdmin,瀏覽當前數據庫的 wp_users 數據表,將 user_login 和 user_nicename 修改為新用戶名。
. a, g* H/ i' Y7 E" x( s5 k3 v同時建議修改 「我的個人資料」中的的暱稱,然後設置「公開顯示為」非用戶名的其他方式: 6.使用高級密碼,經常更換密碼
! _( {: W7 F _: w* A) l6 s 建議使用含 大寫字母、小寫字母、數字和其他符號 的複雜密碼,比如 nuH4j&*aHG%dMz ,避免使用生日、手機號、QQ號等。
4 @) V P* Q" X* W( p3 D( z/ H4 X; f. m9 `
; I p& F% N' V& z q9 w
7.隱藏WordPress版本信息1 p0 o# V# i/ t4 V$ Q7 e
默認情況下會在頭部輸出WordPress版本信息,你可以在主題的 functions.php 最後一個 ?> 前面添加:
! q6 U$ g- ?9 ~9 \/ z" y//隱藏版本號function wpbeginner_remove_version() {return '';}add_filter('the_generator','wpbeginner_remove_version');$ J1 F8 J5 v' `
8.修改wp-admin目錄的訪問權限
" G: H6 E0 j+ w% w7 f+ h 你可以通過限定IP地址訪問WordPress管理員文件夾來進行保護,所有其他IP地址訪問都返回禁止訪問的信息。另外,你需要放一個新的.htaccess文件到wp-admin目錄下,防止根目錄下的.htaccess文件被替換。
" b5 m! s6 `) Z+ |' b
% u3 Q+ e. y0 R0 j8 n0 i! f4 K. P% E0 S/ l0 r5 i1 o# o0 I+ Z+ L: K) p5 n
9.定期備份網站數據, S8 s7 L8 \4 H) e& t
可以借助WordPress備份插件進行自動備份或手動備份: WordPress數據庫定時備份插件:WordPress Database Backup
4 r# w' K; d- z0 e+ @使用WordPress自帶導出導入功能備份和恢復網站1 Q$ z$ y# P2 T& f" y# U0 E
WordPress克隆/備份/搬家插件:WP Clone
/ M$ r- T P# |: Z4 h' LWordPress超強備份插件:BackWPup(支持FTP/Email/本地/網盤) 10.安裝安全插件9 s8 f3 b) e' O: l
WordPress Firewall 2
: l& v& m, n6 J) @: d$ f1 u! J
- h; n! j- H# ?) y( s8 t& t: U' p2 |: T& J
該插件可以幫助你識別/阻止一些有效的攻擊,例如 目錄掃瞄、SQL注入、WP文件掃瞄、PHP EXE掃瞄 等,並可將其定向到404或者首頁。如果有問題還可以通過電子郵件通知你處理,還可以阻止一些IP的訪問。 Better WP Security 由於大多數的WP網站存在插件漏洞、弱口令、過時的插件/程序,隱藏這些漏洞可以更好的保護網站,例如保護登錄和管理區(控制面板?儀表盤?)。 Login Lockdown 這個插件可以記錄失敗的登錄嘗試的IP地址和時間,若是來自某一個IP地址的這種失敗登錄超過一定條件,那麼系統將禁止這一IP地址繼續嘗試登錄。 Limit Login Attempts Limit Login Attempts 限制登錄嘗試的次數來防止暴力破解,增強 WordPress 的安全係數。 WP Security Scan 該插件會自動按照以上的安全建議對WordPress進行安全掃瞄,查找存在的問題。 11.修改WordPress後台登錄地址,提高安全性
0 t5 S$ T2 i& e! x; B, X4 D
將下面的代碼添加到當前主題的 functions.php 文件:
( N, p+ ?0 ~/ P' ^$ m7 A//保護後台登錄add_action('login_enqueue_scripts','login_protection');function login_protection(){ if($_GET['word'] !='press')header('Location: http://www.malayke.org/');}% J6 s% K- W9 ^. k: b5 ^ q
這樣一來,後台登錄的唯一地址就是 http://yoursite/wp-login.php?word=press,如果不是這個地址,就會自動跳轉到 http://www.malayke.org/ ,不信你試試! 你可以修改第 4 行的 Word、press 和 http://www.malayke.org/ 這三個參數。 12.避免WordPress洩露你的用戶名+ R8 O# U: S; X8 h8 l
你有沒有想過,如果你的網站的登陸名被別人知道了,偏偏他是一個比較精通 WordPress 的人,而且會寫腳本暴力破解,那麼後果就不堪設想。; C! _2 q9 m8 @' w o5 ~( m
/ C E7 o* k- t# H* P
$ `6 R+ n: y' Q0 z6 i實際上,Wordpress 這麼一個漏洞,至今依然存在,並且常常會被HK利用! d8 l1 E/ p7 T- K
想要知道 WordPress 的管理員用戶名?很簡單,只要在網站的域名後面加 /?author=1 就行了。
% n5 N, V; K! }1 ? Y' l/ f' J如果 /?author=1 顯示404界面,那很可能是以前有過 admin 用戶,後來站長發現用默認帳戶 admin 太不安全了,就新建了一個管理員帳戶,並刪除了 admin 帳戶。這種情況下,用 /?author=2 就能顯示出用戶名了。 如果使用 admin 帳戶,確實不安全,但是如果你的博客使用一個複雜的用戶名,卻經不起這麼簡單的一個 URL 的考驗,這和使用 admin 帳戶沒有根本上的區別。 既然存在漏洞,那麼就要去填補它。要填補這個漏洞,倒還真的不是什麼難事。 我的思路就是,只要訪問主頁url後頭有author參數就讓他跳到主頁
) O! G5 ^ G6 G! A, K( p將下面的代碼添加到當前主題的 functions.php 文件:
" `) N" ]7 ^) w% }& [, badd_filter('author_link','my_author_link' );function my_author_link() {return home_url('/' );}
# x1 N6 ]1 M; v' v/ D" i呵呵,大家有沒有發現這個思路上面修改WordPress後台登錄地址是一樣的原理$ F6 B9 D( p/ R* z( `8 F, d
至此,有了以上的防護工作,你辛辛苦苦搭建的wp博客就不會沒那麼容易的被黑闊光顧 v3 q3 \3 V6 ]/ ~
搬此:FreebuF.COM
; w6 @6 `$ m5 u
- D5 W: k/ x8 o7 }. E |