Wordpress安全设置

在2018年5月23日,博客被黑过!
Supernatural-Dean.gif

打从那时起,对wordpress安全,耿耿为怀 > 步步为营 > 采取措施 > 防卫于未然
push.gif

开始与黑客攻击的攻防战役吧!


第一防线:服务器端

1.参考这篇文章的“安全设置”

2.安装最新且稳定的PHP版本,如:PHP 7.2.0

3.设置WordPress文件目录权限,如:755

4.设置HTTPS – SSL Certificate

5.注册使用Cloudflare来防盗链、CDN、SSL、预防DDoS;反正免费版好用的功能都开启吧,没事多多浏览下Cloudflare控制面板,熟悉后就不是事儿了。


第二防线:安装WordPress时

1.使用复杂的用户名与密码,比如用户名为邮箱地址,密码为类似:Kt83QPHefnGK;

2.使用自定义的数据库前缀如比如sgq_,只要不是默认的wp_就可以;

3.手动保持WordPress更新,为什么不设置自动更新?看清楚更新版本是修复什么,先备份好,再升级,避免wordpress出错;

4.只安装有知名度、质量的主题和插件

5.必装插件列表:

  • 安全插件,比如Wordfence或者All In One WP Security
  • 备份插件,比如UpdraftPlus:开启定期备份到网盘
  • 缓存插件,比如WP Rocket:加速网站

6.可选插件列表:

  • Disable Google Fonts(国内博客使用)
  • Enlighter——可自定义的语法高亮显示插件(喜欢linux的话)
  • WP Mail SMTP
  • Yoast SEO
  • Two Factor Authentication

第三防线:设置WordPress时


.htaccess

说明:以下示例都是增加代码到wordpress根目录下的.htaccess
能用几行代码就达到目的,就不必安装插件了

1.Disable Directory Indexing and Browsing(禁止浏览目录)

#protect directory browse
Options -Indexes

2.Protect wp-config.php(保护WP配置文件)

#protect wp-config.php
order allow,deny
deny from all;

wp-config.php

说明:以下示例都是增加代码到wordpress根目录下的wp-config.php

1.修改wp-config.php文件权限为440或者400

2.关闭后台的theme editor功能

#Disallow file edit
define( 'DISALLOW_FILE_EDIT', true );

functions.php

说明:以下示例都是增加代码到wordpress根目录下的wp-config.php

1.修改后台登录网址

/**
 * wordpress: change login URL
 */
add_action('login_enqueue_scripts','login_protection');
function login_protection(){
if(($_GET['11'] != '22') || ($_GET['33'] != '44'))header('Location: https://shenguanqun.com/wp-content/uploads/图片.jpg');
}

:wq 保存后,后台的登陆网址只能是上面的格式了;不然的话比如访问/wp-admin或者/wp-login的话,浏览器就只会显示你在代码中设置的那张图片:https://shenguanqun.com/wp-content/uploads/图片.jpg

比如我现在设置的就是这张:
youreanidiot.jpg

2.隐藏wordpress版本号:

/**
 * wordpress: hide version number
 */
function wp_version_remove_version() {
return '';
}
add_filter('the_generator', 'wp_version_remove_version');

nginx.php

如果你用的是lnmp(linux、nginx、mysql、php)那么可以通过nginx来做很多事情;修改对应的虚拟主机配置文件即可,一般在路径/usr/local/nginx/conf/vhost/shenguanqun.com.conf

1.Disable XML-RPC


避免被恶意攻击(大量访问)xmlrpc.php;
攻击原理:wordpress网站xmlrpc.php文件是一个远程端口文件,攻击者通过POST提交恶意大量的提交,不断的访问xmlrpc.php文件,形成DDOS攻击,致使网站服务器CPU过高停机,网站无法打开。

解决方法:关闭掉自己网站xmlrpc.php文件。

#方法1:添加代码到上边子主题的functions.php文件中
add_filter('xmlrpc_enabled', '__return_false');

#再添加下边代码,通过.htaccess屏蔽xmlrpc.php文件的访问
#Block WordPress xmlrpc.php requests
Order Deny,Allow
Deny from all

#方法2:利用nginx控制
location ~* ^/xmlrpc.php$ {
return 403;
}

2.Prevent Hotlinking(防盗链)

location ~ .(gif|png|jpe?g)$ {
valid_referers none blocked ~.google. ~.bing. ~.yahoo yourdomain.com *.yourdomain.com;
if ($invalid_referer) {
return 403;
}
}

3.阻止上传文件夹内的任何php文件执行

location /wp-content/uploads/ {

location ~ .*.(php)?$ {

deny all;

}
}

直接插件配置

嫌麻烦的话,直接安装All In One WP Security插件设置就行,功能如下:
All In One WP Security.png


后话

防线配置得差不多了,就可以开始去充实网站内容吧~

定期备份!
定期备份!
定期备份!

Last modification:October 16th, 2019 at 01:23 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment