侧边栏壁纸
博主头像
Disue · 迪素

Carpe diem

  • 累计撰写 12 篇文章
  • 累计创建 10 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

1Panel 与 Halo 博客安全加固实战指南

Disue
2026-04-08 / 0 评论 / 0 点赞 / 3 阅读 / 0 字

在公网环境下运行博客,安全是第一要务。本文将从面板、传输、防火墙、应用及系统五个维度,详细介绍如何构建一个“堡垒级”的 Halo 博客。

1. 1Panel 面板层:锁死“后台大门”

1Panel 是服务器的管理中枢,必须优先采取“物理隔离”策略,防止非法探测。

  • 修改默认端口: 默认端口(如 8888)极易被批量扫描工具命中。请在 面板设置 -> 安全 中将其修改为 10000-60000 之间的随机端口。

  • 配置安全入口: 设置一个复杂的安全路径(如 /top_secret_access)。只有“IP:端口+路径”完全匹配时才会显示登录页,有效隐藏攻击面。

  • 强制两步校验 (MFA): 开启基于时间的一次性密码(TOTP,如 Google Authenticator)。即使密码不慎泄露,没有手机动态码,黑客也无法逾越。

  • (进阶)授权 IP 访问: 如果你有固定公网 IP 或使用特定 VPN,可设置仅允许特定 IP 段访问面板,实现精确定点访问。

2. 网络传输安全:全链路加密

没有 SSL 证书的博客不仅用户体验差,更面临账号密码被中间人截获的风险。

  • 自动化 SSL 部署: 利用 1Panel 内置的证书管理,申请免费的 Let's EncryptZeroSSL 证书,并配置自动续期。

  • 强制 HTTPS 跳转: 在网站设置中开启 HTTP 自动跳转 HTTPS,确保所有流量均在加密通道内传输。

  • HSTS 加固: 在 Nginx 配置中加入 Strict-Transport-Security 响应头,强制浏览器在后续访问中直接发起 HTTPS 连接,防范 SSL 剥离攻击。

3. 应用层防御:善用 WAF 防火墙

1Panel 集成了基于 OpenResty 的 WAF 功能,能有效过滤 SQL 注入、XSS 跨站脚本等常见 Web 攻击。

  • 开启 WAF:网站 -> 设置 -> WAF 中启用。它像一层隐形盾牌,过滤恶意流量。

  • 兼容性微调(重要): > 注意: Halo 在编辑文章时会提交包含 HTML 代码的内容,可能触发 WAF 的 XSS 拦截规则。

    • 解决方案: 若保存文章报错,请检查 WAF 拦截日志。精准定位被拦截的 URL 路径,将其加入白名单,或针对该接口放行相关规则,切忌因为嫌麻烦而关闭整个防火墙。

4. Halo 应用加固:内防堡垒

Halo 自身的配置直接决定了业务数据的安全性。

  • 关闭注册通道: 个人博客应在 设置 -> 用户 中关闭“允许注册”功能,杜绝垃圾用户注册带来的资源损耗。

  • 异地容灾备份: * 利用 1Panel 计划任务,每日凌晨定时备份数据库及附件。

    • 核心建议: 备份文件务必上传至第三方云存储(如阿里云 OSS、S3 或你的另一台 NAS),防止服务器硬件损坏或被黑导致的“一锅端”。

  • 避坑指南: * 切勿对 Halo 开启“网站防篡改”:由于 Halo 运行在 Docker 容器内且会有频繁的附件写入操作,开启此功能会导致图片上传失败或主题更新报错。

5. 服务器系统级防护:守好最后防线

系统层的松懈会导致以上所有努力前功尽弃。

  • 最小化端口暴露:主机 -> 防火墙 中执行“默认拒绝”策略。仅放行 80 (HTTP)、443 (HTTPS) 以及修改后的 SSH 和面板端口。

  • SSH 安全策略: 1. 修改默认 22 端口。

    2. 禁用密码登录,仅允许 SSH 密钥(Key)登录,彻底终结暴力破解的可能性。


总结:安全配置核对表

检查项

操作建议

优先级

传输加密

申请 SSL 证书,配置自动续期,开启 HSTS

极高

备份策略

1Panel 计划任务定时备份,并同步至异地云端

极高

面板安全

修改随机端口、设置安全路径、开启 MFA 校验

WAF 防火墙

开启 WAF 过滤,针对 Halo 后台接口配置白名单

系统防护

修改 SSH 端口,改用密钥登录,关闭冗余端口


💡 小贴士:

每次修改安全配置(尤其是端口、路径或 IP 限制)后,请务必先用浏览器的无痕模式(Incognito)进行登录测试。确保配置生效且自己拥有访问权限,避免因配置错误将自己“反锁”在系统之外。

0

评论区