一直以来都想写一篇网站安全相关的文章,无奈很多年过去依然米有写出来,就是因为技术在不断深化,同时也面临更多问题要去处理,今天还是写出来,至少要让当前使用的wordpress稳定和安全地运行着,这就是目的!
网站安全涉及的方面非常多,今天不一一讲述也无法理清全部,这里只讲关于wordpress这个程序的一些配置方面,网站的安全要从空间环境配置,域名ns,以及网站程序本身,再就一些插件及防护方法这些说起。
下面分几个步骤来说明具体的配置及需要注意事项:
一、空间的选择及配置
偶一直以来只用 windows,所以系统上选择最新的 windows server 2012r2数据中心版本(带GUI),空间服务商也一直用的阿里云,所以还是比较不错的。
防火墙用windows自带的,这也是最强大的防火墙,杀毒也是微软的scep(system center 2012endpoint protection),之前名字叫 mse,可能大部分人都用过,因为那是在 2008r2及以下使用的,2012和 2012r2就叫scep。
其它的一些配置可以用web.config规则,再就空间的安全组来限制。
二、系统与防火墙的配置
系统要更新至最新补丁,一些设置,不需要的服务可以禁用,不需要的组件可以删除或禁用。另外设置好虚拟缓存,这个一般是空间内存的4-8倍大小。
入站规则要做一部分配置,比如远程3389端口需要修改,最好只开80/433 21这几个端口,有远程也可以不开21,毕竟ftp也不是太安全。
三、网站目录的权限
这个就比较简单了,一般wp-admin wp-includes禁止写入(除了自己超级管理员),wp-content则正常写入和读取,具体如下:
根目录 /,/wp-admin/,/wp-includes/ :
所有的文件应该设置为只有自己的用户帐号有写入权限,其它的只设置有读权限。755
/wp-content/:
用户目录,可以设置为所有用户可写。777
/wp-content/themes/:
主题目录,如果你需要在后台使用主题编辑器,需要设置为可写。777(临时),755(长期)
/wp-content/plugins/ :
插件目录,设置只有你的用户帐号可写。777(临时),755(长期)
四、web.config规则上的配置
这个很难具体说明或解释,因为需要调试,和iis环境配置有关,具体的需要自己测试,下面列出偶自己写的规则,已经用了好些年,期间不断做改进,目前的感觉错误非常少,但还是存在许多错误,后面还会继续修正与完善的。具体请在站内搜索web.config,之前写过详细的解释及配置。
五、wordpress及插件的更新与功能函数配置
wordpress是一个开源的系统,开源系统由于使用广泛,所以经常面临各种各样的攻击方式,定期更新到最新版本,插件也一样,另外做一些能够加强wp程序本身强度的工作,比如安装hide my wp这样的插件,以及使用waf.php这样的过滤组件,才能真正解决隐患问题的存在,但也仍然不能做到100%,因为这世界不存在100%,所以最重要的还是最后一步,备份。
六、定期备份站点
这里包括根目录全部文件及数据库,可以空间配置备份工具或规则,也可以手动定期备份压缩包,还可以同时制作云盘的快照,这样多方面保证才能真正减少网站安全方面的风险。
总结
做站可不是小的工作量,相反有些时候工作量极大,虽然只是一个小小的站点,但却非常多的重复性条目及细节需要时间去消化,所以在方方面面,能做多少是多少,最重要的是定期备份以减少损失,虽然这很花时间但却不能不做。安全方面也需要站长自己花时间处理,所以整个过程还是相当复杂,也非常消耗时间和维护成本的。