服務器端和.htaccess- o O+ `( a" B7 O: J4 g
* [* _/ L# F- P' c* p) i2 h5 Y
保護WordPress網站安全的第一步自然是尋找安全的虛擬主機托管商。 服務器安全是所有安全措施的基礎。% W) G8 Y3 R; u- H) _5 s4 k
& U% Z* a$ E- T4 i/ `鎖定.htaccess
3 o9 x0 N8 I7 j1 W0 V# Z+ q& A7 n
.htaccess文件有很多用途,但它最主要的功能,是防止黑客入侵。你可以在.htaccess文件裡指定一些有權登錄你的WordPress 後台的IP地址。
% U; L( ?1 O/ S+ y5 d+ `& _$ h/ Z' f0 s* B+ p( [! I
在.htaccess文件裡加入下面的代碼可以達到這個效果:5 q. H* ]6 Z$ T; L3 X
% f* H. c6 t- {) i
AuthUserFile /dev/null
9 G8 b# K- \, O4 f& L3 w3 `$ @* T7 Y
AuthGroupFile /dev/null
' y7 t1 Q3 D4 |: |( W
) r) a, o- ~, _& M! G; cAuthName 「Access Control」
! A# J8 X' P+ V- g+ X8 Y1 e6 u; X% ~% m9 U4 }+ a* l( t, Y
AuthType Basic; b. l |* j6 b! a- y6 \) u
4 N+ Y1 a8 b" B$ sorder deny,allow6 m2 t; ^$ A \" `' r! W1 k$ \! J
d, e/ m* v0 S g& gdeny from all+ G# m$ p& n3 E9 r4 a
' I1 n2 c9 h+ C4 G#IP address to Whitelist
: C6 F6 J* l3 `' c- `: `* K
& w7 J$ E5 h, p$ Gallow from 123.456.789.012
3 k' N, x" O5 g7 p5 o7 e$ `4 m" I
用你指定的IP地址代替其中的123.456.789.012。
' g; n* Y! c8 t+ G O3 c, n! a/ q+ u2 [) ]& f6 j9 @
禁用目錄瀏覽7 B3 j$ |! { Q
一些服務器設置允許目錄瀏覽,即你可以通過http://yoursite.com/wp-plugins/這樣的鏈接看到自己的插件內容。 要禁用目錄瀏覽,只需要在.htaccess文件裡加上下面的代碼:: c/ y4 j$ d0 I/ T5 N! C
- s! n. S6 z9 Z' ^2 p! e
Options All -Indexes
* e/ n! O0 M% P9 Q" s. L" w F" `$ d
保護.htaccess. p9 C6 z, [4 N- M
% J1 m8 ?) A+ b7 V+ x* U
.htaccess文件的安全保護不容忽視。 首先你可以將文件的權限改為CHMOD 644。通過FTP登錄進入服務器,然後進入網站根目錄(通常是public_html文件夾,除非你為WordPress另設了一個獨立文件夾)。 找到.htaccess文件後右擊文件,將權限設為644。第二種方法是在.htaccess文件的最下部分加上以下代碼:% Y+ R) \! r7 l4 ]' w: h! ~
; e4 u) N% J6 \- v# u$ h
<Files wp-config.php>1 J- ^7 F5 ~6 [! a7 C
Order Deny,Allow
9 u% }1 N: l( ^5 V4 k wDeny from All
% N h+ F) \/ a! w% c/ ~ o</Files>- y3 z5 X8 J6 g% @9 S
. T7 [* V8 j4 z* G優化wp-config文件
' ]# h- F1 p6 T1 J/ O, k9 m3 t# E( f4 r* d6 O! L& s
.htaccess文件之後接下來是wp-config.php文件。
2 T2 u5 P4 X( s2 p; `
( S. S! T- v3 _- n移動wp-config文件
: p6 \8 O5 i) A" m; I: p; J9 c' h$ q7 |# N9 Q* I* _
從WordPress 2.6開始,WordPress用戶可以將wp-config.php文件移到當前安裝文件的上級文件夾中。 如果在當前WordPress目錄下沒有發現wp-config文件,WordPress會自動檢查wp-config文件是否在其上層目錄中。. I, C# ?, i! V6 R: z3 \, Z2 Z
0 ~& T0 G3 j! d7 [* `更改WordPress表前綴
; n C+ Y: j) G) V1 S0 v6 {5 x5 M) s6 R; n) A" E
安裝時WordPress的默認表前綴是wp_。 剛剛安裝完後要修改WordPress表前綴是件很容易的事,但當你的WordPress網站已經運行了一陣子時,修改表前綴就不是那麼容易的事了。 WP Security Scan插件就是為了解決這個問題而出現的。 你可以用這個插件修改默認的表前綴。 這樣攻擊者在試圖進入你的WordPress文件時就又多了一層障礙。% y& t) }; a8 d9 U; B
: F, a( S: @7 B. \ ^' X& ~
定義安全密鑰
) y4 E: @+ B6 |& q7 p5 d- B0 O# A- B
& ~& y$ Q" Q1 m l- O你可以在wp-config文件中看到下面的內容:; J0 p" |+ z1 O/ B& ] @
& h i; r& U. K* D3 A |/ M/ |
/**#@+7 B. R2 U1 c E. t& o& ?" |' n
*Authentication Unique Keys.5 L0 s; k, c+ @1 `1 h+ [' m
* Change these to different unique phrases!$ f( b5 G% h; y. B( t3 U
* You can generate these using the: k8 _9 C# d* n- V# O
$ T+ p; j. U, \- ?) C
{@link https://api.wordpress.org/secret-key/1.1/ WordPress.org secret-key service}: S1 Y. P0 Q: z
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
9 r G0 T* g% _6 a$ Y2 B8 _9 t% h& F6 x( [ l2 l4 Z& y% Y
* @since 2.6.0
- C |' z* J/ o9 O# S4 p4 ]+ X3 N. W( L" I! M8 d& f# I
*/3 z6 F# M, e7 _9 m) g1 v. ^' C4 q
1 \" R# o" Z: n/ k
define(『AUTH_KEY』, 『put your unique phrase here』);" R; b# h7 r8 p0 M: q* \3 M6 U
4 M G* P& M" @
define(『SECURE_AUTH_KEY』, 『put your unique phrase here』);+ Y3 f' y" k, c# k) z
6 L# E, U C+ {2 M0 r4 U5 Z
define(『LOGGED_IN_KEY』, 『put your unique phrase here』);
* t4 \2 z5 L+ _" B8 b1 n
; ]! x1 I" B* A: k1 }- P9 @- bdefine(『NONCE_KEY』, 『put your unique phrase here』);9 e9 h, u, i: z, a% U, V7 ^
' b' ~9 i% N8 i* J* s( O7 ~/**#@-*/4 u7 w" I5 C3 I9 a6 C& C
4 S* J9 W/ t/ c* r
代碼中的鏈接給出了一套密鑰規則,你可以用所給的規則來代替代碼中的四行define規則。) K+ D$ g; o+ A T6 G" Z
! t! |% |; m3 P0 T) oWordPress安全插件
8 h: I& c, t5 b5 N1 _! r+ R
+ f. ?0 ^- Z6 Q9 J) _8 v# V值得慶幸的是,WordPress擁有為數不少的安全插件。 下面只介紹一些最基礎最重要的安全插件。' n* i" B# v7 ?1 P% \
; I" Y: q" V1 o& v, v
WP Security Scan插件; P b5 }- H: b2 y/ |
& b. M/ p" X- W! M. G! v5 f
WP Security Scan插件會查看你的WordPress安裝文件,看是否有安全漏洞並給出相應的意見。 該插件的查看範圍包括:
J" ^) x* M" ]9 L* ~, J: T# L% O( b
1、密碼
, B/ G0 }+ Q6 _; Y( D3 }- j/ d3 M2、文件權限! E( ?! {. i! L9 |: R6 O. h" M
3、數據庫安全9 N" S$ d) l9 ~* V* t$ A
4、版本號的隱藏
. i, _! @3 _& K. y. i6 u; l5、WordPress後台安全6 j& q' P, N0 E( Y1 c: z* D
6、從核心代碼中移除WP Generator META標籤1 b& f. P" N/ @/ e! T! P8 P h) S
3 d: X/ b8 i6 j" ~- C2 \Login LockDown WordPress Security 安全插件5 i; t! B, h; e- _9 Y. H
* ?6 j; P0 |0 j N7 @* @$ u* p
Login LockDown記錄嘗試登陸WordPress失敗的所有IP地址和時間。 如果插件發現短時間內同一個IP段內多次登錄失敗,插件會對禁止該IP段內所有登錄請求。 Login LockDown有效阻止了暴力破解密碼。# e! W1 U$ z+ m& s8 R) p' [
; a$ U; U8 m X) a
% y' @( H# |: }! M# Z' S
Stealth Login插件
3 V5 c1 K% z# m9 P* \* w( c
( U# c4 |& H8 u8 s9 e+ `用戶可以通過這款插件自定義登錄、登出、註冊所用的URL。
- q& x7 K5 m1 _6 a& H
+ Q$ A! S# J& R Z, [& V* t) }' LAntiVirus for WordPress插件
* M+ s2 {! N2 _* o' T; f6 J3 a
AntiVirus for WordPress是一款保護Blog不被採集和垃圾評論入侵的有效插件。 這款插件的用途包括: 檢測可能存在的平台漏洞、病毒感染、惡意鏈接等。AntiVirus for WordPress還可以給你發送郵件通知和白名單。安全預防措施8 Q) r5 f7 g2 A- t
/ ^) @) \9 T1 z, K- q* Q T
以下是一些簡單的安全預防措施:$ H, s$ b: k' n2 ^
& M6 D# ?/ J1 F6 j) G
1、時將WordPress和插件都更新到最新版本
`1 t5 I3 d0 _# E; h2、除不用的WordPress主題和插件
, f" H( f0 _& |, ~" z2 t3、用安全程度較高的密碼* U- b0 l& u5 t( R$ j* _$ {* \2 K" _
4、使用「admin」為登錄名, i0 a/ l; W5 [# |' f3 \) j$ O" S
5、WordPress文件規定正確的文件許可權限
C; Z7 H; c8 l2 t8 K0 j& g1 x u) v* `6、期備份WordPress數據庫(可利用備份插件) |
|