WordPress安全设置详解
WordPress是一款开源免费的PHP博客CMS系统,WordPress强大的功能及易用性,受到非常多的博主的青睐,已经成为全球使用者最多的博客系统。虽然WordPress在安全方面已经做得不错,但我们还是有必要加强安全设置,因为漏洞是一定会存在的,只是还没有发现。所以我们必须对WordPress进一步的安全加固,以避免因为漏洞而遭到不必要的损失。
一、持续更新WordPress至最新版本
WordPress每更新一次,大都会伴随着程序漏洞的修补和安全问题的解决,所以非常有必要及时地更新到最新版本,以免黑客利用旧版本已发现的漏洞进行入侵。
二、设置复杂的后台管理密码
提高安全意识可以避免许多潜在的安全隐患,比如密码的选取。我们有必要为WordPress后台选取一个强口令,以防止被破解。
一个强口令包括:
1、至少有15个字符
2、包含大写字母
3、包含小写字母
4、包含数字
5、包含特殊符号,如` ! ” ? $ ? % ^ & * ( ) _ – + = { [ } ] : ; @ ‘ ~ # | \ < , > . ? /
6、不能与上次密码相似
7、不能包含你的名字
8、不能包含你朋友的名字
9、不能包含家庭成员的名字
10、不能包含你的生日,手机,身份证等信息
三、使用sftp代替ftp
sftp是通过安全加密传输文件的,防止黑客窃取到敏感文件,普通的ftp是明文传输,一旦黑客成功截取数据包,文件将明文地呈现出来。sftp是sshd的一部分,如果你拥有通过ssh帐号管理空间的权限,意味着可以使用sftp传输文件了。
四、文件权限设置
WordPress文件权限设置涉及到几个目录:
根目录 /,/wp-admin/,/wp-includes/ :
所有的文件应该设置为只有自己的用户帐号有写入权限,其它的只设置有读权限。
/wp-content/:
用户目录,可以设置为所有用户可写。
/wp-content/themes/:
主题目录,如果你需要在后台使用主题编辑器,需要设置为可写。
/wp-content/plugins/ :
插件目录,设置只有你的用户帐号可写。
提示:WordPress全站目录不需要可写都可以正常运行,所以建议设置为全站不可写,当需要自动升级,安装主题或插件时,可以临时设置为可写,之后再关闭写入权限即可,这是最安全的设置。
五、数据库安全
如果服务器运行有多个网站,并且用到mysql数据库,建议为各个数据库指定一个低权限的用户。数据库用户需要的权限有:Alter,Delete,Create,Drop,Execute,Select,Update。
具体添加mysql数据库的命令为:
不需要远程连接:
- grant Alter,Delete,Create,Drop,Execute,Select,Update on dbname . * to 'username′@'localhost' identified by 'password';
需要远程连接:
- grant Alter,Delete,Create,Drop,Execute,Select,Update on dbname . * to 'username′@'client-ip' identified by 'password';
六、后台wp-admin安全设置
后台wp-admin安全的设置有人建议修改后台的地址,这虽然可行,但比较麻烦,而且升级WordPress会遇到困难。所以我们一般不建议修改后台地址。这里使用三步实现wp-admin后台的安全设置。
1、后台设置服务器端密码认证。
当访问wp-admin后台时,需要输入用户和密码才行进入后台,这阻止了黑客暴力破解WordPress后台密码的可能。
如果你的网络不安全,使用http明文登录后台的话,有可能被黑客监听到用户和密码。如果使用https传送密码,则可以避免这种潜在安全隐患。
3、只允许指定ip登录后台
这应该是非常好的安全设置。如果有可能,即你的工作地址相对固定,可以设置只允许指定的ip或ip段登录后台,这将极大地增强后台的安全性。
七、wp-include wp-config.php
对于wp-include目录的保护,我们可以使用apache的mod_rewrite或nginx的location禁止任何用户访问wp-include的文件。
apache设置方法:
- # Block the include-only files.
- RewriteEngine On
- RewriteBase /
- RewriteRule ^wp-config\.php - [F,L]
- RewriteRule ^wp-admin/includes/ - [F,L]
- RewriteRule !^wp-includes/ - [S=3]
- RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
- RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
- RewriteRule ^wp-includes/theme-compat/ - [F,L]
八、隐藏式安全
1、隐藏WordPress版本
隐藏WordPress的版本好处是防止黑客根据你的版本查找相应的漏洞进而发起攻击。
2、重命名管理者账号
为了防止黑客暴力破解后台密码,最好还是不要使用默认的admin帐号。修改默认帐号的方法可以通过mysql命令行执行命令:
- mysql> UPDATE wp_users SET user_login = 'newuser' WHERE user_login = 'admin';
或者可以直接使用phpmyadmin可视化操作。
3、更改 table_prefix(表名前缀)
更改默认的表名前缀wp_可以防止sql注入攻击。
九、数据备份
不要指望把上面的设置完成就可以高枕无忧了,我们还是必须保持对数据的备份,以便数据丢失或黑客挂马时能迅速地恢复。
本文地址:https://www.helloaliyun.com/tutorial/1081.html