从 Wordpress 换回了 Typecho,最终还是简洁易操作的 Typecho 俘获了我的心。
完全没有说 WordPress 相比 Typecho 起来,不好或是贬低。
只是 WordPress 始终用不习惯。
以前都没有注重过 Typecho 的安全性和性能,
只不过是安装了之后,上 Cloudflare 添加一些 WAF 规则就完事了,
安全性和性能什么的,管他呢,反正人和程序有一个能跑就行。
最近想折腾一下这些方面的东西,
所以搜了一些教程,在这里汇总一下,方便以后跑路重开时候用。
个性化管理地址
其实也就是改掉后台管理地址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 的设定是当发生请求时,返回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免费额度,个人网站差不多了吧。
这个问题用钱才能完全解决。