开发者网络

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 118|回复: 1

《软件安全开发》读后笔记 第6章 软件部署和项目管理安全 ...

[复制链接]

3

主题

6

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2022-12-22 18:07:16 | 显示全部楼层 |阅读模式
6.1 软件部署安全

从两个方面讨论如何加强软件的部署安全:一方面是应用软件本身的安装配置与漏洞处理;另一方面是应用软件运行基础环境的常用配置措施及漏洞处理方式。
6.1.1 软件部署过程

软件部署过程是根据应用软件和基础环境软件的部署要求制定部署方案,然后依照部署方案执行具体的部署活动。软件部署一般过程可分为计划、执行、验证和测试四个阶段。



软件部署一般过程模型

❑ 计划阶段:以应用软件、基础环境软件的描述信息为基础,以达到用户的期望为前提,确定各部署模块之间的约束关系,规划部署流程,标注关键调试点,做好部署时间计划,制定部署方案。
❑ 执行阶段:以部署方案为输入,根据部署计划执行部署活动,配置各模块间的约束条件,做好过程记录。这一阶段可结合部署工具实施。
❑ 验证阶段:通过执行关键调试点,检查和验证各模块之间的约束条件是否正确,从而提高软件部署方案的正确性。验证过程将及时发现部署配置中存在的错误,并及时纠正,提高部署方案的正确性和可靠性。
❑ 测试阶段:部署活动结束后,通过整体测试的方式,检验系统的运行情况是否能够满足预期的需求,并根据整个部署过程整理归档软件部署报告。
6.1.2 软件自身安全

软件自身安全是确保信息系统安全的关键环节。在实际软件部署中,一般措施包括:正确安装软件,安全配置应用项,安装应用软件补丁,提供应用软件使用和维护建议,应用软件的功能测试及安全风险测试,做好应用软件中重要文件和数据的备份,等等。
软件自身安全应注意两个方面:一是应用软件开发商应当重视软件的安全及配置过程,二是注重软件运行期间的漏洞监测与处理。
1.软件安装配置安全
根据软件类型,软件安装配置大致可以分为以下三种模式。
(1)单机软件的部署
(2)基于中间件平台的部署
(3)基于代理的部署
为了确保软件的运行安全,在软件部署和运行阶段,也需要进一步加强对软件自身的安全防护。一般来说,这个阶段可以采取以下安全策略。
(1)强制修改默认口令
(2)可更改的软件安装目录
(3)设置默认安装模块
一是默认选择基本功能模块,二是默认选择安全的模块。
(4)配置应用安全策略
主要的安全配置功能可以包括如下内容:
  ❑ 口令安全强度要求,如至少十位且必须有大小写字母和数字等;
  ❑ 口令修改策略要求,如必须每三个月修改一次;
  ❑ 口令历史保存策略,如每次修改口令,不能使用近十次使用过的口令;
  ❑ 账号锁定策略,如连续错误登录三次时,锁定该账号不能再使用;
  ❑ 软件目录访问权限策略,如设置软件或配置文件只允许某个系统账号访问;
❑ 日志保存历史策略,如设置保存近一年内的历史日志;
❑ 报警策略,如设置当某级别的警告发生时,需通过短信方式通知管。
(5)启用最小用户身份
应当根据自身软件运行需要,设定软件安装和使用时需要的用户身份角色,尽量使用独立和权限最小的系统账号。
(6)开启应用日志审计
(7)重视数据备份
2.软件漏洞监测处理
应用软件监控是未知安全漏洞发现的主要方法,发现漏洞的最终目的是修复目标应用软件的漏洞。
漏洞修补流程需要完成如下工作:
1)建立应用软件漏洞修补跟踪机制,为发现的漏洞根据其严重程度划分等级,并安排处理优先级;
2)建立应用软件漏洞分析机制,由安全工程师对漏洞进行分析,然后与开发团队沟通后,共同制定漏洞修补方案;
3)对已出现的应用软件漏洞情况进行归档记录,并定期统计漏洞修补情况。
6.1.3 基础环境安全

基础环境支撑软件包括服务器操作系统、数据库系统、Web服务平台等,其中常见的Web服务平台有Apache、IIS、Tomcat、WebSphere和WebLogic等。这些服务支撑软件中如果存在安全隐患,都可能被攻击者利用,从而影响Web应用的安全性。
1.安全威胁
常见应用系统主要威胁包括病毒感染、蠕虫传播、间谍软件、恶意E-mail攻击、带宽滥用等。
(1)操作系统的安全威胁
(2)数据库系统的安全威胁
(3)Web服务平台的安全威胁
         一方面是Web服务支撑软件本身存在漏洞,另一方面是Web服务支撑软件的配置缺陷。
2.基础环境软件的安装配置
(1)操作系统的配置
目前服务器常用的操作系统有三类:UNIX、Linux和Windows。不同的操作系统有相应的加固项和具体措施。
(2)数据库系统的配置方法
     ❑ 数据库管理系统密码策略
         密码策略是所有安全配置的第一步,很多数据库账号的密码过于简单,应定期或不定期修改数据库管理员的口令。
     ❑ 账号策略
         严禁不同的数据库用户使用相同的账号与口令。
     ❑ 角色最小特权分配
         对每个数据库账户按最小特权原则设置其在相应数据库中的权限。
     ❑ TCP/IP端口保护
     ❑ 数据库备份
        应当养成定期备份的习惯,将计算机中的重要数据备份出来,避免遭受数据丢失带来的损失。
(3)Web服务平台的配置方法
       Apache安全配置方法。
      ● 隐藏Apache版本号及其他敏感信息
          修改Apache配置文件http. conf中的ServerTokens和ServerSignature参数,隐藏Apache版本号及其他敏感信息。
ServerSignature Off       //不输出任何页脚信息
ServerTokens Prod         //不输出Apache版本信息
     ● 只安装需要的模块
         可以通过httpd.conf配置文件代码中以LoadModule开头的行,查看所安装的模块。
    ● 设置每个连接的最大请求数
        MaxKeepAliveRequests默认的值为100,在实际配置中可能会要求把这个数值调高,以获得较高的系统性能。
    ● 禁止目录浏览
3.基础环境的漏洞处理
在基础环境软件完成安装及安全配置的前提下,要做好漏洞监测与修复工作
确保软件已经安装了最新的安全补丁。
6.2 软件项目管理安全

6.2.1 项目管理阶段

软件项目的生命周期通常有四个阶段:项目启动、计划、执行与监控、收尾。
❑ 增强项目团队的方向感,使团队成员对阶段性目标有更深刻的认识
❑ 明确项目管理的阶段性内容,提高管理效率
❑ 平衡项目管理中的资源分配,降低投资风险
1.启动阶段
软件项目启动阶段,要对项目进行需求分析与识别。
软件项目管理启动阶段所涉及的主要安全工作包括:明确安全总体方针,确保安全总体方针源自业务期望;清晰描述所涉及软件产品的安全现状,提交明确的安全需求文档;明确风险评估准则并达成一致,清晰描述从软件的哪些层次进行安全实现;对软件规划中安全实现的可能性进行充分分析和论证。
2.计划阶段
在软件项目管理过程中一个关键的活动是制定项目计划。
软件项目开发计划阶段主要的工作有以下几点:
1)根据需求分析和项目任务分解结果,进一步分解出主要活动;
2)确定以上活动之间的关系,然后估算出每个活动的时间长度;
3)根据每个活动的时间估算项目进度计划。
在软件开发生命周期各个阶段的项目计划中,还要考虑下面两件事。
(1)软件开发周期中的安全工作
(2)规划项目各阶段的软件安全性保证用例
3.执行与监控阶段
通过持续监控,有效沟通和协调,认真分析与研究,力求掌握项目变化规律,妥善处理各种变化。
项目的跟踪控制过程一般可以分为三个步骤。
1)定期及时收集有关项目资料,了解项目的进展,衡量项目的实际绩效
2)把项目实际绩效与计划绩效进行比较
3)如果实际绩效比计划差,应采取纠正措施,使项目返回预定轨道,同时也要修正不恰当的计划标准
4.收尾阶段
软件项目收尾包括最终产品验收、形成项目档案并总结项目教训等。
收尾阶段包括项目收尾和合同收尾。项目收尾包括执行软件项目阶段收尾的各种文档工作,还包括准备合同收尾所需的采购完成手续和合同验收确认书,正式结束项目。合同收尾关注完成合同项的各种活动,包括未解决项的后续解决措施。
6.2.2 安全管理关键因素

1.安全团队建设
软件项目团队管理的任务包括团队组织计划、团队人员获取和团队建设三个部分。
2.风险管理
(1)软件项目管理的风险识别
风险管理工作应符合以下原则:一是风险管理创造和保护价值,二是风险管理是所有人员共同参与的过程,不可分割,三是风险管理是透明的,四是风险管理是定制的,并具有体系化、结构化的特点,五是风险管理是动态的、反复的、响应变化的。
(2)软件项目管理的风险应对
风险控制包括风险管理计划、风险应对方案和风险监测。风险管理计划是对每一项风险进行处理,并确定每一项风险可能对软件项目造成的影响;风险应对计划对每一个风险制定详细的处理计划;风险监测对每一个应对计划的所有活动进行监视,也包括识别是否有新的风险发生,并将发现的问题反馈给风险处理流程。
风险应对措施:
首先,对风险应对计划实施可行性评估;其次,确定风险应对计划实施范围;第三,跟踪风险应对计划的实施过程;第四,有效授权和领导风险管理。
3.软件安全质量管理
质量管理可以理解为一个组织以质量为中心,全员参与为基础,以不断提升用户满意程度为目标,而建立起来的一整套质量方针、目标与体系。
软件质量管理实质上是软件组织为了满足用户和软件产品所有收益者需求实施的一系列管理方法、手段和活动。
(1)软件质量管理框架



软件质量管理框架

(2)软件安全质量管理措施
    ❑ 落实软件安全质量人员的职责
    ❑ 制定软件安全质量计划
    ❑ 软件安全技术评审
      软件安全技术评审有两种基本类型:正式技术评审和非正式技术评审。
    ❑ 软件安全测试
    ❑ 软件安全过程检查
    ❑ 使用缺陷跟踪工具
回复

使用道具 举报

1

主题

4

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2025-5-17 10:33:10 | 显示全部楼层
介是神马?!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|开发者网络

GMT+8, 2025-6-7 23:09 , Processed in 0.078052 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表