服务器负载:load average、I/O wait 与 swap
为什么 load average 为 8 可能是健康的,为 2 却可能是事故;忙碌的处理器与系统正在等待的磁盘有何不同;以及 swap 涨上去一次却再也回不到零意味着什么。
阅读仔细看看那些本来就跑在你服务器上的工具:它们显示什么、输出怎么读,以及人们通常在哪儿看走眼。
为什么 load average 为 8 可能是健康的,为 2 却可能是事故;忙碌的处理器与系统正在等待的磁盘有何不同;以及 swap 涨上去一次却再也回不到零意味着什么。
阅读服务器上有别人的迹象,以及检查它们的顺序:登录记录、被改动的文件、外发连接。不必惊慌,也不必从头重装。
阅读恶意代码在重启和被删除之后仍能把自己重新拉起来的八个地方,以及五分钟内把整份清单查完的命令。
阅读Falco 能在一台普通服务器上盯着进程的行为:从 PHP 启动的 shell、正在读你密钥的人、从 /tmp 跑起来的挖矿程序。以及该关掉什么才不会淹没在噪声里。
阅读本地计数器对上共享信誉,为什么装完 CrowdSec 什么也没被拦,以及结果是什么从你的服务器走了出去。
阅读为什么 Suricata 的默认配置两天就吃光磁盘,eve.json 里该保留什么,以及怎样在没有三件套的情况下读 alert。
阅读为什么 CRS 会拦住你自己的表单,怎样在日志里找到肇事规则,以及在不关掉防护的前提下做例外的三种办法。
阅读端口扫描不会在应用日志里留下痕迹,所以 Fail2ban 看不见它。怎样配置 PSAD,以及为什么不在 UFW 里打开日志记录它就什么都不显示。
阅读配置文件把程序限制在它该做的事情之内,并把一个被黑的站点变成一桩小麻烦。默认开启了什么,以及怎样在不弄坏服务的前提下加上一份配置。
阅读刚装好时 auditd 几乎不记录任何有用的东西。一套能回答事故之后那些问题的规则集,以及不用背 ausearch 就能读懂结果的方法。
阅读现成的完整性基准,其实已经在每一个 Debian 和 Ubuntu 软件包里了。怎么用它、为什么有些结果是合理的,以及为什么它的覆盖并不完整。
阅读怎样配置完整性监控才能让报告真的被读:该排除什么、数据库放在哪里,以及为什么绝不能盲目地运行 aide --update。
阅读当一切都慢下来时检查数据库的顺序:连接数、慢查询、缓冲区大小。外加两样悄悄吃掉磁盘的东西。
阅读一台没有 Windows 的服务器为什么还要 ClamAV,为什么它防不住入侵,clamd 要多少内存,以及怎样扫描上传目录而不是整块磁盘。
阅读怎样读 Lynis 的报告,哪些建议带来真正的收益,哪些对 VPS 根本不适用,以及为什么不会有 100 分。
阅读certbot 悄悄停止续期证书的五个原因,以及为什么该检查服务器实际给出的东西,而不是磁盘上的文件。
阅读为什么 df 显示还有若干 G 空闲却同时报「no space left」,删掉却没释放空间的文件去了哪里,以及哪些 SMART 属性真正预示着故障。
阅读怎样读 ss 的输出,0.0.0.0 与 127.0.0.1 有什么区别,以及为什么公网地址上没有密码的 Redis 意味着一小时内就会被攻破。
阅读Monit 的检查与 systemd 的 Restart=always 有何不同,怎样避免没完没了的重启循环,以及为什么 2812 端口上的 Web 界面不该朝外。
阅读怎样配置 unattended-upgrades,让补丁自己装上而夜里不会有东西倒下,以及为什么 reboot-required 这个标记不能无视。
阅读除了 sshd 还该开启什么,bantime 和 maxretry 取什么值才合理,以及为什么在 Debian 12 上 sshd 这个 jail 常常什么也抓不到。
阅读规则顺序、从过滤器旁边溜走的 IPv6、绕过 UFW 发布端口的 Docker,以及为什么「status active」还不等于端口关上了。
阅读十分钟用密钥替代密码:关掉之前怎样自我验证,为什么名为 90-hardening.conf 的文件会输给云镜像那一个,以及 Ubuntu 24.04 上的 ssh.socket 该怎么办。
阅读怎样设定详细程度让邮件能放进一屏,先读哪些部分,以及为什么在 Debian 12 上 SSH 那一节是空的。
阅读