11.企业安全建设指南(金融行业安全架构与技术实践) --- 互联网应用安全

第11章 互联网应用安全
	传统企业会用防火墙进行隔离,将应用部署在隔离区(DMZ)。

11.1 端口管控
	首先要做的就是端口管控,即在防火墙上严格限制对外开放的端口。原则上DMZ服务器只允许对外开放80,443端口,而且DMZ服务器不允许主动访问外部,
访问外部的业务需要一对一开通访问。
	
	端口扫描工具:
		1.Nmap
		2.Zmap
		3.Masscan

11.2 Web应用安全
	1.web应用防火墙
		有硬件防火墙,软件防火墙,基于云的防火墙。

	2.入侵检测/防御系统(IDS/IPS)
		WAF 更多是基于规则的,有规则就会有绕过的可能性。针对这些绕过waf的请求,我们还需要借助入侵检测系统/入侵防御系统类产品对waf后端的流量进行分析,
	发现恶意行为。IDS 开源的有 Snort。

	3.漏洞扫描和渗透测试	
		针对暴露在互联网上的应用,我们自己也要展开定期扫描,内外部渗透测试等工作。

		漏洞扫描的工具常见的有 AWS,IBM Appscan,HP WebInspect,Nikto 等商业或开源的扫描器。

		渗透测试往往包含内部测试和外部测试,内部安全人员对业务理解透彻,更容易发现问题。考虑到内部人手等问题,企业一般会采购外部渗透服务,有一些是国家的
	评测中心等国家单位,有一些是绿盟,安恒,长亭科技这样的企业。建议多找几家,最好实现按漏洞付费,每个公司的渗透人员都有不同的经验和思路,多找几家往往能
	更加全面的覆盖到。

11.3 系统安全
	未拦截到的请求到了DMZ服务器,对应用或者系统有什么样的影响呢?常规的 系统加固,web server 加固,目录权限设置等就不说了。恶意请求的目的可能是:
想利用上传功能直接上传一个webshell,利用文件包含功能直接饮用一个远程的webshell,利用文件解析漏洞上传恶意图片或者视频,触发特定漏洞执行命令,或者已经是
拿到webshell直接请求执行命令。如何有效的发现webshell,一般有几个思路:
	1.文件内容扫描,看是否有一些高危函数,黑客版本信息等
	2.结合文件变化及属性来判断
	3.结合网络流量特征来判断
	4.结合脚本底层执行动作来判断

	a) OSSEC : 开源的基于主机的入侵检测系统
	b) Sysmon : windows 建议使用 Sysmon

11.4 网络安全
	假设某台服务器因为有漏洞已经被攻陷,黑客一般会在机器上进行各种翻找,甚至进一步探测其他网络。

	webshell 通常是为了方便提供反弹shell的功能,即主动外连到特定端口。如果前面我们的防火墙在外连这块做的不好,就容易出问题。针对这个隐患,建议
针对主动出站的连接进行记录,与学习到的基线或者自行维护的黑白名单进行对比,以发现问题,我们称之为"异常流量监测系统"。在DMZ环境下只需要主动关注外连
的情况,相对简单。
	
	在DMZ内网活动的时候,流量不一定会被镜像到,这时候我们需要借助蜜罐来发现异常。在每个DMZ网段内部署一到两个蜜罐,可以有效的发现针对内网的扫码和探测
行为。提到蜜罐,熟知的 honeyd。

11.5 数据安全
	一个合法的web请求最后可能会涉及后端多种业务逻辑,跟数据库打交道。这里需要关注2个问题:
		1.到数据库的请求是否真的合法
		2.页面返回的信息是否包含敏感信息

	数据库审计类产品有两类:
		1.一种是基于proxy或者插件模式的
		2.一种是基于网络流量的

	一个正常的页面输出,可能会涉及银行卡,身份证,手机号等客户资料,一般需要进行脱敏处理。常规的 DLP 方案在这里需要经过一定的调整,重点不是分析 http
request,而是分析 http Response 信息。

11.6 业务安全
	还有一个场景需要提到,就是互联网应用中与业务逻辑相关的安全问题,统称"业务安全"。例如,一个简单的登录页面,可能涉及人机识别,验证码,找回密码等功能,
而攻击者可能利用暴力破解,撞库等方式进行尝试;再例如,一个简单的查看个人信息页面,涉及session或cookie验证,而攻击者可能会通过修改url中的ID来查看其它人
的信息。还有一些是接口安全。
	
	这里的对抗,更多是从风控角度出发,收集access日志,业务日志进行分析,再结合外部情报(黑白名单库),机器学习等。

11.7 互联网DMZ区安全管控标准
	除了上面的,还有一些涉及 上线流程管控,防ddos攻击等。常规的上线流程管控包括 主机上线前的扫描,应用上线前扫描,日志采集,安全防护软件部署,堡垒机
纳管等环节,建议与 ITIL 流程结合在一起。
	
	最后在 DMZ 区域还会部署类似 VPN,邮件等系统。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《微软技术模版 - 软件可靠性和安全性设计指南.doc》是微软公司提供的一份指南,旨在帮助软件开发人员设计出可靠且安全的软件。本文将从几个主要内容方面进行回答。 首先,该指南强调了软件可靠性设计的重要性。通过采用适当的设计原则和技术方法,开发人员可以确保软件在常见或非常见的情况下都能按预期工作。例如,指南提到要考虑异常处理、错误处理和故障恢复机制,以及充分的测试和验证等方面。这些措施有助于减少系统故障、崩溃和数据损坏等问题的发生。 其次,指南还介绍了软件安全性设计的重要性。随着网络攻击和数据泄露等问题的增加,软件安全性已成为各个行业的关注焦点。该指南提供了一些安全设计原则和最佳实践,以保护软件免受恶意攻击。例如,指南建议采用多层防御策略、加密敏感数据、限制用户权限等措施,以减少潜在的安全漏洞。 此外,指南还提到了软件开发周期中的不同阶段,如需求分析、设计、编码和测试等,以确保可靠性和安全性得到全面考虑。同时,指南还强调了团队合作和沟通的重要性,以保持设计和实施过程的一致性和协作性。 总之,《微软技术模版 - 软件可靠性和安全性设计指南.doc》是一份指导软件开发人员设计可靠且安全的软件的重要资源。通过遵循该指南中提供的原则和最佳实践,开发人员可以减少软件故障和安全漏洞的风险,提高软件系统的可靠性和安全性。 ### 回答2: 微软技术模板 - 软件可靠性和安全性设计指南.doc是一份关于软件设计中可靠性和安全性的指南。该指南旨在帮助软件开发人员设计和开发可靠且安全的软件系统。 在软件开发中,可靠性是指软件在特定环境下连续运行的能力。软件可靠性设计指南中提供了一些关于如何提高软件可靠性的指导原则。首先,要确保软件的设计符合统一的规范和标准,如代码规范和架构规范。其次,要进行全面的测试,包括单元测试、集成测试和系统测试。同时,要定期进行性能测试和负载测试,以确保软件在不同负载下的稳定性和可靠性。 安全性是指防止非法访问、数据泄露、恶意攻击等威胁对软件系统的影响。软件安全性设计指南中提供了一些关于如何设计和实施安全控制措施的建议。首先,要进行全面的风险评估和威胁建模,以确定潜在的威胁和漏洞。其次,要采用适当的身份认证、访问控制和权限管理机制来确保只有授权用户能够访问敏感数据和功能。另外,还要考虑使用加密技术来保护数据的安全传输和存储。 除了上述指导原则,软件可靠性和安全性设计指南还提供了一些具体的实施建议,如异常处理机制、日志记录和监控、备份和恢复措施等。这些指南可以帮助软件开发人员在设计和开发过程中考虑到可靠性和安全性问题,并采取相应的措施来提高软件系统的可靠性和安全性。 总的来说,微软技术模板 - 软件可靠性和安全性设计指南.doc对于软件开发人员来说是一份宝贵的参考资料,可以帮助他们在设计和开发过程中思考和解决可靠性和安全性方面的问题,从而构建高质量的软件系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值