首页 > 计算机应用 > WordPress安全多重奏

WordPress安全多重奏

        在前面的《站内近况》中,秋天曾说过在做博客的优化,其中包括安全设置。如何使自己的WordPress足够牢固?多重奏开始。


        一重奏,数据库安全
        首先是数据库备份,虽然现在大多数服务器空间都有同步及异步备份,但为了防止意外情况的发生,定期将数据库本分到本地仍然是最保险的一种做法。在WP下可以借助WordPress Database Backup插件轻松实现,用户可以选择 WordPress Database Backup提供的备份周期(包括每小时、每天、每星期、每月等周期)进行资料备份。 备份过后即使数据库被破坏,我们也可以用备份资料来还原数据库。在启用之前别忘了确认你的服务器支持mail()函数可以往外发送邮件。
        其次是修改默认SQL数据库前缀。如果你的WP还没有安装,那么在wp-config.php中修改语句”$table_prefix = ‘wp_’;”将”wp_”修改为你需要的前缀。如果已经安装过,首先备份数据库,然后到博客后台禁用全部插件,再到服务器后台的phpmyadmin中修改所有数据库表前缀。
        修改方法:根据WordPress的SQL数据库表名称逐条执行类似如下命令,将其中的”cfresh_”改为你需要的数据库表前缀:

  1. ALTER TABLE wp_commentmeta RENAME TO cfresh_commentmeta   
  2. ALTER TABLE wp_comments RENAME TO cfresh_comments   
  3. ALTER TABLE wp_links RENAME TO cfresh_links
    …….  

        想省事的话可以用WP Security Scan插件来修改。
        数据库中表前缀修改完毕之后,返回wp-config.php文件,修改语句”$table_prefix = ‘wp_’;”,而后到WP后台恢复启用插件即可。
        如果出现后台不能登录的情况,请到数据库中执行以下命令,将其中的”cfresh_”改为你需要的数据库表前缀:

  1. UPDATE newprefix_options SET option_name = REPLACE(option_name,’wp_user_roles’,’cfresh_user_roles’);   
  2.  UPDATE newprefix_usermeta SET meta_key = REPLACE(meta_key,’wp_’,’cfresh_’);   


        二重奏,管理员账号安全
        WP默认的管理员账号为admin,可以新建一个非admin为用户名的管理员账号而后删除admin账号,或者给admin账号重命名。同时使用高强度密码,这一点在WP中会有密码强度提示,参考即可。


        三重奏,设置文件wp-config.php安全
        1,修改自定义安全密钥(加密cookies),到https://api.wordpress.org/secret-key/1.1/生成随机安全密钥,替换默认密钥,防止入侵者通过cookie劫持访问后台管理界面。在wp-config.php中找到类似如下代码段,用打开页面中显示内容替换对应的8行”define”语句:

  1. /**#@+  
  2.  * 身份密匙设定。  
  3.  *  
  4.  * 您可以随意写一些字符  
  5.  * 或者直接访问 {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org 私钥生成服务},  
  6.  * 任何修改都会导致 cookie 失效,所有用户必须重新登录。  
  7.  *  
  8.  * @since 2.6.0  
  9.  */  
  10. define(‘AUTH_KEY’,         ‘put your unique phrase here’);   
  11. define(‘SECURE_AUTH_KEY’,  ‘put your unique phrase here’);   
  12. define(‘LOGGED_IN_KEY’,    ‘put your unique phrase here’);   
  13. define(‘NONCE_KEY’,        ‘put your unique phrase here’);   
  14. define(‘AUTH_SALT’,        ‘put your unique phrase here’);   
  15. define(‘SECURE_AUTH_SALT’, ‘put your unique phrase here’);   
  16. define(‘LOGGED_IN_SALT’,   ‘put your unique phrase here’);   
  17. define(‘NONCE_SALT’,       ‘put your unique phrase here’);  

        2,移动wp-config.php,从2.6版本开始,WordPress支持将设置文件放在安装文件的上一级目录中,如果在当前WordPress目录下没有发现wp-config文件,WordPress会自动检查wp-config文件是否在其上层目录中。需要注意的是根据经验部分插件(如WP-T-WAP)需要在安装目录读取wp-config.php文件,如果移动后出现不能正常使用的情况请及时移回。
        3,锁定其他用户访问wp-config.php,可以在.htaccess文件中插入以下代码实现。
<files wp-config.php>
  Order deny,allow
  deny from all
</files>


        四重奏,WordPress版本安全
        首先自然是保持自己的程序版本最新,在后台多加关注新版本发布并加以操作即可。
        然后是隐藏WordPress版本信息,以免入侵者找出对应漏洞发起攻击。
        在WP2.5及更新版本中,在当前主题目录下的funtions.php中加入以下代码段实现:

  1. function wpbeginner_remove_version() {   
  2.  return ;   
  3. }   
  4. add_filter(‘the_generator’, ‘wpbeginner_remove_version’);  


        五重奏,其他可以提高WP安全性的措施
        删除不用的WordPress主题和插件;
        为WordPress文件规定正确的文件许可权限;
        限制搜索引擎对网站内容的索引范围。

       文末琐碎:博客自上周五出现了一段时间不能访问的现象,是由于服务器硬盘故障引起的,时间长达27小时,并且恢复访问后丢失了几条最新的评论数据。由此对大家道个歉,发现有点背,11月底博客放在加州的T2机房服务器由于硬盘故障导致了一次长时间(36小时+)不能访问,12月搬迁到现在的洛杉矶Webnx机房,结果这个月再次出现较长时间硬盘故障。也许接下来几个月空间能够稳定一些吧。
       上周回了一趟河南,昨天回来之后今天就赶上下雪,现在外面的花坛上已经全白了,天气也越来越冷。各位童鞋要多注意保暖工作,医院里看感冒的病人已经排着队了,千万不要成为其中的一员。只要赏雪,远离感冒。

转载请尊重版权,出处:秋天博客
本文链接: https://www.cfresh.net/pc-tech/871

  1. 幼儿园教案
    幼儿园教案 2月 22nd, 2011 @ 14:16 | #-31

    感觉WP还是有些累赘。Z-BLOG轻巧许多。

  2. pcrepair
    pcrepair 2月 22nd, 2011 @ 02:25 | #-32

    刚刚接触wp 博主的博文很有帮助

  3. nopoto
    nopoto 1月 28th, 2011 @ 13:11 | #-33

    我不怎么注重的

  4. 秋天
    秋天 1月 22nd, 2011 @ 17:19 | #-34

    @三叶草
    什么都不做也可以也至少保证两件事要做:
    1,勤备份数据;
    2,保证及时更新WP版本。

  5. 三叶草
    三叶草 1月 22nd, 2011 @ 17:15 | #-35

    几乎未做任何安全措施,,,,,,汗!

    本来想把admin给删除,觉得admin霸气,还是保留…甚至连后台登录路径也是默认的…嫌改非常麻烦

  6. 有点蓝
    有点蓝 1月 21st, 2011 @ 23:40 | #-36

    @秋天
    哈哈哈哈,原来偶就是那个走到程序员跟前对他说这段代码没有闭合又不兼容某浏览器的老太太……
    最近正减肥,您先睡……

  7. 秋天
    秋天 1月 21st, 2011 @ 23:32 | #-37

    @有点蓝
    我猜你是潜伏在博客圈里的扫地老太太,绝对的深藏不露型,哈哈。
    在服务器后台设置了每天都保存访问日志,到时下回来集中分析处理一下。
    话说时间不早了该休息了兄弟,熬夜伤身体。

  8. 有点蓝
    有点蓝 1月 21st, 2011 @ 23:18 | #-38

    @秋天
    我狂汗+狂喜,原来我已经升级为非菜鸟了么……404那个问题真的是偶然看到的,就像偶然知道尼采这个名字一样……

  9. 秋天
    秋天 1月 21st, 2011 @ 23:09 | #-39

    @有点蓝
    懂得这么多还说自己是菜鸟,好吧我承认自己连菜鸟都不算~
    根据了解到的情况,404页面之所以产生高资源占用主要还是由于Apache将页面交由WordPress处理并显示出404页面或首页。在处理过程中会资源占用非常高,单个最高可能会达到6%-7%,如果有垃圾站同时发起对多个镜像文件的访问请求,那么空间CPU超限也就不在话下了。

  10. 有点蓝
    有点蓝 1月 21st, 2011 @ 22:35 | #-40

    @秋天
    做为菜鸟的我关于404那个问题我倒是听说过,说是实在没办法了就建个0字节的文件替代,这样不至于损失搜索权重,还不会造成负担。

  11. 秋天
    秋天 1月 21st, 2011 @ 22:26 | #-41

    @有点蓝
    刚看了一篇文章将如果启用了mod_rewrite遇到大量404就会给服务器造成很高的负载,前一段时间空间商还在跟我反映CPU占用高的问题。你提醒了我,马上到服务器后台检查屏蔽这些垃圾站的IP.

  12. 有点蓝
    有点蓝 1月 21st, 2011 @ 16:19 | #-42

    @
    秋天

    汗,原来有这么多的随机性啊,菜鸟黑客在练手……
    这就给服务器造成不小压力了哎

  13. 秋天
    秋天 1月 21st, 2011 @ 16:01 | #-43

    @有点蓝
    有一些坏孩子会开了扫描器漫无天际的扫描,也有一些网站专门提供类似服务,在它上面可以下载到很多网站的镜像和压缩包。如果是我会把反复尝试的IP给封掉,因为很明显是这种网站派出来的机器人,如果单次IP一般不理会,可能是哪个孩子太好奇,就满足一次他的好奇心好了,同时见到一个恶意IP就封一个工作量太大。
    我在服务器后台的cPanel面板中可以查到,而且可以下载完整的原始访问日志。以前一直没有做这项工作,看来也要重视起来才好。

  14. 有点蓝
    有点蓝 1月 21st, 2011 @ 15:10 | #-44

    @秋天
    果然是高人 一猜就中 就是这样 我在后台查看就有很多抓去压缩包的 直接当掉他的IP 管他错杀不错杀呢

  15. 秋天
    秋天 1月 21st, 2011 @ 14:51 | #-45

    @有点蓝
    那么我猜想应该是通过检测是否有尝试访问webshell、web/root/archive.zip等网站镜像压缩包文件并返回404错误的行为来鉴别的吧,这也是一个比较实用的功能,万一哪天真的不小心自己做了个整站备份让给抓取那就杯具了。

  16. 有点蓝
    有点蓝 1月 20th, 2011 @ 17:36 | #-46

    @
    秋天

    嗯嗯 就是强大在这里啊 有捣蛋份子直接就有红字提示的 不过大师也说了 统计的数据除了时间其他都可以造假……

  17. 秋天
    秋天 1月 20th, 2011 @ 14:01 | #-47

    @冰源
    多谢捧场,欢迎再来。 :mrgreen:

    @有点蓝
    大师的My Visitors插件不是用来统计访问数据的吗,还能发现恶意链接啊?

    @世纪之光
    安全密钥我来在文章中专门注释一下吧,就是用来加密cookies的。半小时以后再来肯定能看到添加的注释。

  18. 宿迁学院论坛
    宿迁学院论坛 1月 20th, 2011 @ 13:57 | #-48

    哈哈 这下貌似安全了

  19. 秋天
    秋天 1月 20th, 2011 @ 13:56 | #-49

    @益酷网
    别忘了提前做好代码备份哦。

    @Yalon
    安全的主体在人,一定要时刻有安全意识,这样才能防患于未然。

    @龙城瓶子
    为淫民服务无限光荣,哈哈。

    @志言
    我要是黑客就天天去你那里串门,再植个小马啥的顺便看看你硬盘里有没有啥好东西。 😆

  20. 世纪之光
    世纪之光 1月 20th, 2011 @ 12:19 | #-50

    wp-config.php文件也会带来安全隐患的啊,那个安全密钥怎么使用啊?

  21. 有点蓝
    有点蓝 1月 19th, 2011 @ 17:44 | #-51

    用willin的my visitors插件也发现不少恶意的链接 我都直接给他屏蔽IP了 吼吼

  22. 沈阳无痛人流
    沈阳无痛人流 1月 19th, 2011 @ 14:33 | #-52

    好文章学习了!

  23. 冰源
    冰源 1月 19th, 2011 @ 12:52 | #-53

    很实用,我照着在自己的wordpress上试了试。

  24. 志言
    志言 1月 19th, 2011 @ 12:43 | #-54

    我不够重视,懒得管

  25. 龙城瓶子
    龙城瓶子 1月 19th, 2011 @ 12:41 | #-55

    嘿嘿
    照你的方法搞了几个。。。

  26. Yalon
    Yalon 1月 19th, 2011 @ 12:33 | #-56

    安全问题的确不能忽视啊!

  27. 益酷网
    益酷网 1月 19th, 2011 @ 10:22 | #-57

    我的回去该代码了

  28. 秋天
    秋天 1月 19th, 2011 @ 09:41 | #-58

    @Louis Han
    其实我连robot都没设置,哈哈,以前很重视这些,现在想想就算了,大家都知道WP的管理路径什么的,也没必要隐藏。

    @瘦腿袜
    怎么从你这里找到了皇上的感觉?爱卿速速平身,赐座!

  29. 瘦腿袜
    瘦腿袜 1月 18th, 2011 @ 20:42 | #-59

    博主千秋万载 给力啊给力!!

  30. Louis Han
    Louis Han 1月 18th, 2011 @ 18:47 | #-60

    你对WP的安全问题研究的还真够透彻呢
    我就设置了一下robot了事

评论提交中, 请稍候...

留言



注意: 您给他人的评论回复将通过邮件通知到对方。

可以使用的标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
Trackbacks & Pingbacks ( 0 )
  1. 还没有 trackbacks