加强 WordPress 安全性,第 1 部分
这是一场可怕的噩梦:有一天,您打开网站,发现自己已被黑客攻击。如果您正在运行一个简单的个人博客,这可能只是一个烦人的事件。如果您托管客户的网站,您的一天可能会变得艰难且充满压力。如果您正在运营一个高销量的电子商务网站,它可能会引发恐慌。无论情况如何,您都不会使用快乐的表情符号来分享新闻。因此,您需要一个策略来防止攻击发生。
您来对地方了。在这个由两部分组成的迷你系列中,我将向您展示如何使您的 WordPress 项目尽可能安全。
WordPress 安全性简介
您认为 WordPress 安全吗?如果您不这样做也没关系,因为很多人认为 WordPress 是一个不安全的内容管理系统,但事实与事实相去甚远……至少在今天是这样。
Microsoft Windows、Android、Google Chrome 和 WordPress 有什么共同点?它们都是非常流行的软件,人们总是会发现其中的安全漏洞。尽管它们都定期修补错误和安全缺陷,但存在安全漏洞是否会使它们不安全?
如果您有不同的想法,我很抱歉,但事实并非如此。频繁的补丁并不一定意味着某个软件针对安全威胁的编码很差。开发者和黑客之间的猫捉老鼠的游戏永远会继续下去,黑客永远会找到破解软件的方法。如果软件像 WordPress 一样是可扩展的,那么黑客入侵的机会也会增加。
这里重要的是响应能力和先发制人,而这正是 WordPress 所擅长的。你必须等待几天才能让 Google Chrome 堵塞安全漏洞,甚至需要等待几周微软才能发布安全修复程序,但庞大的 WordPress 开发者社区将能够在 2019 年年底之前修复零日安全漏洞。 第一天。另外,有一整个团队致力于保护 WordPress 核心,所以我们在这方面也有很好的把握。就主题和插件而言,发现错误和缺陷可能会更容易一些,并且可能需要更多时间来修复它们,但社区得到了开发人员的支持。
然而,没有什么是百分百安全的。我们生活在科学家即将破解我们大脑密码的时代!没有什么是难以理解的,显然包括我们的大脑,WordPress 也不例外。但 100% 的安全性是不可能的,并不意味着我们不应该追求 99.999% 的安全性。
提高 WordPress 的安全性
根据个人经验和进一步的研究,我整理了一些您应该采取的安全措施(如果您还没有采取的话)。话不多说,让我们现在就来了解一下他们吧!
保护 .htaccess 文件
让我们从简单的开始。
如果您的 WordPress 网站托管在由 Apache 提供支持的网络服务器中,并且您在设置中启用了“漂亮的永久链接”,WordPress 将生成一个名为 .htaccess 的文件来存储基本信息WordPress 永久链接说明。如果您不启用漂亮的永久链接,核心将不会生成 .htaccess 文件,但我将要展示的提示仍然适用 - 您只需要自己创建该文件。
Nano-tip:如果您要自己创建 .htaccess 文件,但很难创建一个没有任何名称但带有 .htaccess 扩展名的文件,只需上传一个空文件即可使用任何名称(例如 Untitled.txt)并在 FTP 客户端中更改名称和扩展名。
我首先想到的是保护 htaccess 文件。这是我将向您展示的提示和技巧中最容易做的事情。您所要做的就是将以下行添加到文件中:
# protect .htaccess <Files .htaccess> order allow,deny deny from all </Files>
这是一个无害的技巧,可以保护 htaccess 文件免受任何想要访问它的人(或任何)的访问。
接下来,让我们禁用显示文件夹的内容:
# disable directory browsing Options All -Indexes
这将防止陌生人在想要访问时看到您文件夹的内容,例如,myblog.com/wp-content/uploads/。通常,他们能够查看上传的文件或浏览 /uploads/ 目录中的子文件夹,但通过这个小技巧,他们将看到来自服务器的 403 Forbidden 响应。
最后,我想参考 Perishable Press 提供的一份很棒的“黑名单”:5G 黑名单。此黑名单可以保护您的网站免受多种恶意活动的侵害,从有害的查询字符串到不良的用户代理。
这就是 htaccess 技巧。现在,让我们继续学习 wp-config.php 技巧。
wp-config.php 文件及其内容的安全技巧
就安全性而言,wp-config.php 文件可能是整个 WordPress 安装中最重要的文件。您可以用它做很多事情来强化您的网站。
让我们从一个有趣的技巧开始:您是否知道可以将 wp-config.php 文件放在 WordPress 根目录中的上一级?如果它不会让您感到困惑,请立即执行。大多数时候,我将 WordPress 安装在 public_html 目录中,并且喜欢将 wp-config.php 文件放在用户根目录中。不确定这是否是万金油配方,但至少它感觉更安全。 Stack Exchange 的一些人就这个话题进行了很好的辩论。
顺便说一下,让我们回到根 .htacccess 文件并添加以下行以拒绝访问 wp-config.php 文件:
# protect wpconfig.php <files wp-config.php> order allow,deny deny from all </files>
这是一个有趣的想法:删除编辑主题和插件文件的权限怎么样?所需要做的就是将以下行添加到 wp-config.php 文件中:
define( 'DISALLOW_FILE_EDIT', true );
感觉更加偏执?将以下行粘贴到上面一行下方以完全禁用主题和插件安装和删除:
define( 'DISALLOW_FILE_MODS', true );
关于强化 WordPress 的另外两个技巧:更改数据库前缀,并在 wp-config.php 文件中添加安全密钥(或 salt 密钥)。
第一个很简单:通过查找以下行来检查是否将数据库前缀设置为默认值:
$table_prefix = 'wp_';
如果它设置为 wp_,您应该将其更改为除此默认值之外的其他值。您无需记住它,因此可以输入任何内容。我喜欢使用 wp_fd884vg_ 这样的组合来保证它的安全性和可读性。
更改安全密钥也非常容易。通过找到以下行来查看键是否为空:
/**#@+ * Authentication Unique Keys and Salts. * * Change these to different unique phrases! * You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service} * 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. * * @since 2.6.0 */ define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY', 'put your unique phrase here'); define('NONCE_KEY', 'put your unique phrase here'); define('AUTH_SALT', 'put your unique phrase here'); define('SECURE_AUTH_SALT', 'put your unique phrase here'); define('LOGGED_IN_SALT', 'put your unique phrase here'); define('NONCE_SALT', 'put your unique phrase here');
如果他们都说'把你独特的短语放在这里',这意味着他们还没有设置。在这种情况下,只需转到此 URL(也在代码注释中引用)并使用上面的行更改该页面中生成的行。
Nano-tip:如果您想知道这些“盐密钥”是什么,WPBeginner 有一篇很棒的文章介绍了这种安全措施的好处。
wp-config.php 技巧就到此为止!今天就到此为止吧。
今天总结
我希望您今天喜欢这些 .htaccess 和 wp-config.php 技巧。在这个迷你系列的下一部分中,我们将介绍一些安全插件和其他有关强化 WordPress 的重要技巧。如果您有任何问题或意见,请随时在下面的评论部分中提出。
下一部分见!
加强 WordPress 安全性,第 1 部分的详细内容,更多请关注红帽云邮其它相关文章!