linux安全应用指导培训资料

上传人:F****n 文档编号:93494248 上传时间:2019-07-23 格式:DOCX 页数:50 大小:4.01MB
返回 下载 相关 举报
linux安全应用指导培训资料_第1页
第1页 / 共50页
linux安全应用指导培训资料_第2页
第2页 / 共50页
linux安全应用指导培训资料_第3页
第3页 / 共50页
linux安全应用指导培训资料_第4页
第4页 / 共50页
linux安全应用指导培训资料_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《linux安全应用指导培训资料》由会员分享,可在线阅读,更多相关《linux安全应用指导培训资料(50页珍藏版)》请在金锄头文库上搜索。

1、Linux安全应用指导内部公开华为技术有限公司内部技术指导DKBA 8328-2015.11Linux安全应用指导 华为技术有限公司Huawei Technologies Co., Ltd.版权所有 侵权必究All rights reserved修订声明Revision declaration本指导拟制与解释部门:网络安全能力中心本指导的相关系列规范或文件:相关国际规范或文件一致性:替代或作废的其它规范或文件:无相关规范或文件的相互关系: 无目录简介6使用对象6适用范围6指导解释6用词约定6术语解释71权限管理81.1权限最小化81.1.1 禁止直接使用root账号登录Linux系统81.1.

2、2 除有明确特权需求,应用程序应以非root账号运行91.1.3 采用不同权限的帐号运行不同的应用并对帐号进行权限分离91.1.4 在运行时有特权需求的程序,在特权操作完后如后续无特权需求,必须使用setuid放弃特权101.1.5 使用sudo机制代替以root帐号登录运行特权程序的方式。111.1.6 应对允许使用su到root帐号的用户进行明确授权,非授权用户不能切换到root111.1.7 使用POSIX Capabilities功能避免直接使用root权限121.2文件和目录权限141.2.1系统中禁止有无主文件存在141.2.2 除有明确需求,应删除文件不必要的setuid和set

3、gid位141.2.3应为系统用户设置缺省的umask值151.2.4 使用特殊属性位Sticky位对共享目录权限进行控制161.2.5 利用特殊文件属性Append-only位保护系统命令行历史日志文件,防止内容被篡改162访问控制182.1自主访问控制182.1.1 使用POSIX ACL进行更细粒度的访问控制182.2强制访问控制202.2.1 Linux系统上应安装强制访问控制系统作为应急的安全访问控制手段203记录和审计223.1监测、记录和审计223.1.1启用inotify监控机制,以文件系统事件进行安全监控223.1.2使用Auditd组件对系统中的重要目录或文件进行审计244

4、认证264.1口令和账号264.1.1 使用shadow套件对系统账号口令进行分离保护264.1.2Linux系统必须使用shadow套件对当前暂时不使用的账号进行锁定或登录限制274.1.3使用shadow套件对系统口令的时效进行限制294.2可插拔认证模块(PAM)294.2.1使用PAM模块增强认证管理295文件系统保护315.1日志文件保护315.1.1 应将操作系统日志发送至外部服务器单独存储,确保日志不被篡改315.2文件系统加密315.2.1对含有重要信息的文件目录或分区进行加密处理315.3分区和挂载325.3.1对于系统中的重要目录必须根据存储目的不同进行分区隔离325.3.

5、2使用fstab对外接、日志存储分区进行访问控制。325.3.3禁用自动工具对移动存储设备进行挂载336网络防护346.1网络防护能力346.1.1 使用sysctl工具增强系统网络防护能力346.1.2 使用iptables对系统中不使用的端口进行限制356.2限制网络服务356.2.1 远程访问需使用SSH取代telnet356.2.2 系统中不应安装不安全的传统网络服务357漏洞攻击防护377.1地址随机化377.1.1 使用Linux自带的ASLR功能(地址空间布局随机化)增强漏洞攻击防护能力377.2数据执行防护377.2.1 系统必须使用DEP防护手段提升漏洞攻击防护能力377.2

6、.2 使用栈保护机制387.3增强性安全防护397.3.1 使用Grsecurity增强Linux系统的安全防护能力397.3.2 使用PaX提升系统攻击防护能力408完整性保护438.1文件完整性检查438.1.1 使用IMA工具对系统文件的完整性进行检查439安全隔离和容器449.1安全隔离449.1.1 对于开放给第三方的shell环境,应使用隔离技术对其可访问的系统资源进行隔离449.1.2 对于系统中运行的第三方应用,需使用控制组或容器等技术手段将其于系统关键资源进行隔离。4610其他4710.1额外系统功能限制4710.1.1 对core dump功能的使用进行限制4710.1.2

7、 关闭SysRq键的使用4710.1.3 应对bootloader开启引导装载密码4810.1.4 使用ulimit工具限制用户可以打开文件个数4811设计样例50简介随着公司业务发展,越来越多的产品被公众所熟知,并成为安全研究组织的研究对象、黑客的漏洞挖掘目标,产品的安全问题不可小视。公司内许多产品使用Linux系统作为软件开发和安装的基础,由于对Linux系统中编译器、软件服务、系统自身防护等方面缺乏足够的了解,使产品存在许多安全漏洞,产品也因此遭受黑客的攻击。Linux安全应用指导结合Linux系统中常用的安全机制安全特性同时结合业界最佳实践,针对业内普遍的Linux系统漏洞和软件漏洞给

8、出指导方法,帮助产品开发团队减少由于设计过程中未引入安全机制或软件加固方法而引入安全风险。本指导的制订目的是希望能指导读者选择正确的安全机制和软件加固方法,以减少安全漏洞的产生。指导涵盖Linux系统中的:权限管理、访问控制、认证、审计、文件系统保护、漏洞攻击防护等内容。使用对象本指导的读者及使用对象主要是产品涉及Linux系统的需求分析人员、设计人员、开发人员、测试人员等。适用范围本指导适合于公司涉及使用Linux操作系统的产品(嵌入式产品除外),如使用欧拉server OS、suse 等产品。指导解释Linux安全应用指导目的在于通过结合业内的最佳实践,对在Linux系统下合理的使用安全机

9、制和安全特性来解决产品安全问题和增强系统安全能力提出要求。其目的在于以下几点:1. 充分发挥Linux已有的安全能力。2. 将Linux社区中普遍使用的安全组件及解决方案吸纳进来,合理的应用到系统中,增强系统的安全能力。3. 为产品线安全人员解决Linux安全问题赋能。用词约定规则:编程时必须遵守的约定。建议:编程时必须加以考虑的约定。说明:对此规则/建议进行必要的解释。示例:对此规则/建议从正面给出例子。术语解释名词解释MAC强制访问控制(Mandatory Access ControlMAC),用于将系统中的信息分密级和类进行管理,以保证每个用户只能访问到那些被标明可以由他访问的信息的一种

10、访问约束机制。DAC自主访问控制(Discretionary Access Control,DAC)是这样的一种控制方式,由客体的属主对自己的客体进行管理,由属主自己决定是否将自己的客体访问权或部分访问权授予其他主体,这种控制方式是自主的。容器容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。PAMPAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制。它通过提供一些动态链接库和一套统一的API,将系统提供的服务 和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不

11、同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系 统中添加新的认证手段。ASLRASLR(Address space layout randomization)是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的。DEPDEP (Data Execution Prevention) 是一套软硬件技术,能够在内存上执行额外检查以帮助防止在系统上运行恶意代码。ACL访问控制列表(Access Control List,ACL)。1 权限管理1.1 权限最小化1.1.1

12、禁止直接使用root账号登录Linux系统说明:root是Linux系统中的超级特权用户,具有所有Linux系统资源的访问权限。如果允许直接使用root账号登录Linux系统对系统进行操作,会带来很多潜在的安全风险,为了规避由此带来的风险,应禁止直接使用root帐号登录操作系统,仅在必要的情况通过其他技术手段(如:su)间接的使用root账号。禁止直接使用root账号登录可以规避很多潜在的安全风险,提高系统安全性。此条目需满足以下要求: 禁止直接通过root账号远程登录系统(ssh远程登录) 禁止直接使用root账号本地标准终端登录(本地tty登录,如:tty1、tty2等)此条目对以下情况不

13、做强制要求: 对于设备维护用串口不做强制要求,如console。 系统初始化和调测阶段不在规则范围内。实施指导:l 禁止root账号本地直接登录1) 编辑root登录设备控制文件securettyvi /etc/securetty2) 注释掉或删除所有标准终端设备(形如ttyN,如:tty1、tty2等)#tty1#tty2#ttyN3) 保存文件后root用户本地标准终端登录即被禁止Login: rootPassword:Login incorrectl 禁止root账号远程直接登录例:修改openssh服务配置文件,禁止root账号远程直接登录1) 编辑openssh服务配置文件sshd_

14、configvi /etc/ssh/sshd_config2) 查找PermitRootLogin配置项(若不存在需添加),将其设置为NoPermitRootLogin No3) 保存文件后,重新启动sshd服务/etc/init.d/sshd restart1.1.2 除有明确特权需求,应用程序应以非root账号运行 说明:root权限是Linux系统中的超级特权用户,具有所有Linux资源的访问权限。若自研程序或者第三方程序存在堆栈溢出漏洞,那么攻击者就可以利用漏洞植入任意代码,获取程序执行者的权限,进而控制整个系统。因此,我们应该按照最小权限原则设计Linux系统权限,即使程序中存在堆栈溢出漏洞,由于被植入恶意代码的程序只有普通用户权限,无法对系统造成严重影响,攻击面大大降低。实施指导:比如一个程序在使用普通用户就可以正常运行的情况,就不应用 root帐号运行,按照安全设计的最小权限原则,分析应用程序进程所需要的最小权限,无特权需求的程序禁止使用root运行。实施方法如下:root# useradd huaweisu - user -c programuser代表用户名,program是程序名(这里要注意的是程序名要给决对路径)1.1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号