如何提高 WordPress 博客的安全性

已发表: 2022-02-26

WordPress 是 Internet 上最流行的自托管内容管理系统 (CMS),因此,与 Microsoft Windows 一样,它也是最流行的攻击目标。 该软件是开源的,托管在 Github 上,黑客一直在寻找可以被利用来访问其他 WordPress 站点的错误和漏洞。

WordPress 要确保 WordPress 安装安全,您至少可以确保它始终运行最新版本的 WordPress.org 软件,并且各种主题和插件也在更新。 以下是您可以采取的其他一些措施来提高 WordPress 博客的安全性:

#1。 使用您的 WordPress 帐户登录

当您安装 WordPress 博客时,默认情况下第一个用户称为“管理员”。 您应该创建一个不同的用户来管理您的 WordPress 博客,然后删除“admin”用户或将角色从“administrator”更改为“subscriber”。

您可以创建一个完全随机(难以猜测)的用户名,或者更好的替代方法是使用 Jetpack 启用单点登录并使用您的 WordPress.com 帐户登录您的自托管 WordPress 博客。

#2。 不要向全世界宣传您的 WordPress 版本

WordPress 网站总是发布版本号,从而使人们更容易确定您是否运行的是过时的未打补丁的 WordPress 版本。

从页面中删除 WordPress 版本很容易,但您需要再进行一项更改。 从您的 WordPress 安装目录中删除readme.html文件,因为它还会向全世界宣传您的 WordPress 版本。

#3。 不要让其他人“写”到您的 WordPress 目录

登录到您的 WordPress Linux shell 并执行以下命令以获取所有其他用户可以在其中写入文件的所有“打开”目录的列表。

找 。 -type d -perm -o=w

您可能还想在 shell 中执行以下两个命令来为所有 WordPress 文件和文件夹设置正确的权限(参考)。

查找 /your/wordpress/folder/ -type d -exec chmod 755 {} \; 查找 /your/wordpress/folder/ -type f -exec chmod 644 {} \;

对于目录,755(rwxr-xr-x)表示只有所有者有写权限,其他人有读和执行权限。 对于文件,644(rw-r—r—)表示文件所有者拥有读写权限,而其他人只能读取文件。

#4。 重命名您的 WordPress 表前缀

如果您使用默认选项安装了 WordPress,则您的 WordPress 表的名称类似于 wp posts 或 wp_users。 因此,将表 (wp) 的前缀更改为某个随机值是一个好主意。 Change DB Prefix 插件可让您通过单击将表前缀重命名为任何其他字符串。

#5。 阻止用户浏览您的 WordPress 目录

这个很重要。 打开 WordPress 根目录中的 .htaccess 文件,并在顶部添加以下行。

选项 - 索引

如果这些目录中没有默认的 index.html 或 index.php 文件,它将阻止外界看到您的目录中可用的文件列表。

#6。 更新 WordPress 安全密钥

转到此处为您的 WordPress 博客生成六个安全密钥。 打开 WordPress 目录中的 wp-config.php 文件并用新的键覆盖默认键。

这些随机盐使您存储的 WordPress 密码更加安全,另一个优点是,如果有人在您不知情的情况下登录 WordPress,他们将立即注销,因为他们的 cookie 现在将失效。

#7。 记录 WordPress PHP 和数据库错误

错误日志有时可以提供关于哪些类型的无效数据库查询和文件请求正在影响您的 WordPress 安装的强烈提示。 我更喜欢错误日志监视器,因为它会定期通过电子邮件发送错误日志,并将它们显示为 WordPress 仪表板中的小部件。

要在 WordPress 中启用错误日志记录,请将以下代码添加到 wp-config.php 文件中,并记住将 /path/to/error.log 替换为日志文件的实际路径。 error.log 文件应放置在浏览器无法访问的文件夹中(参考)。

定义('WP_DEBUG',真); if (WP_DEBUG) { 定义('WP_DEBUG_DISPLAY', false); @ini_set('log_errors', '开'); @ini_set('display_errors', '关闭'); @ini_set('error_log', '/path/to/error.log'); }

#9。 密码保护管理员仪表板

使用密码保护 WordPress 的 wp-admin 文件夹始终是一个好主意,因为该区域中的任何文件都不是为访问您的公共 WordPress 网站的人准备的。 一旦受到保护,即使是授权用户也必须输入两个密码才能登录到他们的 WordPress 管理仪表板。

10. 跟踪 WordPress 服务器上的登录活动

您可以在 Linux 中使用“last -i”命令来获取所有已登录 WordPress 服务器的用户及其 IP 地址的列表。 如果您在此列表中发现未知 IP 地址,那么肯定是时候更改您的密码了。

此外,以下命令将显示按 IP 地址分组的较长时间的用户登录活动(将 USERNAME 替换为您的 shell 用户名)。

最后-if /var/log/wtmp.1 | grep 用户名 | awk '{打印 $3}' | 排序 | 唯一的-c

使用插件监控您的 WordPress

WordPress.org 存储库包含相当多的安全相关插件,它们将持续监控您的 WordPress 站点是否存在入侵和其他可疑活动。 以下是我推荐的基本内容。

  1. Exploit Scanner - 它将快速扫描您的所有 WordPress 文件和博客文章,并列出可能包含恶意代码的文件。 垃圾邮件链接可能会使用 CSS 或 IFRAMES 隐藏在您的 WordPress 博客文章中,插件也会检测到它们。
  2. WordFence Security - 这是一个非常强大的安全插件,你应该拥有。 它将您的 WordPress 核心文件与存储库中的原始文件进行比较,以便立即检测到任何修改。 此外,该插件将在 'n' 次不成功的登录尝试后锁定用户。
  3. WP Notifier - 如果您不经常登录 WordPress 管理仪表板,此插件适合您。 只要已安装的主题、插件和核心 WordPress 有新的更新可用,它就会向您发送电子邮件警报。
  4. VIP Scanner - “官方”安全插件将扫描您的 WordPress 主题是否存在任何问题。 它还将检测可能已注入您的 WordPress 模板的任何广告代码。
  5. Sucuri Security - 它监控您的 WordPress 以了解对核心文件的任何更改,在任何文件或帖子更新时发送电子邮件通知,并维护用户登录活动日志,包括登录失败。

提示:您还可以使用以下 Linux 命令获取最近 3 天内已修改的所有文件的列表。 将 mtime 更改为 mmin 以查看“n”分钟前修改的文件。

找 。 -type f -mtime -3 | grep -v “/邮件目录/” | grep -v “/日志/”

保护您的 WordPress 登录页面

全世界都可以访问您的 WordPress 登录页面,但如果您希望阻止非授权用户登录 WordPress,您有三个选择。

  1. 使用 .htaccess 进行密码保护 - 这涉及使用用户名和密码以及常规 WordPress 凭据来保护 WordPress 的 wp-admin 文件夹。
  2. Google Authenticator - 这个出色的插件为您的 WordPress 博客添加了两步验证,类似于您的 Google 帐户。 您必须输入密码以及手机上生成的时间相关代码。
  3. 无密码登录 - 使用 Clef 插件通过扫描二维码登录您的 WordPress 网站,您可以通过手机本身远程结束会话。

另请参阅:必备的 WordPress 插件