在AWS、DigitalOcean、Hetzner或数据中心机房里,一台全新虚拟机的公网IP刚生效,倒计时就开始了。
几分钟内,全球各地的自动化机器人和端口扫描器就会盯上你的服务器。它们扫22端口、试成千上万组默认密码、探测开放端口、测试已知漏洞。如果你的Linux跑在默认配置上,被攻破只是时间问题。
![]()
默认安装的Ubuntu、Debian、Rocky Linux或AlmaLinux,设计目标是方便,不是堡垒级安全。默认配置常常开着密码认证、允许root登录、暴露无用端口,内核参数也按通用桌面负载调校,而非高安全生产环境。
安全不是装一个工具就完事
安全是纵深防御的过程——在系统周围堆叠多层重叠的保护。攻击者突破一层,下一层会拦住他们。下面这份经过实战检验的Linux安全清单,可以从第一天开始加固你的生产服务器。
SSH(安全外壳协议)是你最主要的管理入口,也因此成为自动化暴力破解的头号目标。加固SSH是服务器安全的第一步,也是最关键的一步。
所有SSH服务端配置都在/etc/ssh/sshd_config或/etc/ssh/sshd_config.d/目录下的模块化文件里。
三条铁律:禁root直登、禁明文密码、只认密钥
永远不允许通过SSH直接登录root账户,永远不允许使用明文密码。必须要求加密的SSH密钥对(优先用Ed25519密钥)。
如果本地还没生成密钥,先执行:
$ ssh-keygen -t ed25519 -C "admin@yourcompany.com"然后把公钥复制到远程服务器:
$ ssh-copy-id -i ~/.ssh/id_ed25519.pub asep@203.0.113.10接着编辑服务器上的SSH守护进程配置:
$ sudo nano /etc/ssh/sshd_config.d/99-hardening.conf推荐加入以下加固指令
- 禁用SSH root登录:
PermitRootLogin no - 只启用公钥认证:
PubkeyAuthentication yesPasswordAuthentication noPermitEmptyPasswords no - 关闭旧版认证方式:
KbdInteractiveAuthentication noChallengeResponseAuthentication noGSSAPIAuthentication no - 限制单连接认证尝试次数:
MaxAuthTries 3MaxSessions 4 - 闲置SSH会话10分钟后自动断开:
ClientAliveInterval 300ClientAliveCountMax 2
这些配置改完后,记得重启SSH服务让改动生效。生产环境操作前建议先开一个备用会话,避免把自己锁在门外。
防火墙是第二道闸门
SSH加固只是第一层。接下来要配置防火墙,只放行必要的端口,其余一律拒绝。默认安装往往开放了用不到的服务端口,这些端口都是攻击面。
用ufw或firewalld这类工具,按最小权限原则只开放业务真正需要的端口。比如Web服务器只开80和443,数据库端口绝不暴露公网。
最小权限原则贯穿始终
除了SSH和防火墙,系统里每个用户、每个进程都该遵循最小权限。普通用户不该有sudo权限就别给,服务进程不该
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.