大约一个月前,这个部落格被黑客入侵(编按:Amit Agarwal 的网站)。而其他托管于相同主机商的网站像是 ctrlq.org 和2hundredzeros.com 也深受其害,黑客成功从网路上拿下了这些网站。 托管网站的主机商表示这可能发生于某些使用旧版的 WordPress 网站,导致密码不幸洩漏,这段时间虽然歷经一些艰难,但幸运的是被删除的网站已经回復,且流量也回到正常。 以下是我所做的变更,用来提高我的 WordPress 网站安全性,纵使这样的意外可能再次发生。 #1 使用你的 Email 作为登入帐号 当你安装完一个 WordPress 网站时,预设的第一位用户为 “admin”。你应该建立不同的使用者名称来管理你的 WordPress 网站,并将预设使用者 “admin” 删除,或是将它的权限从「系统管理员」降级为「读者」。 你也可以建立一个完全乱数(难以被猜中)的使用者名称,然后使用你的 Email 来登入 WordPress。外挂 WP-Email Login 可以加入此支援,使用你的 Email 取代帐号登入。 #2 不要向全世界展示你的 WordPress 版本 WordPress 网站会在原始码显示版本号,让其他人能够知道你正在执行旧的 WordPress。 要从网页里移除 WordPress 版本是狠简单的一件事,但你需要做一些额外的补强,从你的 WordPress 目录将 readme.html 档案删除,因为它也会把你所使用的 WordPress 版本展示给全世界。 #3 别让其他人拥有”写入”你 WordPress 目录的权限 登入你的 WordPress 网站 Linux 系统列,执行以下指令来取得所有「公开」、其他用户皆能写入的目录清单。
你也许可以执行以下两行指令,来将你 WordPress 内的档案和目录设定为正确的权限(参考资料)。
对目录来说,755(rwxr-xr-x) 意味著只有拥有者具备写入权限,其他人只有读取和执行的权限。对档案来说,644 (rw-r–r–) 意味著只有档案拥有者具备读取和写入权限,其他人为唯读。 #4 重新命名你的 WordPress 资料表前缀 如果你使用预设选项来安装 WordPress 的话,你的 WordPress 资料表应该会像是 wp_posts 或 wp_users。将资料表的前缀(wp_)更改为其他随机值是比较好的作法,外挂2Change DB Prefix2可以让你在弹指之间重新命名你的资料表前缀。 #5 防止使用者浏览你的 WordPress 目录结构 这狠重要。开启你 WordPress 根目录底下的 .htaccess 档案,然后在最上方加入这行。
这能够防止其他人在能建立档案清单时看到你资料夹内的所有档案。例如目录下缺少预设的 index.php 或 index.html 时。 #6 更新 WordPress 安全密钥 开启此网页来为你的 WordPress 网站產生八组安全密钥。开启 WordPress 目录下的 wp-config.php 档案,将预设的密钥以產生的密钥取而代之。 这些随机的字串能使你储存于 WordPress 的密码更加安全,另一个好处是,当有人在你不知情的情抗下登入 WordPress,他们将会被立即登出,使他们的 cookies 失效。 #7 保留 WordPress PHP 和资料库错误记录 从错误记录有时候可以发现针对你 WordPress 所发出的无效资料库查询或档案查询。我更喜欢外挂 Error Log Monitor,因为它能定期透过 Email 发送错误日志到你的信箱,也能显示于你的 WordPress 控制台。 要在 WordPress 启用错误日志功能,将以下程式码加入你的 wp-config.php 档案,记得要把2/path/to/error.log 替换为你的日志文件实际路径。error.log 应该放在无法直接从浏览器存取得到的目录。(参考资料)
#8 以密码保护 Admin 控制台 使用密码来保护 wp-admin 目录是一个不错的方法,因为浏览你的公开 WordPress 网站并不需要用到这目录下的任何档案。一旦设定完成,即使是授权的用户也需要输入两道密码才能登入他们的 WordPress 控制台。 #9 追踪你的 WordPress 服务器登入动态 你可以在 Linux 下使用 “last -i” 指令来列出所有登入你 WordPress 服务器的使用者,包括他们的 IP 位址。如果你发现清单内有未知的 IP 来源,那肯定要修改密码了。 此外,下面的指令将显示较长时间区间的登入动态,并使用 IP 位址分组(将 USERNAME 改为你的使用者名称)。
使用外挂来监控你的 WordPress 网站 WordPress.org 外挂库包含不少好用的安全相关外挂,可以持续监控你的 WordPress 网站是否有被入侵,或是其他可疑活动。这些是我会建议使用,也较为基本的安全外挂。 Exploit Scanner – 它会迅速扫描你的所有 WordPress 档案和文章,并列出潜藏恶意程式码的。例如垃圾链结可能会使用 CSS 或 IFRAME 方式隐藏在你的 WordPress 网志文章里,而这个外挂可以将它们找出来。
小技巧:你也可以使用以下 Linux 指令来列出近三天被修改的档案清单。将 mtime 改为 mmin 可以看到 “n” 分鐘前被修改的档案清单。
提高 WordPress 登入页面安全性
|