近期文章

我的服务器4小时被扫了 500 多次

这是「把自己部署到互联网上」系列的第 15 篇。

前几篇一直在写服务器安全:不要急着部署项目,不要长期用 root 登录,分清安全组和防火墙,也不要随便开放数据库端口。这些看起来感觉有点水文章的嫌疑:dog:

查看日志

直到我真的去看服务器日志,看到陌生 IP、异常请求和登录尝试,才有了更直接的感受:公网服务器不是等你部署项目的安静机器。只要它有公网 IP,就已经进入了一个会被扫描、探测和尝试访问的环境。

在看日志之前,我也有过一种侥幸:我这只是个人博客,没有访问量,也没有什么值钱业务,肯定没人专门盯上。我们平时说安全、后门等,一想到就是大公司、核心业务、支付接口和用户数据。个人项目听起...

为什么不要随便开放数据库端口?

这是「把自己部署到互联网上」系列的第 14 篇。

上一篇讲了防火墙和安全组的区别。安全组控制云平台入口流量,防火墙控制服务器系统层面的访问。理解这两层之后,端口就不能再凭感觉乱放行。

这一篇继续讲端口,重点是一个很容易踩的坑:为什么不要随便开放数据库端口?

部署个人博客时,必须要有数据库。可能是 MySQL,也可能是 PostgreSQLRedis,或者项目自带的数据库服务。当本地工具连不上数据库时,很多人的第一反应是:是不是端口没开?于是去安全组里放行 3306、5432、6379,再改防火墙,甚至把数据库监听地址改成 0.0.0.0。工具能连上了,看起来问题解决了,但风险也被一起打...

防火墙和安全组到底有什么区别?我终于搞懂了

这是「把自己部署到互联网上」系列的第 13 篇。

上一篇,我处理了服务器安全里的第一件事:不要一直用 root 登录服务器。

我创建了普通用户,给它配置 sudo 权限,并且提醒自己:在确认普通用户能正常 SSH 登录之前,不要急着禁用 root。

用户权限处理完之后,下一步就要面对另一个很容易混淆的问题:

防火墙和安全组到底有什么区别?

这个问题我以前也没有真正分清楚。

很多教程会说:开放 80 端口,开放 443 端口,检查防火墙,检查安全组。

但如果第一次自己搭服务器,就很容易困惑:

安全组不是防火墙吗?

我在云平台放行了端口,为什么服务器里还要配防火墙?

我服务器防火墙放行了端口...

为什么不要一直用 root 登录服务器?

这是「把自己部署到互联网上」系列的第 12 篇。

上一篇我写到,买完服务器后,我没有急着部署项目,而是先处理基础安全。原因很简单:这台机器以后会长期暴露在公网,不是本地开发环境,也不是一次性测试机。如果一开始只图快,很容易把风险留到后面。

这一篇先处理最基础的一步:不要一直用 root 登录服务器

很多云服务器创建实例后,会默认提供 root 登录。root 很方便,权限最大,想装软件、改配置、删文件都可以。但正因为它太方便,所以不适合作为日常维护用户。

长期使用 root 用户,会有什么问题

root 是 Linux 系统里的超级管理员,几乎可以做任何事。初始化服务器时,它确实省事;...

买完服务器后,我做的第一件事不是部署项目

这是「把自己部署到互联网上」系列的第 11 篇。

前面几篇,我把个人博客上线前最开始的一段路走完了:为什么要做个人博客,为什么要建设技术品牌,服务器怎么买,域名怎么选,备案怎么填,以及备案过程中容易遇到哪些问题。

到这里,博客入口已经有了轮廓:服务器有了,域名有了,备案也开始进入流程。按理说,下一步最让人兴奋的事,就是赶紧把博客部署上去。拉代码,装环境,启动服务,配端口,打开浏览器,看见页面能通过公网访问。

但我第一次连上服务器后,没有马上部署项目,而是先停下来想了一件事:这台机器以后会长期暴露在公网,不能一上来就把项目往上扔

买完服务器后,云平台会给我们一个公网 IP。第一次买属于自...

踩坑实录 2026-07-22

一次 xxxCMS 被黑实录:从 66 字节 WebShell 到隐藏在 PNG 里的后门

背景

最近阿里云推送了一个紧急高危漏洞安全告警,发现一个可疑木马文件:

20260721140850268

点击详情,如下图可查看具体的信息

20260721140949593

排查并修复

一、确认文件木马文件是否存在

先找到对应目录,查看文件状态:

sudo stat /www/xxx/xxx/core/template/bzze4ztt.php

输出显示:

File: /www/xxx/xxx/core/template/bzze4ztt.php
Size: 66
Uid: www
Gid: www
Access: 2026-07-18 11:34:30
Modify: 2026-07-08 03:19:05
Birth: 2026-07-08...

从想法到备案,我终于把个人博客的入口层打通了

这是「把自己部署到互联网上」系列的第 9 篇。

从第 1 篇到第 8 篇,这个系列完成了第一小段:从“我想做个人博客”,走到“个人博客的入口层基本成形”。

到现在为止,我还没有真正部署博客,也没有写 Docker Compose,没有配 Nginx,更没有上 HTTPS。如果只看可访问页面,好像还没有产出什么结果。但这一段并不是空转,它解决的是博客上线前最前置的问题:为什么要做?要做成什么?放在哪里?别人通过什么地址访问?这个网站由谁负责?

这些问题如果一开始没想清楚,后面的服务器安全、部署、证书、对象存储都会变成零散操作。所以这篇不讲新技术,做一次阶段复盘

一开始,我只是想写一个程序...

ICP 备案到底怎么填,才不容易被驳回?

这是「把自己部署到互联网上」系列的第 8 篇。

上一篇讲了域名实名认证、ICP备案和 DNS 解析的关系:实名认证确认域名归属,ICP备案确认网站责任和接入信息,DNS 解析决定访问请求去哪里。三者都和域名有关,但不是一回事。

这一篇进入更具体的问题:ICP备案怎么填,才不容易被驳回?

先说边界。备案规则会受主体类型、所在省份、接入商、云厂商流程和网站内容影响,平台页面也可能变化。所以这篇不是详细说明书,也不是万能模板。真正提交时,一定要以接入服务商和工信部备案系统的最新要求为准

备案流程

我的服务器从火山引擎买的,所以使用火山的备案,大家自由选择

官方备案文档

  1. 备案申请

企业备案...

域名实名认证、备案、解析,这三件事到底是什么关系?

这是「把自己部署到互联网上」系列的第 7 篇。

上一篇写完买域名后,我很快遇到三个词:域名实名认证、ICP备案、DNS 解析。它们经常出现在同一个云平台控制台里,也都发生在网站上线前后,所以第一次建站时很容易混在一起。

我一开始也有类似疑问:域名已经买了,为什么还要实名认证?实名认证完成后,为什么还要备案?备案通过了,为什么还要解析?解析是不是备案的一部分?备案是不是买域名时自动完成?

先给一个简单结论:

  • 域名实名认证确认域名属于谁;
  • ICP备案确认网站由谁负责、接入在哪里;
  • DNS 解析决定访问这个域名时,请求应该去哪里。
  • 三件事都和域名有关,但解决的问题完全不同。

为什么它们容易...

买域名那天,我第一次认真规划了自己的未来

这是「把自己部署到互联网上」系列的第 6 篇。

前面两篇,我先买了一台云服务器,又重新想了一遍服务器的后续维护成本。如果说服务器解决的是“内容和项目放在哪里”,那么域名解决的就是另一个问题:别人以后通过什么名字找到你

从流程上看,买域名并不复杂。

购买

在阿里云(万网平台)购买域名

阿里云万网官方

万网平台

在购买域名的时候,需要登录阿里云账户,登录之后,进行一个域名搜索,

域名搜索

查询之后,就可以看到域名是否允许购买,同时也会出现购买的价格。一些好的域名容易被人抢注,有些企业为了出现被人抢注的情况,企业也会把不同后缀的域名一块注册,方便企业发展。比如 baidu 这个域名。

域名搜索

输入自己想要的域名,...

发现更多