plesk是个好面板,好就好在它给自己公司恰钱真的很快
WP已经从一个简单的博客变身成为一个几乎是万能的CMS服务平台了,自然拿来建站的时候也得考虑很多相关的安全因素。具体有多不安全呢,我以前的个人博客就被人爆轰过xmlrpc.php,我能不害怕嘛(所以我现在用Hexo了,有本事去轰某著名同性交友网站的服务器啊(无端)
但是还是要拿WP来建站,这个CMS实在是太方便了,所以该考虑的安全问题还是要考虑起来。正好装了plesk,顺便能处理一下WP的管理。然而这只是坑的起步,作为安全性处理这么高级的功能嘛,自然是要狠狠宰一笔了……
至于有多昂贵呢?plesk pro版一个月的售价为15£,而我的服务器一个月也才5$,有这钱我做什么不好,要来贴这吃相难看的贵公司的臭脸?
甚至还有更昂贵的东西,那就是这所谓的自动升级。具体有多恶心呢?要是用这个功能需要购买三份授权,至于每一份的价格嘛……
那怎么办呢?虽然plesk在安全方面的自动部署确实需要花钱购买,但是好在查看安全问题还是可以免费获得的。就好比是一个光是大喊出现bug的客户,要它帮忙修复一下就开始臭不要脸狠狠敲诈,你说气不气
然而如果连基本的指令技能都没有的话那也不至于去玩VPS了。既然它只肯提意见,那苦力活还是我们自己来做好了。
plesk会把文件放在/var/www/vhosts/domain.name
下,所以可以先cd进入相关的目录。
1 | cd /var/www/vhosts/example.com/httpdocs # 假设我们的域名是example.com |
先以最关键的为例,修复一下权限管理的问题:
对于此类严重的安全问题,plesk还勉强比较好心地提供了一个解决方案思路,可以用作参考:
1 | find . -type d -exec chmod 755 {} \; # 修改目录权限为755 |
然后是禁止执行 wp-includes 和 wp-content/uploads 目录中的 PHP 脚本:
以运行在Apache Httpd下的PHP环境为例,在以上两个目录新建.htaccess
文件,并写入内容:
1 | <Files *.php> |
然后是关闭pingbacks,为了安全起见,我决定直接禁用掉xmlrpc功能。
我选择了插件保护的方式,安装了一个插件Disable XML-RPC即可。
接下来是启用防盗链保护。
经过查询,Windows版的plesk是自带这个功能的,然而不知道为何反而是Linux版的不带了。
所以直接手搓nginx配置,去Apache与nginx配置下,给nginx添加如下配置:
1 | location ~* \.(gif|jpg|png|jpeg|webp)$ { |
其中aka.ms/no
是一张非常有趣的梗图,感兴趣的话可以点我去看看~
然后是禁用未使用的脚本语言,但是我根本就没有安装那些运行环境,自然使用语言也就无从谈起了,直接访问的话就变成文件下载了,那没有工具环境用来执行,好像问题也不大
再接下来是考虑禁用文件编辑。这个也很简单,去wp-config.php加入这样一行代码即可:
1 | define('DISALLOW_FILE_EDIT', true); |
至于启用爬虫防护,为了防止搜索引擎的爬虫受到不必要的影响,这些安全措施还是交给Cloudflare去处理吧(逃)