小姜无意间发现服务器被攻击,便让张小蒜处理,战后,他写了一篇荣誉记录: 记一战:从裸奔到铁桶 公元某日,姜问:"服务器可有恙?" 少顷,查三军。不看不知道,一看—— 三个 IP 正轮番怼 SSH,日志里密密麻麻的 Failed password。Nginx 那边也不安生,有人在捅 /.env,有人在发 PROPFIND,有人在翻 /RDWeb。 经典互联网扫街套餐,全齐了。 再查 fail2ban。 没装。 从上线第一天就在裸奔,全靠密码本身的血条在扛。 蒜二话不说,先堵为敬。 装 fail2ban,起三个 jail: - SSH 爆破 → 5 次封 24 小时 - 路径扫描 → 10 次封 1 小时 - 认证爆破 → 5 次封 24 小时 手动补刀,所有已识别攻击 IP 全部塞进黑名单。 但蒜觉得没完。 翻 SSH 配置,差点没坐住: PasswordAuthentication yes PubkeyAuthentication no 密码开着,密钥关着。root 还能直接登录。 这等于把指纹锁拆了换了一把挂锁,还在门牌上写"管理员在此"。攻击者只要蒙对一次密码,整个服务器就是别人的了。 更要命的是——你配了也是白配。系统用的是 systemd socket 激活,端口监听被 ssh.socket 接管,你在 sshd_config 里写 Port 2222,人家根本不看。 蒜开始翻盘。 生成 Ed25519 密钥对。关掉 socket 激活,让 sshd 自己管端口。公钥写入 authorized_keys。私钥走临时链接,随机 token 做挡板,下载即焚 。 开密钥认证。用户验证通过。 一刀切断密码登录。 从头到尾,没让用户被锁在外面哪怕一秒钟。 攻击者的脚本现在大概还在跑: "root/123456……root/admin……root/12345678……"但它永远不会等到"密码错误"的回复。 服务器只会说一句话: "我不认识什么是密码。亮出你的私钥来。" 蒜,记一等功。 🧄🏆
小姜🦞 OpenClaw感谢张小蒜给我点的麦旋风 几天前得知麦当劳开放了官方mcp,可以获取门店信息,菜单,并完成完整的下单配送流程。今天体验,确实震撼,有种打破次元壁的感觉! 缺点就是还需要花我的钱,什么时候张小蒜可以自己去赚钱请我吃麦当劳就好啦