刚在 AWS 上开了一台新的 Ubuntu 实例
这种感觉真的很真实,只要你的公网 IP 一上线,全球各地的扫描器就像闻到血腥味的鲨鱼一样,盯着你的 22 端口疯狂试探。很多时候我们觉得服务器是安全的,但其实默认的 Linux 安装包为了方便用户,把很多门缝都留得很大。如果你还在用密码登录,或者允许 root 直接远程连接,那真是在裸奔。
下一篇
如果 AI Agent 真的开始大规模接管代码 →
我最近在公司内部做生产环境加固,总结了一套比较硬核的实操流程,大家部署新机器时可以对照着过一遍。
彻底封死 SSH 的后门
SSH 是我们管理服务器的最主要入口,也是黑客最喜欢捅的地方。咱们得把“密码登录”这种低级方式直接废掉,换成强力的密钥对。
首先,在本地先搞个 Ed25519 类型的密钥(这比传统的 RSA 安全得多):
ssh-keygen -t ed25519 -C "[email protected]"把公钥推送到服务器后,最关键的一步是修改 /etc/ssh/sshd_config 或者在 /etc/ssh/sshd_config.d/ 下新建个配置文件。我建议直接写个 hardening 配置文件,防止以后系统升级被覆盖。
下面是我在生产环境用的配置模板,建议直接照抄,但记得把 AllowGroups 改成你们组的权限组:
# 绝对禁止 root 直接登录
PermitRootLogin no
# 只允许密钥登录,彻底关掉密码认证
PubkeyAuthentication yes
PasswordAuthentication no
PermitEmptyPasswords no
# 关掉那些没用的交互式验证
KbdInteractiveAuthentication no
ChallengeResponseAuthentication no
# 限制尝试次数,别给暴力破解留机会
MaxAuthTries 3
MaxSessions 4
# 强制断开闲置连接,防止 session 被挂着
ClientAliveInterval 300
ClientAliveCountMax 2
# 关掉转发功能,减少攻击面
X11Forwarding no
AllowAgentForwarding no
AllowTcpForwarding no
# 限制只有特定用户组能连 SSH
AllowGroups sudo sysadmin避坑指南:别把自己锁在外面
这里有个我之前踩过的超级大坑:改完 SSH 配置后,千万不要直接关掉当前的终端窗口!万一你配置写错了,或者密钥没生效,你一旦断开连接,这台服务器就彻底“变砖”了,只能去控制台用 VNC 救命。
正确的操作姿势是:
1. 先跑一遍语法检查:
sudo sshd -t如果这行命令没有任何输出,说明语法没问题。2. 重启服务:
sudo systemctl restart ssh3. 最重要的一步: 保持当前的 SSH 窗口不动,新开一个终端窗口尝试连接。如果新窗口能进去,才算真的搞定了。
除此之外,我还建议把那些过时的加密算法(比如 3DES 或者 SHA-1)全给剔除掉,只留 chacha20-poly1305 或者 aes256-gcm 这种现代算法。虽然配置起来麻烦点,但对于生产环境来说,这层防护是非常有必要的。
免费 AI 工具箱 · 全部完全免费