随便发点

如何提高 Typecho 1.x 的性能且增强安全性?

从 Wordpress 换回了 Typecho,最终还是简洁易操作的 Typecho 俘获了我的心。
完全没有说 WordPress 相比 Typecho 起来,不好或是贬低。
只是 WordPress 始终用不习惯。

以前都没有注重过 Typecho 的安全性和性能,
只不过是安装了之后,上 Cloudflare 添加一些 WAF 规则就完事了,
安全性和性能什么的,管他呢,反正人和程序有一个能跑就行。

最近想折腾一下这些方面的东西,
所以搜了一些教程,在这里汇总一下,方便以后跑路重开时候用。

个性化管理地址

参考地址如何自定义后台路径 - Typecho Wiki

其实也就是改掉后台管理地址URI,从admin改为自定义的。

如果模板的前端有显示后台登录入口,需要先在控制台 -> 外观 -> 设置外观中关闭,不然修改的意义就不存在了。

打开编辑 Typecho 程序根目录下的config.inc.php文件,并寻找这行

// admin directory (relative path)
define('__TYPECHO_ADMIN_DIR__', '/admin/');

其中的'/admin/'就是我们可以进行更改的地方,例如改成这样

define('__TYPECHO_ADMIN_DIR__', '/wp-admin/');

总之改成你想要的名字

还没结束,我们还得将 Typecho 程序根目录下的admin/文件夹一同重命名
如果使用 ssh 命令修改

sudo mv admin/ wp-admin/

如果使用了 Web 控制面板,则可以直接在控制面板中更改

这样我们访问的时候通过https://Your-Website.com/wp-admin就可以进入后台管理页面了。
当然建议改成一般人想不到的,无规律的,这样用扫描程序扫的时候才不容易扫到。

这样做的意义是对攻击者对后台管理进行字典爆破攻击以及 Typecho 程序的 0Day 攻击起到一定的防护作用。
建议最好将 Typecho 程序升级至最新版本以免遭受漏洞攻击。

个性化Html Meta 信息

参考地址自定义头部信息输出 - Typecho Wiki

默认情况下 Typecho 的设定是当发生请求时,返回Html包含 Typecho 标识的 Meta 信息

<meta name="generator" content="Typecho 0.8/10.8.15" />
<meta name="template" content="default" />

以下方法可以不让访问者或是攻击者直接得知我们使用的是 Typecho 程序。

打开编辑当前使用模板根目录下的header.php文件,找到这个部分

<?php $this->header(); ?>

header()函数中加上我们想修改的参数,就如

<?php $this->header('generator=&template='); ?> //generator与template的meta都不输出
<?php $this->header('generator=wordpress&template=default'); ?> //generator输出为wordrpress,template输出为default

这样也能一定程度迷惑攻击者

修改网站的nginx配置文件

按需配置即可,我这里是把用得到的静态文件都上传到了对象存储,所以不用访问usr/文件夹。
并且我开启了伪静态

location ~* ^/(usr|var|install)/.*\.(php)$ {
    deny all;
}

这样设置usr/var/install文件夹就无法访问了,所有相关请求都会返回403错误。
或者这样

location ~* ^/(usr/plugins|var|install)/.*\.(php)$ { #允许访问usr目录下的themes/uploads文件夹,禁止访问plugins文件夹
    deny all;
}

DDos攻击防御

最简单的就是上Cloudflare,有效而且方便。
或者使用腾讯云CDN,有2G免费额度,个人网站差不多了吧。

这个问题用钱才能完全解决。

添加新评论