云与安全¶
主要内容
Linux 服务器管理不只是 SSH;Kubernetes 管容器编排;云平台提供计算、存储、网络、数据库;IaC 把基础设施代码化;DevSecOps 把安全检查前置到 CI/CD。
参考文档¶
Linux 服务器管理.md、Introduction to Kubernetes.md、云基础设施.md、基础设施即代码IaC.md、DevSecOps 操作.md、可观测性.md
知识地图¶
- 概念:先理解这个模块为什么存在。
- 工具:再看它通过哪些工具落地。
- 场景:最后判断什么时候该用,什么时候不该用。
核心整理¶
Linux 服务器管理不只是 SSH;Kubernetes 管容器编排;云平台提供计算、存储、网络、数据库;IaC 把基础设施代码化;DevSecOps 把安全检查前置到 CI/CD。
我在整理这部分时的重点是把工具放回工程场景,而不是孤立记名词。一个工具出现,通常是为了解决某种复杂度:协作复杂度、上下文复杂度、运行环境复杂度、系统规模复杂度或信息获取复杂度。
学习笔记¶
- 先读 Why,确认它解决的问题。
- 再读 What,建立概念边界。
- 再读 How,补命令、API、配置和实践。
- 最后用一个小 demo 验证。
实践清单¶
- 用自己的话解释本模块核心概念。
- 找一个最小 demo 跑通。
- 记录一个踩坑点。
- 把相关命令或配置写成可复用片段。
- 回看飞书原文,补齐遗漏的术语。
飞书思考题¶
会用 SSH 为什么不等于会管理服务器?¶
SSH 只是连接方式,管理还包括权限、安全、服务、日志、监控、备份、更新、容量和故障恢复。
为什么关闭密码登录能提高安全性?¶
公网服务器会被持续暴力破解。密钥登录比密码更难猜测,关闭密码登录能降低弱口令、撞库和自动化扫描风险。
为什么安全检查不能只靠一种扫描方式?¶
依赖扫描看不到业务鉴权问题,SAST 不一定覆盖运行时配置,容器扫描看不到业务逻辑。不同检查覆盖不同层。
Linux 服务器管理展开¶
SSH 只是入口。真正的服务器管理包括用户权限、服务运行、日志、监控、备份、安全更新、防火墙和事故恢复。
常见命令方向:
Tmux¶
Tmux 把会话和连接分离。SSH 断开后,tmux 里的进程还在。适合长时间任务、日志观察和多窗口排查。
Kubernetes¶
Kubernetes 管理容器集群。核心概念:
- Pod:最小调度单元。
- Deployment:声明副本和更新策略。
- Service:服务发现和负载均衡。
- ConfigMap/Secret:配置和敏感信息。
- Ingress:外部流量入口。
K8s 的本质是声明期望状态,然后控制器不断把实际状态调到期望状态。
云平台¶
云平台提供计算、存储、数据库、网络、安全和监控。AWS 是大而全的云服务;Vercel 更聚焦前端和 Next.js 部署。
IaC¶
手点控制台的问题是不可复现。IaC 用代码描述基础设施,适合版本管理和审查。Terraform 的 Provider 能管理不同平台资源。
DevSecOps 展开¶
安全左移不是多跑一个扫描,而是把安全变成开发流程的一部分。
- SAST:看源代码。
- DAST:跑起来扫描。
- SCA:依赖漏洞。
- Container scan:镜像漏洞。
- Secret scan:密钥泄露。
- IaC scan:配置风险。
CI 里最危险的是权限过大和 secret 泄露。fork PR、第三方 Action、日志输出都要谨慎。
可观测性¶
日志告诉我发生了什么,指标告诉我系统是否健康,链路追踪告诉我一次请求经过了哪里。没有可观测性,上线后只能靠猜。
知识卡片¶
最小权限¶
无论是服务器用户、GitHub token 还是云平台 key,都应该只给完成任务所需的最小权限。
Secret Rotation¶
密钥泄露后不能只删代码,还要吊销并重新生成。已经进入 Git 历史的 secret 默认视为泄露。
Health Check¶
健康检查不是简单 ping 存活,而是确认服务能否处理关键请求或依赖是否正常。