构建Linux系统安全体系的10项原则(上)
极客时间编辑部
讲述:丁婵大小:2.29M时长:05:00
通过大量的实践经验,Linux 运维专家、系统专家、安全专家胥峰在其著作《Linux 系统安全:纵深防御、安全扫描与入侵检测》中,总结出 10 个最关键且有效的安全原则,具体如下。
1. 纵深防御
纵深防御(Defense in depth),也被称为“城堡方法(Castle Approach)”,是指在信息系统上实施多层的安全控制(防御)。为了保护核心数据,在多个层面进行控制和防御,一般来说包括:
物理安全防御,如服务器加锁、安保措施等;
网络安全防御,如使用防火墙过滤网络包等;
主机安全防御,如保障用户安全、软件包管理和文件系统防护等;
应用安全防御,如对 Web 应用防护等;
对数据本身的保护,如对数据加密等。
如果没有纵深防御体系,就难以构建真正的系统安全体系。
2. 运用 PDCA 模型
在实施了纵深防御策略以后,需要不断的检查策略的有效性,细致分析其中潜在的问题,调查研究新的威胁,从而不断地改进和完善。
动态运营安全是一条需要持续贯彻的原则,而 PDCA,即 Plan–Do–Check–Act(计划—执行—检查—改进)模型恰好能有效地辅助这种运营活动。
在安全领域实施 PDCA 的方法和步骤如下。
第一,在计划阶段
首先要梳理资产,做到“看得全,理得清,查得到”,资产梳理的方法包括使用配置管理数据库、网段扫描、网络流量分析、对相关人员(如业务方、运营方、开发方、运维方)进行访谈等。需要梳理的对象包括:服务器 IP 地址信息(公网、内网)、域名信息、管理平台和系统地址、网络设备 IP 地址信息以及与这些资产相关的被授权人信息。
其次,制定安全策略,包括安全工具、系统、平台等安全技术策略和制度、流程等安全管理策略。
再次,制定安全策略实施方案,包括具体的安全策略实施方法、实施负责人、实施步骤、实施周期。
最后,制定安全策略的验证方案,目的是在检查阶段能够以此为基准检查确认安全策略的有效性。
第二,在执行阶段
制定包括物理防护、网络防护、主机防护、应用防护和数据防护以及安全管理制度的实施方案。
第三,在检查阶段
按照计划阶段制定的验证方案验证安全策略的有效性,从而确认安全策略的效果,包括自我检查、漏洞扫描、网络扫描、应用扫描、渗透测试等,也包括安全管理制度实施效果的检查。
第四,在改进阶段
以检查阶段的输出为指导,完善安全策略,进入下一个升级迭代。
3. 最小权限法则
指仅仅给予人员、程序、系统最小化的、恰恰能完成其功能的权限。
在系统运维工作中,最小化权限法则应用的一些例子包括:服务器网络访问权限控制;使用普通用户运行应用程序。为程序设置 Chroot 环境;数据库访问控制。
在运维和运营过程中,未遵循最小权限法则将会对系统安全造成极其严重的威胁。
4. 白名单机制
白名单机制(Whitelisting)和黑名单机制(Blacklisting)相对,前者明确定义什么是被允许的,而拒绝所有其他情况。后者则明确定义了什么是不被允许的,而允许所有其他情况。
单纯使用黑名单机制有着显而易见的缺陷,因为我们无法穷尽所有可能的威胁。使用白名单机制的好处是,那些未被预期到的新威胁也是被阻止的。
5. 安全的失败
安全的失败(Fail Safely)是指安全的处理错误,这是安全编程的一个重要方面。
在程序设计时,要确保安全控制模块在发生异常时是遵循了禁止操作的处理逻辑。比如一段代码出现了异常,那么用户默认就是管理员角色,这显然导致了一个非常严重的安全风险。修复这个问题的处理方式就是默认用户不是管理员角色,这样就更加安全了。
以上为构建 Linux 系统安全体系的 10 项原则中的前 5 项,受限于篇幅,我们将在下篇文章中继续分享后 5 条安全原则。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论