安全指南网站开发及运维.docx

上传人:b****5 文档编号:11537442 上传时间:2023-03-19 格式:DOCX 页数:59 大小:361.61KB
下载 相关 举报
安全指南网站开发及运维.docx_第1页
第1页 / 共59页
安全指南网站开发及运维.docx_第2页
第2页 / 共59页
安全指南网站开发及运维.docx_第3页
第3页 / 共59页
安全指南网站开发及运维.docx_第4页
第4页 / 共59页
安全指南网站开发及运维.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

安全指南网站开发及运维.docx

《安全指南网站开发及运维.docx》由会员分享,可在线阅读,更多相关《安全指南网站开发及运维.docx(59页珍藏版)》请在冰豆网上搜索。

安全指南网站开发及运维.docx

安全指南网站开发及运维

目录

1目的6

2概述6

3构造安全的网络环境6

3.1网站的安全拓扑结构6

3.1.1一般安全要求网站拓扑结构6

3.1.2高安全要求网站拓扑结构7

3.2网络设备及安全产品的部署及配置9

3.2.1路由器配置9

3.2.2交换机安全配置10

3.2.3防火墙配置10

3.2.4NIDS配置11

3.2.5IPS的部署及配置12

3.2.6防病毒系统的配置12

3.2.7网页防篡改系统13

4服务器的安装和配置13

4.1操作系统配置13

4.1.1修补和更新13

4.1.2合理配置服务和应用14

4.1.3用户身份鉴别14

4.2Web应用软件的安装和配置15

4.2.1IIS的安全配置16

4.2.2Apache的安全配置17

4.3配置Web内容目录18

5数据库的安全防护18

5.1Oracle数据库的安全策略19

1)设置TNSListener口令19

2)开启AdminRestrictions19

3)开启TCP有效节点检验19

4)关闭XML数据库19

5)关闭外部过程20

6)网络通信加密20

5.2Sybase数据库的安全策略20

1)加强帐户口令复杂性和封锁20

2)删除默认帐户sa的特权20

3)不要授予用户不必要的特权21

4)启用审计21

5)禁用xp_cmdshell21

6)尽可能禁用JAVA21

7)尽可能禁用文件系统proxy表支持21

8)不要安装测试数据库(或清除已安装的测试数据库)22

9)使用健壮的身份验证22

5.3SQLServer数据库的安全策略22

1)使用安全的密码策略22

2)使用安全的账户策略22

3)加强数据库日志的记录22

4)管理扩展存储过程22

5)使用协议加密23

6)防止未授权人员探测TCP/IP端口23

7)修改TCP/IP使用的端口23

6网站代码安全23

6.1安全的输入和输出23

6.1.1输入合法性检查23

6.1.1.1输入验证方法24

1)验证控件验证24

2)业务逻辑层验证24

3)白名单24

4)过滤24

5)强制转换24

6)输出编码25

6.1.1.2数据库输入25

6.1.1.3Web输入25

6.1.2输出编码26

1)过滤26

2)HTML编码26

3)URL编码26

4)转换特殊符号的编码形式26

6.1.3失败校验27

6.2缓存保护27

6.3目录及内容安全27

6.3.1文件上传限制27

6.3.2文件的规范表示28

1)使用正则表达式限制文件名的格式28

2)使用完整路径名代替PATH环境变量28

3)规范化文件名28

6.3.3防Cookie假冒29

6.3.4信息泄露的防治29

1)错误或异常信息处理30

2)安全入口尽量进行模糊提示30

3)动态表单(防ARP嗅探)30

6.4系统加密及身份认证30

6.4.1指定程序集权限30

1)请求最小的权限集30

2)拒绝不必要的权限30

6.4.2越权操作31

6.4.3系统加密31

1)完善加密体系31

2)连接字符串加密31

3)密码保存位置不同32

4)保护ViewState32

5)强命名加密程序集32

6.5为系统设计审计功能32

1)审计所有相关的安全任务32

2)审计所有相关的业务任务32

6.6代码安全性测试32

1)安全测试一般步骤:

32

2)接口测试参考列表:

33

7运维安全33

7.1日志记录及维护33

7.1.1通用日志配置33

7.1.2检查和保存日志文件34

7.2定期安全测试34

7.2.1操作系统脆弱性扫描34

7.2.2系统渗透测试35

7.3规范远程维护35

7.4数据备份策略36

7.4.1数据备份方法简介36

7.4.2备份数据的维护37

1)建立并维护测试环境37

2)维护备份数据37

7.4.3数据恢复38

7.5应急响应38

7.5.1应急响应规范性参考策略39

7.5.2应急预案的编制39

7.5.3安全事件应急响应一般参考流程45

a)事件发生时的准备工作:

45

b)采取行动遏制事件发展:

45

c)彻底解决问题隐患。

46

d)恢复阶段:

46

e)跟踪阶段:

46

7.5.4网站应急处置基本原则和措施(参考)46

附录A渗透概述49

A.1渗透测试简介49

A.2渗透过程概述49

A.2.1目标信息收集49

1)公众渠道信息收集49

2)目标系统基本网络环境信息获取50

3)端口、服务信息收集50

4)操作系统信息收集50

A.2.2侦查阶段50

1)操作系统漏洞探测50

2)Web应用软件漏洞探测51

3)Web应用程序弱点探测51

a)目录遍历及信息泄露51

b)源码泄露51

c)暴库漏洞51

A.2.3攻击阶段51

1)权限提升52

2)窃取信息52

3)植入恶意代码52

4)暴力攻击52

5)Web攻击52

a)SQL注入53

b)XSS跨站脚本53

c)HTTP割裂响应53

d)服务器端头文件54

A.2.4删除入侵痕迹54

A.3渗透测试技术手段54

A.3.1网络信息搜集54

A.3.2端口扫描54

A.3.3远程溢出55

A.3.4口令猜解55

A.3.5本地溢出55

A.3.6Web脚本及应用测试55

A.3.7无线测试56

A.3.8其他手段56

A.4渗透测试实施注意事项56

A.4.1预备知识56

A.4.1.1测试类型56

1)黑箱测试56

2)白盒测试57

3)隐秘测试57

A.4.1.2测试攻击路径57

1)外网(远程)渗透57

2)内网渗透57

3)不同网段(VLAN)间的渗透58

A.4.1.3测试标的58

1)网络设备58

2)主机操作系统58

3)数据库系统58

4)应用系统58

A.4.2签署保密协议58

A.4.3制定实施方案58

A.4.4渗透测试过程中的风险控制59

1)渗透测试时间的选择59

2)渗透测试策略59

A.4.5系统备份与恢复60

1)系统备份60

2)系统恢复60

A.4.6渗透测试过程监控60

1)测试执行方自控60

2)委托方监控60

附录B主流攻击防治62

B.1SQL注入62

B.1.1SQL注入简述62

B.1.2SQL注入的防治62

1)参数化查询62

2)过滤与转换63

3)白名单63

4)严格过滤64

5)限定URL传递参数的数据类型和范围64

6)全局过滤SQL关键字过滤64

B.2XSS跨站脚本64

B.2.1XSS跨站脚本简述64

B.2.2跨站脚本攻击的防治64

1)编码输出64

2)使用UBB编码64

3)iframesecurity="restricted"65

4)HttpOnly65

5)字符过滤65

B.3跨站请求伪造65

B.3.1跨站请求伪造简述65

B.3.2跨站请求伪造的防治65

1)ViewStateUserKey(对应Post方式)66

2)追加安全验证码(对应Get方式)66

3)验证直接地址链接和外站链接66

B.4编码防治拒绝服务攻击66

B.4.1应用程序失败攻击66

B.4.2内存不足攻击67

B.4.3资源不足攻击67

B.4.4网络带宽攻击67

1目的

本规范为安全的开发和运维网站提供一般指引。

本规范所示内容针对网站系统,可理解为控制网站系统安全风险于可接受水平的最佳实务。

本规范专为参与公司各级网站系统建设及维护的管理机构和技术人员而制订。

由于本规范所载内容皆为通用性方法,并非为任何特定的信息平台所编制。

建议读者衡量个别环境选择适用的防护方式及安全策略。

2概述

随着互联网技术的迅猛发展,许多公司各级单位许多业务活动越来越依赖于基于互联网的Web应用,网站系统通常作为其他Web应用系统的载体被广泛使用。

网站在提供通过浏览器访问企业信息功能的同时,其所面临的风险也在不断增加,主要表现在两个层面:

一是随着Web应用程序的增多,这些Web应用程序所带来的安全漏洞亦不断暴露显现;二是随着互联网技术的发展,被用来进行攻击的黑客工具越来越多,也越来越容易被获取。

诸如SQL注入攻击、跨站脚本攻击、恶意代码和篡改网页等黑客活动日渐猖獗。

然而现阶段的安全解决方案大都把重点放在网络安全层面,传统的网络防火墙、IDS、IPS等安全产品无法全面的防护网站等Web应用系统抵御来自系统内部和外部的各种威胁。

网站安全问题层出不穷,并呈现出多样化、复杂化和专业化的趋势,因此,建立完善的网站开发和运营维护体系,为网站系统提供全面、纵深式的保护措施,已成为当务之急。

3构造安全的网络环境

安全合理的网络环境是实现网站系统安全运行的重要前提和基础。

建议按照业务应用的重要程度对网站系统所在的网络环境进行分区、分级保护。

确保各种安全技术部署在适当的位置,使其能够充分发挥自身的安全功能,互补长短,形成严密的多道安全屏障,降低或消除来自各方面的针对网站的危害。

3.1网站的安全拓扑结构

规划安全的网络拓扑结构是构建安全的网络环境的基础,通过正确配置路由器、防火墙等实现不同网络区域之间的安全通联,从而从网络层保护网站的安全。

本节所述为网站系统网络架构设计方法,网络设备及安全产品部署及配置见3.2。

3.1.1一般安全要求网站拓扑结构

本节所指一般安全要求网站为企业、机构的门户网站。

该类网站除发布企业、机构公开信息外,一般不提供(或少量提供)依托于网站的业务服务。

本节所述网络架构建议一般安全级别门户网站参考使用。

业务服务对网站依赖较高的网站网络结构见3.1.2。

图1普通安全网站的拓扑概念图

1)外网接入区

外网接入区由路由器、防火墙构成。

该区综合利用安全隧道、认证、访问权限控制等安全机制,提供Internet用户与网站之间的安全访问,是防御来自外部攻击的第一道屏障。

2)DMZ区

DMZ区(非军事区)一般由IPS、网页防篡改服务器(此处仅为示意,详见3.2.7)、www服务器等构成。

该区提供各种外部可公开访问的信息发布服务。

划分DMZ区的目的为:

分隔敏感的内部网络和提供对外网或Internet访问服务的网络,阻止内网和外网直接通信,从而保证内网安全。

3)内网区域

内网主要由业务应用(或Web应用)服务器、数据库服务器、工作站、防病毒服务器等构成。

该区域对重要的基于网络的业务应用和业务数据实施重点保护,为网站的核心区域。

3.1.2高安全要求网站拓扑结构

本节所指高安全要求网站为业务服务对网站依赖较高,并对安全要求较高的网站。

该类网站除具有发布组织、机构公开信息等门户网站特征外,主要提供依托于网站系统的业务服务。

该类网站在保护敏感数据的安全、业务连续性等方面有较高的要求。

本节所述网络架构建议高安全要求的网站参考使用。

图2高安全级别网站的拓扑概念图

外网接入区、DMZ区及内网区见3.1.1。

高安全要求网站架构与一般安全要求网站架构不同之处在于:

—区域划分及安全策略:

内网区域根据安全域可信度的差异及保护敏感数据的需要,在核心数据库服务器与业务应用(或Web应用)服务器将部署防火墙进行区域隔离,并在防火墙上配置严格的访问控制策略。

在核心数据区域的核心交换机上部署IDS来监测网络中针对核心数据区的安全事件。

—邮件服务器部署策略:

内网区中POP3和SMTP使用不同的服务器,这让电子邮件系统更具有扩展性。

由于电子邮件是最普遍的病毒感染点,建议对于部署基于电子邮服务器的邮件过滤手段。

3.2网络设备及安全产品的部署及配置

网络环境中影响网站系统安全的元素主要为路由器、交换机等网络设备;防火墙、入侵检测系统(IDS)、入侵防御系统(IPS)、网页防篡改系统等安全产品。

上述任意一种设备均在基于纵深防御的整体战略中扮演着重要的角色。

合理部署网络设备和安全产品,并对其进行适当的策略配置,可较大幅度的提升网站系统的安全性。

本节所述网络设备及安全产品的配置策略和部署位置建议网站系统参考使用。

3.2.1路由器配置

路由器可过滤流量,限制用户到服务器或网络组件的访问,它控制不同安全等级网络间的访问。

因此,同防火墙一样,路由器的安全是网络环境安全的关键因素。

部署及配置路由器时,建议参考以下安全策略:

—除明确获准的服务外,建议拒绝所有默认服务,关闭源路由选择和定向广播功能;

—对于路由器的特权密码建议启用强壮的MD5散列密码,以减少字典攻击的成功率;

—使用SSH代替Telnet远程管理路由器;

—路由器中的嵌入式Web服务器有很多漏洞,所以除非特别需要HTTP功能,建议将其禁用。

若需要访问路由器的HTTP服务器,则建议对登录地址进行限制,并进行HTTP认证;

—在路由器上使用Syslog服务是排除网络故障的最简单的方法。

如果在路由器上使用了任何种类的ACL,那么建议开启Syslog;

—配备合适的时间戳。

若没有设置合适的时间戳,路由器Syslog消息无法在故障排除中发挥作用;

—当在信任边界过滤ICMP消息时,建议明确允许的消息类型,拒绝其它所有消息;

—若使用动态路由协议,建议开启路由选择协议的消息认证;

—若路由器与防火墙一起使用,则路由器应符合防火墙策略;

—进行日志记录、备份和其他管理工作;

—在实际运行之前,进行全面的安全测试。

3.2.2交换机安全配置

部署及配置交换机时,建议参考以下安全策略:

—VLAN不应用作为保护两个子网间接入的唯一方式。

维护人员在配置时的误操作,以及VLAN和VLAN标记协议的设计缺陷,使其不适于用于敏感环境;

—无需中继的端口建议将中继设置定为关闭而非自动。

这样做可防止主机成为中继端口,进而防止其接收所有通常驻留在中继端口上的流量;

—交换机所有未使用的端口都建议将其规划到一个无第3层连接的VLAN。

建议禁用不需要的端口,这可防止黑客插入未用端口并与网络其余部分通信;

—将网络交换机配置为高安全模式以防止ARP欺骗和ARP毒性攻击;

—配置交换机发送网段上所有流量给NIDS;

—较多交换机包含有特殊的安全设置,如果交换机具有这类安全能力,建议在不影响业务应用的前提下将其开启。

3.2.3防火墙配置

防火墙配置不当可能导致安全错觉,而安全错觉比没有设置防火墙更为危险。

部署及配置防火墙时,建议参考以下安全策略:

—以防火墙作为进出因特网的唯一通道,强制所有传入和发出的因特网通讯均需经过防火墙;

—从保守的防火墙安全政策做起,即“除明确获准的服务外,拒绝所有服务”;

—经过防火墙的所有服务需经过严格审查和评估;

—配置防火墙时建议关闭不使用的端口和过滤不必要的通讯。

例如,不需要的传入或发出的因特网控制信息协议(ICMP)通讯等;

—除了允许TCP端口80(HTTP)和/或443(HTTPS),防火墙应阻塞流入Web服务器的流量。

本项建议各机构在不影响业务应用的前提下参考使用;

—检测畸形的或带有攻击性质的URL请求;

—日志记录关键事件,包括下列内容:

✓时间/日期

✓接口IP地址

✓厂商指定的事件名

✓标准攻击事件(如果有的话)

✓源和目的IP地址

✓源和目的端口号

✓攻击所用网络协议

—为紧急事故设置实时警报机制;

—防火墙和防火墙操作系统通过打补丁升级到较新或较安全的级别;

—在防火墙每次重大改动或升级之后,均需进行业务功能性测试

—建议设置弹性的防火墙策略,以配合机构未来发展,适应安全要求的改变。

3.2.4NIDS配置

NIDS作为入侵检测设备,对网络流量及行为进行检测,为系统管理员提供针对系统内部及外部的攻击事件信息,并对系统内部人员误操作提供实时的监控。

配置IDS时,建议参考以下安全策略:

—监控IDS所在区域的关键服务器网络流量;

—保证管理接口直接与管理网络内的信任位置连接;

—阻塞(和防火墙配合使用)攻击网络的IP地址或子网;

—发现端口扫描探测;

—发现DoS攻击;

—记录事件日志,包括下列内容:

✓时间/日期

✓传感器IP地址

✓攻击名称

✓源和目的IP地址

✓源和目的端口号

✓攻击使用的网络协议

—定期更新新的攻击特征(建议以周为单位)。

3.2.5IPS的部署及配置

作为入侵防御类设备,IPS借鉴了NIDS的成熟技术,可作为防火墙的有益补充。

IPS作为虚拟补丁接入网络,可检测并阻断已定义的网络攻击。

IPS在应用层的内容检测基础上加以主动响应和内容过滤功能,在阻止溢出攻击、木马病毒、蠕虫病毒、SQL注入、拒绝服务等网络攻击方面有一定的实践意义。

成功部署IPS的关键是位置的选择、设备的调优和正确的管理,以下为IPS部署位置参考建议:

—将IPS部署在防火墙前,可以让用户了解网络的最真实状况,什么时间有什么人对企业网络做了什么事情,不论这些行为是否能进入到网络当中来。

—将IPS部署在防火墙后,可使管理员更加专注于检测并阻断通过防火墙进入到网络中来的数据信息。

3.2.6防病毒系统的配置

防病毒系统(如硬件防毒墙或杀毒软件)可以使网站免受病毒等恶意代码的危害。

单机版防病毒系统原则上一台计算机上只能部署一套,网络版防病毒系统可以考虑网络的结构情况,根据实际需要以及网段的不同部署一套以上。

部署及配置防病毒系统时,建议参考以下安全策略:

—检测蠕虫病毒、宏病毒、木马型病毒等各种已知病毒;

—发现未知病毒或可疑代码;

—扫描包括使用多种主流压缩格式进行多重压缩的文件内的病毒;

—及时对检测出的病毒进行清理,将不能清除的带毒文件进行隔离,防止再次传染;

—警报和日志功能:

✓应具有集中化的报警、日志报告功能,能生成统计分析报告;

✓具备实时报警功能,警告信息按严重程度分级。

—升级方式:

✓支持特征代码库文件的自动下载和分发,能够通过多级分发服务器,实现病毒特征文件的自动更新;

✓升级不应影响正常的业务通信,提供增量升级方式,以最少占用网络带宽;

✓宜在夜间或非工作时间进行病毒库分发。

—对于网络版杀毒软件,应支持Windows、Linux和Unix等主流操作系统的各种版本。

—若无支持主机操作系统的毒软件,建议考虑采用硬件防毒墙接入网络。

3.2.7网页防篡改系统

采用核心内嵌技术的网页防篡改系统,其在一定程度该系统上可阻止对网页的篡改行为。

一般网页防篡改产品需要部署两台服务器。

发布服务器:

位于内网,本身处于相对安全的环境中,其上部署防篡改产品的发布服务器软件。

Web服务器:

位于公网/DMZ中,本身处于不安全的环境中,其上部部署防篡改产品的服务器端软件。

4服务器的安装和配置

保护网站系统的第二步为保护Web服务器的底层操作系统。

大多数常见Web应用软件均运行在通用操作系统平台上。

如果支撑Web系统运行的操作系统配置得当的话,可以避免很多安全问题。

建议网站管理员对默认的操作系统配置进行适当的修改,在保证业务应用的前提下,达到网站的真实安全需求。

当网站需求变化时,建议对其进行评估以确定是否需重新配置操作系统。

在Web服务器底层操作系统得到适当保护的基础上,还需进一步考虑在操作系统上运行的Web服务器软件的安全安装和正确配置等问题,如Web应用软件的配置、Web内容目录的配置。

4.1操作系统配置

4.1.1修补和更新

服务器维护人员进行操作系统的修补和更新时,建议参考以下安全策略:

—在最初安装后立即对操作系统进行漏洞扫描以发现系统漏洞,并从确信可靠的软件提供者那里获取最新的系统补丁升级包,修复系统漏洞;

—持续关注最新的操作系统漏洞发布公告以及相应的补丁程序的发布情况;

—定期对操作系统进行漏洞扫描以发现新的脆弱性;

—定期安装操作系统更新程序,并采用最新的操作系统补丁,尤其是与安全问题相关的补丁;

—强烈建议安装补丁前,在测试环境中对补丁的可用性进行充分的测试,以防止补丁影响业务系统的正常运行。

4.1.2合理配置服务和应用

理想的情况下,Web服务器应当是安装在一个专用的,单一用途的主机上。

然而很多操作系统在缺省配置下提供了大量的服务和应用,远远超过了Web服务器的需要,同时给Web服务器增加了不必要的安全风险。

当配置操作系统时,建议遵循“不需要,就关掉”的原则,即只安装Web应用所需的最小的操作系统功能组件。

配置Web服务和应用时,建议参考以下安全策略:

—确认网站系统在不需要该服务的情况下,尽可能的减少所加载的服务项;

—各个服务器主机应分别提供不同的服务。

同时,每个主机只设一个管理员,由其负责管理该主机上的所有服务,以便将管理员之间冲突的可能性降至最低,这样做更利于责任追查;

—设立审计员角色权限,由专人负责定期查看日志,条件允许的情况下建议定期进行日志审计;

—在Web服务器上开启某些服务(如包括用于访问数据库的数据库协议、文件传输协议及远程管理服务等)时,应对该服务产生的安全风险进行评估以决定是否最终提供该项服务。

4.1.3用户身份鉴别

WEB服务器总是会面临着大量未授权访问的威胁,虽然可以指定只有授权的少数管理员才可以配置WEB服务器的操作系统,但这并不足以解决所有的安全问题。

为此,建议配置操作系统,使其能够对访问用户进行鉴别,并只对授权用户提供访问服务。

为了确保采取恰当的用户鉴别措施,建议参考以下安全策略:

—删除或关闭不需要的系统缺省帐户、默认帐户和用户组;

—关闭非交互式帐户:

关闭那些可能有用但不必交互式登录系统的帐户及其相关口令。

对于Unix系统,应去掉这些用户的登录shell或将其定义为使用无效的登录shell(如/bin/false);

—创建用户组:

将用户分配到相应的用户组中,然后为用户组分配权限;

—创建用户帐户:

只创建必要的帐户,一般情况下建议禁止使用共享帐户;

—设置口令密码复杂度策略:

使口令设置符合密码复杂度要求。

—设置登陆失败处理功能:

某帐户发生连续多次的失败登陆尝试后,在不影响业务连续性的前提下,建议在随后的一段时间内拒绝该帐户的登录请求;

—根据实际需要,还可以使用其他安全机制鉴别帐户身份,如令牌、客户端/服务器认证或一次性口令系统等。

—使用较完全远程登陆管理技术或加密技术,如SSH等,以保护网络上传输的口令,避免攻击者通过网络嗅探等手段获取口令明文。

4.2Web应用软件的安装和配置

建议对Web服务器的软件和操作系统进行严格的访问控制以增强Web服务器安全,下述为通用参考配置策略。

Windows操作系统主流Web发布服务器IIS和Linux

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 艺术创意

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1