云服务器安全到底防什么:从暴力破解到横向移动 核心要点图解,云服务器安全的核心是管住入口、限制权限、切断横向移动三条线。;SSH改端口只是降噪,禁用密码登录+密钥认证才是根本。;安全组只放行必要端口,内网互通是最常见的横向移动温床。;定期审计登录日志与异常进程,比事后重装系统成本低得多。
云服务器安全到底防什么:从暴力破解到横向移动 · 核心要点一图读懂(AegisX)

核心要点(TL;DR)

  • 云服务器安全的核心是管住入口、限制权限、切断横向移动三条线。
  • SSH改端口只是降噪,禁用密码登录+密钥认证才是根本。
  • 安全组只放行必要端口,内网互通是最常见的横向移动温床。
  • 定期审计登录日志与异常进程,比事后重装系统成本低得多。

很多站长把云服务器买回来、装好环境、跑通业务就以为万事大吉,直到某天收到云厂商的挖矿告警,或者发现CPU莫名跑满、网站被挂马,才意识到「云服务器安全」这四个字到底意味着什么。更麻烦的是,攻击者往往不是只打一台机器——一旦拿到一台低配跳板机,就会用它向内网其他主机横向移动。本文按真实攻击链拆解威胁全景,并给出可以直接复制执行的排查命令与加固步骤,面向需要自己动手的运维和站长。

一、威胁全景:攻击者从入口到扩散的四步

云服务器安全要防的不是单一病毒,而是一条完整的攻击链。理解这条链,才知道每一层该配什么防护。

阶段典型手法主要防护点
入口突破SSH/RDP暴力破解、Web漏洞、弱口令密钥认证、安全组、WAF
立足持久化写authorized_keys、crontab后门、计划任务文件完整性、账号审计
权限提升SUID滥用、内核漏洞、sudo配置错误最小权限、补丁管理
横向移动内网SSH复用密钥、数据库弱口令、内网扫描内网隔离、东西向管控

多数入侵事件里,前两步就能拦住八成攻击者。真正造成大面积损失的,往往是第三步和第四步没做隔离。

二、第一道防线:把暴力破解挡在门外

暴力破解是最廉价、最普遍的入口。公网暴露的22端口每天被扫数千次是常态。加固按以下顺序做:

  1. 禁用密码登录,改用密钥。编辑 /etc/ssh/sshd_config,设置 PasswordAuthentication no、PermitRootLogin no、PubkeyAuthentication yes,然后 systemctl reload sshd。改之前务必确认自己的公钥已写入 ~/.ssh/authorized_keys 并测试通过,否则会把自己锁在门外。
  2. 安全组只放行必要来源。22端口不要对 0.0.0.0/0 开放,限制为固定办公IP或跳板机IP;数据库3306、6379等端口绝不暴露公网。
  3. 加一层失败封禁。安装fail2ban,配置sshd规则,连续失败5次封禁1小时,能显著压低爆破噪音。
改端口只能减少扫描日志,不能替代密钥认证。攻击者做全端口扫描的成本极低。

三、第二道防线:Web入口与持久化后门排查

Web应用是另一大入口,常见于文件上传、命令执行、弱口令后台。被拿下后,攻击者第一件事是留后门。按下面命令逐项检查:

# 查看最近登录与失败记录
last -a | head -20
lastb | head -20

# 检查是否被写入可疑公钥
cat ~/.ssh/authorized_keys
find / -name authorized_keys 2>/dev/null

# 检查计划任务后门
crontab -l
ls -la /etc/cron.*

# 查看异常监听与连接
ss -tunlp
ss -tnp | grep ESTAB

重点看三样东西:新增的UID 0账户(awk -F: '==0' /etc/passwd)、不认识的监听端口、指向陌生IP的外联。发现任何一项异常,先隔离机器再深入分析,不要在生产机上边查边改。

四、第三道防线:切断横向移动

横向移动之所以危险,是因为内网机器之间往往「全通」:一台被攻陷,攻击者用同样的弱口令或复用的SSH密钥就能跳到下一台。切断它靠三件事:

  • 东西向隔离。按角色划分安全组,Web层只能访问应用层指定端口,应用层才能访问数据库,禁止同网段默认互通。
  • 凭据不复用。每台机器独立密钥,禁止把同一把私钥铺满所有主机;数据库按业务分账号,禁止root远程登录。
  • 内网访问留痕。开启SSH登录审计,把auth日志集中收集,出现「A机器登录B机器」的异常链路时能第一时间发现。

排查时可执行 ss -tnp | grep -v 127.0.0.1 查看本机主动发起的内网连接,结合 grep 'Accepted' /var/log/secure 核对来源IP,判断是否存在非预期的横向访问。

五、日常检查清单与行动建议

安全不是一次性配置,而是每周十分钟的例行检查。建议把下面清单固化成脚本:

  1. 失败登录量是否突增(lastb | wc -l)。
  2. authorized_keys、crontab、sudoers是否有非预期变更。
  3. 监听端口是否多出未知服务。
  4. 是否存在UID 0的新账户。
  5. CPU与出网流量是否异常。

在防护建议上,除了自建脚本,也可以借助主机侧安全能力做兜底:AegisX提供异常登录检测、基线核查与入侵告警,能把上面这些人工检查项自动化,适合没有专职安全团队的站点。但工具只是辅助,入口收敛、权限最小化、内网隔离这三条原则才是云服务器安全的根本。今天就先把SSH密码登录关掉、把安全组的0.0.0.0/0规则清一遍,收益立竿见影。

常见问题(FAQ)

云服务器被暴力破解了怎么办?

先立即阻断来源:在安全组或firewalld中封禁攻击IP,并临时只允许自己的管理IP访问22端口。然后检查/var/log/secure或auth.log确认是否有成功登录记录,用last和lastb核对登录来源。若发现异常登录,立刻修改所有账户密码、轮换密钥、检查crontab与~/.ssh/authorized_keys是否被植入后门,必要时重装系统并从备份恢复数据。

SSH只改端口不改密码安全吗?

不够。改端口只能减少扫描噪音,攻击者用全端口扫描几分钟就能找到新端口。真正的加固是禁用密码登录,改用密钥认证,并在sshd_config中设置PasswordAuthentication no、PermitRootLogin no,再配合fail2ban限制失败次数。这样即使端口暴露,暴力破解也基本失效。

怎么判断云服务器是否已被横向移动?

重点看三处:一是内网连接,用ss或netstat查看本机主动连接其他内网IP的异常端口;二是登录日志,检查是否有来自内网其他主机的SSH登录;三是账户与计划任务,排查新增用户、sudoers变更和异常cron。若多台机器在同一时间段出现相似异常进程或外联,基本可判定已发生横向扩散,应隔离网段逐台排查。

安全组应该怎么配置才合理?

遵循默认拒绝、按需放行。入方向只开放业务必需端口,管理端口22/3389限制为固定办公IP;出方向对数据库、内网管理端口做白名单,避免被攻陷后随意外联。禁止0.0.0.0/0开放数据库和高危管理端口,内网机器之间也不要全通,按角色划分安全组,只放行必要的东西向流量。

没有专业安全团队,日常该做哪些检查?

建立一份每周十分钟的清单:查lastb失败登录量、查authorized_keys与crontab变更、查监听端口是否多出未知服务、查系统账号是否有新增UID 0用户、查磁盘与CPU异常占用。把这些命令写成脚本定时输出报告,比事后排查省事得多。有条件可接入AegisX的主机入侵检测与基线核查,自动发现异常登录和配置漂移。