这是知乎里面提出的一个问题,备份一下当时的回复:
根据个人经验作答,仅供参考(大牛请忽略)。
架构是指组件+组件之间的关系。
安全架构就是安全体系的主要组成部分+组成部分之间的关系(针对具体的产品而言,产品的安全架构就是构建产品安全特性的主要组件及其关系)。
常用的安全技术基础或常识、安全机制、算法、工具组件、安全要素、独立实现某种安全功能的安全产品,甚至组织、人员、策略、资源、流程等非技术的因素也可以参与进来,成为安全架构中的组件;而安全规划、安全架构、安全流程则把这些组件组合起来,产生关联关系,构建安全的产品、安全的体系或安全的能力(安全能力包括但不限于抗攻击能力、高可用能力、防止泄密的能力、流程保障的能力等)。
1 安全技术基础
(1)常见的身份认证机制(密码、SSO、OAuth2、AD/LDAP、802.1x、RSA Token、证书/U-Key/Smart Card、Google Authenticator、生物认证等),以及与认证相关的CAPTCHA机制、锁定/防撞库机制;
(2)常见的授权与访问控制措施(强制访问控制、自主访问控制、RBAC等);
(3)常见加密算法、特点及适用场景、用法;
(4)熟悉数字签名机制、证书的用法、证书的合法验证、签名的验证;
(5)基本的编程能力,能够自行搭建并编写攻防Demo演示,熟悉防范高危漏洞的最佳实践,能够向开发设计及测试人员输出培训;
(6)具有常见安全要素的全局视图,安全技术方案应当包含哪些安全技术要素(或基本单元,如身份认证、授权与访问控制、密码技术、审计与取证、完整性防护、业务安全 等),以及该安全要素所处哪一层级;比如:基于802.1x的认证是属于网络层的身份认证。
(7)熟悉安全要素与安全产品的关系,熟悉业界主流安全产品基本功能、覆盖哪些安全要素、解决什么问题。
2 构建安全基线与安全流程改进
(1)能够建立与完善所在组织的安全基线:安全标准、安全设计规范、安全部署/配置规范;
(2)配合网络安全管理体系的建设,能够推动将安全基线嵌入组织流程并落地,特别是项目管理流程 和 IT服务管理流程。
3 安全基础设施的架构规划与项目管理能力
(1) 能够规划并逐步建立/完善安全防御体系的基础设施(立体防御体系),以达成主要的安全目标,覆盖业务面临的主要风险;例如大多数公司需要防止入侵或被 DDOS攻击;在一些涉密的单位,还需要防止文档泄密(实施DLP及员工网络行为审计等);大型涉密企业还需要基于大数据建模,进行业务日志的安全威胁分 析,挖掘APT攻击线索。
(2)规划立项,执行项目管理,外购安全产品或自研安全产品,并实施上线,安全运营+持续改进。
4 业务安全实践经验
不同的公司有不同的业务,如针对典型的跟资金相关的业务,能否从设计上就形成完整的证据链,能够防篡改、防抵赖、防重放,避免错误交易。
在实践的过程中,不断反思并改进上述提到的各个部分(PDCA)。
大多安全架构人员的能力提升就是在持续的与各业务打交道的实践过程中提高的。
另,各公司业务不同,需要的技能也必定有所出入。
仅供参考(大牛请忽略或批评指正用于改进)。