一、安全基线:远程运维安全概述、常见威胁模型、安全基线概念与制定原则
1.1 远程运维安全概述
说实话,远程运维这事儿,我干了快十年了。刚入行那会儿,大家觉得能远程连上服务器就行,谁管什么安全不安全?后来嘛……嗯,吃过亏才长记性。
远程运维,说白了就是运维人员不在机房现场,通过网络对云平台进行管理。听起来方便,对吧?但你想啊,网络是开放的,你连上去的那一刻,攻击者可能也在盯着你。
我个人习惯把远程运维安全拆成三个维度来看:
- 身份维度——谁在连?是不是你本人?
- 通道维度——连的过程安全吗?会不会被偷听?
- 行为维度——连上去之后干了什么?有没有越权操作?
我在项目中遇到过一家公司,他们远程运维只用密码认证,连SSH密钥都不用。结果呢?某天发现服务器上多了个挖矿进程。查了半天,是弱口令被扫到了。你说冤不冤?
所以,远程运维安全不是锦上添花,是底线。
1.2 常见威胁模型
做安全,你得先知道敌人是谁。我习惯用STRIDE模型来梳理威胁,简单实用。
| 威胁类型 | 说明 | 远程运维场景举例 |
|---|---|---|
| Spoofing(假冒) | 攻击者伪装成合法用户 | 盗用运维人员的SSH密钥或密码 |
| Tampering(篡改) | 数据在传输中被修改 | 中间人攻击,篡改运维命令 |
| Repudiation(抵赖) | 操作者否认自己的行为 | 运维人员删了数据,却说不是自己干的 |
| Information Disclosure(信息泄露) | 敏感数据被窃取 | 运维日志被拖库,暴露了服务器配置 |
| Denial of Service(拒绝服务) | 服务不可用 | 攻击者爆破SSH端口,导致正常运维连不上 |
| Elevation of Privilege(权限提升) | 低权限用户获得高权限 | 普通运维账号通过漏洞提权到root |
你想想看,这六种威胁,哪个离我们远?都不远。我曾经见过一个案例:攻击者通过窃取的运维凭证登录了云控制台,然后创建了一个高权限的RAM用户,把整个数据库都导走了。整个过程,日志里干干净净——因为攻击者顺手把审计日志也关了。
1.3 安全基线概念
安全基线是什么?我打个比方你就懂了。
你开车上路,安全带、后视镜、刹车——这些是标配,是底线。你不能说「我今天心情好,不系安全带」。安全基线就是运维环境里的「安全带」。
具体到远程运维,安全基线就是一套最低限度的安全配置要求。它不追求极致安全,但保证你不裸奔。
举个例子,我参与过的一个项目,给远程运维定了这么几条基线:
- 所有远程连接必须使用SSH密钥,禁止密码登录
- SSH端口不能是默认的22,改成高位端口
- 必须开启操作审计日志,保留至少180天
- 运维账号必须绑定双因素认证(MFA)
你看,这些要求不高吧?但能做到的企业,其实不多。
1.4 制定原则
制定安全基线,我总结了四个字:够用就好。
别笑,这是真话。我见过有人把安全基线写得跟论文似的,几十页,结果运维团队根本执行不下去。为什么?太复杂了。
我个人习惯遵循这几个原则:
- 可落地——每条基线都要能检查、能验证。比如「使用强密码」就不如「密码长度≥16位,包含大小写字母、数字和特殊字符」来得实在。
- 分场景——开发环境、测试环境、生产环境,基线可以不一样。生产环境严一点,开发环境松一点,别一刀切。
- 可自动化——能用脚本检查的,就别让人手工核对。我习惯用Ansible或Terraform来批量检查基线合规情况。
- 持续迭代——基线不是写一次就完事了。云平台在变,威胁在变,基线也得跟着变。
这里我分享一个避坑指南:我曾经帮一家公司制定基线,把「禁止root远程登录」写进去了。结果他们有个老系统,必须用root才能运维。怎么办?硬改基线?还是改系统?最后我们加了个例外条款——特殊情况走审批流程。你看,基线要有弹性。
1.5 知识体系总览
下面这张图,是我梳理的本章知识结构。你看一眼,心里就有数了。
这张图把本章的核心脉络串起来了。从安全概述出发,认清威胁,理解基线,最后落到制定原则上。你照着这个思路往下学,不会乱。
公众号:蓝海资料掘金营,微信deep3321