系统安全设计之欧阳学文创作Word文件下载.docx
《系统安全设计之欧阳学文创作Word文件下载.docx》由会员分享,可在线阅读,更多相关《系统安全设计之欧阳学文创作Word文件下载.docx(17页珍藏版)》请在冰点文库上搜索。
还有的产品可以基于合法应用数据建立模型,并以此为依据判断应用数据的异常。
但这需要对用户企业的应用具有十分透彻的了解才可能做到,可现实中这是十分困难的一件事情。
●状态管理
WAF能够判断用户是否是第一次访问并且将请求重定向到默认登录页面并且记录事件。
通过检测用户的整个操作行为我们可以更容易识别攻击。
状态管理模式还能检测出异常事件(比如登陆失败),并且在达到极限值时进行处理。
这对暴力攻击的识别和响应是十分有利的。
●其他防护技术
WAF还有一些安全增强的功能,可以用来解决WEB程序员过分信任输入数据带来的问题。
比如:
隐藏表单域保护、抗入侵规避技术、响应监视和信息泄露保护。
1.2网络安全设计
1.2.1访问控制设计
防火墙通过制定严格的安全策略实现内外网络或内部网络不同信任域之间的隔离与访问控制。
并且防火墙可以实现单向或双向控制,对一些高层协议实现较细粒的访问控制。
其中防火墙产品从网络层到应用层都实现了自由控制。
屏蔽主机网关易于实现,安全性好,应用广泛。
它又分为单宿堡垒主机和双宿堡垒主机两种类型。
先来看单宿堡垒主机类型。
一个包过滤路由器连接外部网络,同时一个堡垒主机安装在内部网络上。
堡垒主机只有一个网卡,与内部网络连接。
通常在路由器上设立过滤规则,并使这个单宿堡垒主机成为从Internet惟一可以访问的主机,确保了内部网络不受未被授权的外部用户的攻击。
而Intranet内部的客户机,可以受控制地通过屏蔽主机和路由器访问Internet。
1.2.2拒绝服务攻击防护设计
对某些域名服务器的大规模拒绝服务攻击会造成互联网速度普遍下降或停止运行;
以使得被攻击计算机或网络无法提供正常的服务或者资源,合法用户的请求得不到及时的响应。
由于DoS的攻击具有隐蔽性,到目前为止还没有行之有效的防御方法。
首先,这种攻击的特点是它利用了TCP/IP协议的漏洞,除非你不用TCP/IP,才有可能完全抵御住DoS攻击。
1)和ISP协调工作,让他们帮助实施正确的路由访问控制策略以保护带宽和内部网络。
2)建立边界安全界限,确保输入输出的包受到正确限制。
经常检测系统配置信息,并注意查看每天的安全日志。
3)利用网络安全设备(例如:
防火墙)来加固网络的安全性,配置好它们的安全规则,过滤掉所有的可能的伪造数据包。
4)关闭不必要的服务,及早发现系统存在的攻击漏洞,及时安装系统补丁程序。
对一些重要的信息建立和完善备份机制,对一些特权帐号的密码设置要谨慎。
5)充分利用网络设备保护网络资源。
如路由器、防火墙等负载均衡设备,它们可将网络有效地保护起来。
被攻击时最先死掉的是路由器,但其他机器没有死。
死掉的路由器经重启后会恢复正常,而且启动起来还很快,没有什么损失。
若其他服务器死掉,其中的数据会丢失,而且重启服务器是一个漫长的过程。
当你发现自己正遭受DoS攻击时,应立即关闭系统,或至少切断与网络的连接,保存入侵的记录,让安全组织来研究分析。
6)使用专业DoS防御设备。
1.2.3嗅探(sniffer)防护设计
嗅探器只能在当前网络段上进行数据捕获。
这就意味着,将网络分段工作进行得越细,嗅探器能够收集的信息就越少。
网络分段需要昂贵的硬件设备。
有三种网络设备是嗅探器不可能跨过的:
交换机、路由器、网桥。
对网络进行分段,比如在交换机上设置VLAN,使得网络隔离不必要的数据传送。
采用20个工作站为一组,这是一个比较合理的数字。
然后,每个月人为地对每段进行检测(也可以每个月采用MD5随机地对某个段进行检测)。
1.3主机安全设计
1.3.1操作系统
1.3.2安全基线配置
操作系统安全是信息系统安全的最基本,最基础的安全要素。
操作系统的任何安全脆弱性和安全漏洞,必然导致信息系统的整体安全脆弱性。
在目前的操作系统中,对安全机制的设计不尽完善,存在较多的安全漏洞隐患。
面对黑客的盛行,网络攻击的日益频繁,运用技术愈加选进,有必要使用安全漏洞扫描工具对计算机操作系统的进行漏洞扫描,对操作系统进行风险评估,并进行升级。
应及时安装操作系统安全补丁程序,对扫描或手工检查发现的系统漏洞进行修补,并及时关闭存在漏洞的与承载业务无关的服务;
通过访问控制限制对漏洞程序的访问。
比如windows操作系统补丁升级
在操作系统安装之后立即安全防病毒软件,定期扫描,实时检查和清除计算磁盘引导记录、文件系统和内存,以及电子邮件病毒。
目前新的病毒发展很快,需及时更新病毒库。
比如SymantecEndpointProtect(SEP防病毒服务器版)。
SymantecEndpointProtect无缝集成了一些基本技术,如防病毒、反间谍软件、防火墙、入侵防御、设备和应用程序控制。
能有效阻截恶意软件,如病毒、蠕虫、特洛伊木马、间谍软件、恶意软件、Bo、零日威胁和rootkit。
从而防止安全违规事件的发生,从而降低管理开销。
通过配置用户帐号与口令安全策略,提高主机系统帐户与口令安全。
技术要求
标准点(参数)
说明
限制系统无用的默认帐号登录
Daemon
Bin
Sys
Adm
Uucp
Nuucp
Lpd
Imnadm
Ldap
Lp
Snapp
invscout
清理多余用户帐号,限制系统默认帐号登录,同时,针对需要使用的用户,制订用户列表进行妥善保存
root远程登录
禁止
禁止root远程登录
口令策略
maxrepeats=3
minlen=8
minalpha=4
minother=1
mindiff=4
minage=1
maxage=25(可选)
histsize=10
口令中某一字符最多只能重复3次
口令最短为8个字符
口令中最少包含4个字母字符
口令中最少包含一个非字母数字字符
新口令中最少有4个字符和旧口令不同
口令最小使用寿命1周
口令的最大寿命25周
口令不重复的次数10次
FTP用户帐号控制
/etc/ftpusers
禁止root用户使用FTP
对系统的日志进行安全控制与管理,保护日志的安全与有效性。
日志记录
记录authlog、wtmp.log、sulog、failedlogin
记录必需的日志信息,以便进行审计
日志存储(可选)
日志必须存储在日志服务器中
使用日志服务器接受与存储主机日志
日志保存要求
2个月
日志必须保存2个月
日志系统配置文件保护
文件属性400(管理员帐号只读)
修改日志配置文件(syslog.conf)权限为400
日志文件保护
修改日志文件authlog、wtmp.log、sulog、failedlogin的权限为400
1.4数据库
1.4.1安全基线配置
数据库系统自身存在很多的漏洞,严重威胁数据库自身的安全,甚至还会威胁到操作系统的安全。
oracle、SQLServer等数据库有很多的广为人知的漏洞,恶意的用户很可能利用这些漏洞进行数据库入侵操作。
同时在企业内部对数据库权限管理不严格,数据库管理员不正确的管理数据库,使得内部普通员工很容易获取数据库的数据。
因此需通过数据库安全扫描工具,比如安信通数据库漏洞扫描系统DatabaseSecurityScanSystem简称AXTDBS。
AXTDBS数据库安全扫描系统能够自动地鉴别在数据库系统中存在的安全隐患,能够扫描从口令过于简单、权限控制、系统配置等一系列问题,内置的知识库能够对违背和不遵循安全性策略的做法推荐修正的操作,并提供简单明了的综合报告和详细报告。
配置用户帐号与口令安全策略,提高数据库系统帐户与口令安全。
技术点(参数)
数据库主机管理员帐号
控制默认主机管理员帐号
禁止使用oracle或administrator作为数据库主机管理员帐号
oracle帐号
删除无用帐号
清理帐号,删除无用帐号
默认帐号
修改口令
如DBSNMPSCOTT
数据库SYSDBA帐号
禁止远程登录
修改配置参数,禁止SYSDBA远程登录
禁止自动登录
修改配置参数,禁止SYSDBA自动登录
a)PASSWORD_VERIFY_FUNCTION8
b)PASSWORD_LIFE_TIME180(可选)
c)PASSWORD_REUSE_MAX5
a)密码复杂度8个字符
b)口令有效期180天
c)禁止使用最近5次使用的口令
帐号策略
FAILED_LOGIN_ATTEMPTS5
连续5次登录失败后锁定用户
public权限
优化
清理public各种默认权限
日志审核
启用
启用数据库审计功能
登录日志记录
启动
建立日志表,启动触发器
数据库操作日志(可选)
日志审计策略(可选)
OS
日志记录在操作系统中
设置访问日志文件权限
对系统配置参数进行调整,提高数据库系统安全。
数据字典保护
启用数据字典保护
限制只有SYSDBA权限的用户才能访问数据字典
监听程序加密
设置监听器口令
监听服务连接超时
编辑listener.ora文件connect_timeout_listener=10秒
设置监听器连接超时
服务监听端口(可选)
在不影响应用的情况下,更改默认端口
修改默认端口TCP1521
1.4.2中间件
Tomcat中间件安全要求
应用安全加固,提高程序安全。
应用程序安全
关闭war自动部署,防止被植入木马等恶意程序
unpackWARs="
false"
autoDeploy="
用户帐号与口令安全
配置用户帐号与口令安全策略,提高系统帐户与口令安全。
安全策略
屏蔽用户权限
用户安全设置
注释或删除tomcat_users.xml所有用户权限
<
?
xmlversion='
1.0'
encoding='
utf8'
>
tomcatusers>
/tomcatusers>
注释或删除所有用户权限
隐藏tomcat版本信息
enableLookup=”false”
隐藏tomcat版本信息,编辑server.xml
安全配置
initparam>
paramname>
listings<
/paramname>
paramvalue>
false<
/paramvalue>
/initparam>
禁止列目录,编辑web.xml
对系统的配置进行优化,保护程序的安全与有效性。
优化server.xml
用普通用户启动Tomcat
为了进一步安全,我们不建议使用root来启动Tomcat。
这边建议使用专用用户tomcat或者nobody用户来启动Tomcat。
在启动之前,需要对我们的tomcat安装目录下所有文件的属主和属组都设置为指定用户。
安全防护
通过对tomcat系统配置参数调整,提高系统安全稳定。
安装优化(可选)
设置session过期时间,tomcat默认是30分钟
防止已知攻击
maxThreads连接数限制
maxThreads是Tomcat所能接受最大连接数。
一般设置不要超过8000以上,如果你的网站访问量非常大可能使用运行多个Tomcat实例的方法,
即,在一个服务器上启动多个tomcat然后做负载均衡处理
压缩传输
tomcat作为一个应用服务器,也是支持
gzip压缩功能的。
我们可以在server.xml配置文件中的Connector节点中配置如下参数,来实现对指定资源类型进行压缩。
禁用Tomcat管理页面
线上是不使用Tomcat默认提供的管理页面的,因此都会在初始化的时候就把这些页面删掉。
这些页面是存放在Tomcat安装目录下的webapps目录下的。
我们只需要删除该目录下的所有文件即可。
1.5应用安全设计
1.5.1身份鉴别防护设计
1)口令创建
口令创建时必须具有相应规则,如要求,口令不能使用连续数字、必须由大小写字母数字和特殊字符混合组成等。
2)口令传输
口令验证、修改等操作发生时,传输到服务器端的口令,在传输通道上应采用加密或SSL方式传输。
降低口令在网络传输被截取所带来的风险。
3)口令存储
口令在存储时,应采MD5加密后存储。
严禁明文存储,避免口令存储文件暴露时用户口令泄密。
4)口令输入
网络认证登录时,口令输入控件避免使用游览器自带的口令输入框和键盘直接输入。
通过提供口令输入插件、软件盘等方式提高口令输入安全性。
5)口令猜测
限制口令长度不低于8位,降低被猜测的风险,提高口令破解难度。
6)口令维护
对需要重新设置口令的,管理员重置为初始口令。
用户首次使用该口令时,强制要求修改初始口令。
增加口令有效期限制,同一口令超出有效期后用户必须更改新口令。
1.5.2访问控制防护设计
自主性访问控制是在确认主体身份及其所属的组的基础上对访问进行控制的一种控制策略。
它的基本思想是:
允许某个主体显示的指定其他主体对该主体所拥有的信息资源是否可以访问以及执行。
自主访问控制有两种实现机制:
一是基于主体DAC实现,它通过权限表表明主体对所有客体的权限,当删除一个客体时,需遍历主体所有的权限表;
另一种是基于客体的DAC实现,它通过访问控制链表ACL(AccessControlList)来表明客体对所有主体的权限,当删除一个主体时,要检查所有客体的ACL。
为了提高效率,系统一般不保存整个访问控制矩阵,是通过基于矩阵的行或列来实现访问控制策略。
1.6自身安全防护设计
1.6.1注入攻击防护设计
1)对数据进行正确地转义处理:
以保证它们不会被解释为HTML代码(对浏览器而言)或者XML代码(对Flash而言)。
过滤参数中符合<
html>
/html>
标签和<
script>
/script>
的特殊字符,对“<
”替换为“&
lt;
”,“>
gt;
”,“(”替换为“&
#40;
”,“)”替换为“&
”,“'
#39;
”,“””替换“&
#34”。
2)删除会被恶意使用的字符串或者字符:
一般情况下,删除一些字符会对用户体验造成影响,举例来说,如果开发人员删除了上撇号(’),那么对某些人来说就会带来不便,如姓氏中带有撇号的人,他们的姓氏就无法正常显示。
对所有用户提供的又被发回给Web浏览器的数据都进行转义处理,包括AJAX调用、移动式应用、Web页面、重定向等内的数据。
过滤用户输入要保护应用程序免遭跨站点脚本编制的攻击,请通过将敏感字符转换为其对应的字符实体来清理HTML。
这些是HTML敏感字符:
>
"
'
%;
)(&
+。
1.6.2漏洞利用防护设计
使用安装在目标计算系统上的安全组件在传输层(例如传输通信协议(TCP)套接层)监控网络流量。
当接收到以所述计算系统为目的的消息时,将被包括在所述消息中的数据与用于识别恶意代码的利用证据进行比较。
所述利用证据通过收集关于所述恶意代码的信息的安全服务提供给所述安全组件。
基于所述消息中的数据与所述利用证据的所述比较,识别规则,所述规则指示所述安全组件对所接收的消息采取适当的行动。
1.6.3防篡改设计
当判断出现篡改后,系统进入紧急处理程序。
紧急程序首先做的是恢复被篡改文件。
将“样本”文件覆盖到WebService的指定目录中去,使WEB服务正常;
然后发送报警信息,同时,缩短轮询时间为每50毫秒一次。
当继续检测到异常时,首先停止WEB服务,然后发送报警信息。
1.6.4应用审计设计
系统提供日志功能,将用户登录、退出系统,以及重要的模块所有的操作都记录在日志中,并且重要的数据系统采用回收站的方式保留,系统管理员能够恢复被删除的数据,有效追踪非法入侵和维护系统数据安全。
操作系统日志是操作系统为系统应用提供的一项审计服务,这项服务在系统应用提供的文本串形式的信息前面添加应用运行的系统名、时戳、事件ID及用户等信息,然后进行本地或远程归档处理。
操作系统日志很容易使用,许多安全类工具都使用它作为自己的日志数据。
如,Window操作系统日志记录系统运行的状态,通过分析操作系统日志,可以实现对操作系统的实时监拄,达到入侵防范的目的。
操作系统日志分析需要将大量的系统日志信息经过提取并处理得到能够让管理员识别的可疑行为记录,然后分析日志可以对操作系统内的可疑行为做出判断和响应。
为了保证日志分析的正常判断,系统日志的安全就变得异常重要,这就需要从各方面去保证日志的安全性,系统日志安全通常与三个方面相关,简称为“CIA”:
1.保密性(Confidentiality):
使信息不泄露给非授权的个人、实体或进程,不为其所用。
2.完整性(Integrity):
数据没有遭受以非授权方式所作的篡改或破坏。
3.确认性(Accountability):
确保一个实体的作用可以被独一无二地跟踪到该实体。
1.6.5通信完整性防护设计
数据完整性要求防止非授权实体对数据进行非法修改。
用户在跟应用系统进行交互时,其输入设备如键盘、鼠标等有可能被木马程序侦听,输入的数据遭到截取修改后被提交到应用系统中。
另外存储在应用系统数据库中的数据也有可能遭到非法修改。
通过摘要算法,获得数据的摘要。
接收方在收到数据时,使用相同的算法获取该数据摘要,与发送的发送的原数据摘要比对。
相同,则证明数据完整未经过修改。
不同时,则证明该数据不是原始数据。
1.6.6通信保密性防护设计
除HTTPS通信外,将数据在输出之前进行加密。
加密完成后,可以将密文通过不安全渠道送给数据接收人,只有拥有解密密钥的数据接收人才可以对密文进行解密,即反变换得到明文。
密钥的传递必须通过安全渠道。
目前通用的加密算法主要分为对称和非对称算法。
对称算法采用相同的密钥进行加密和解密。
常用的对称加密算法有AES、IDEA、RC2/RC4、DES等,其最大的困难是密钥分发问题,必须通过当面或在公共传送系统中使用安全的方法交换密钥。
对称加密由于加密速度快、硬件容易实现、安全强度高,因此仍被广泛用来加密各种信息。
但对称加密也存在着固有的缺点:
密钥更换困难,经常使用同一密钥进行数据加密,给攻击者提供了攻击密钥的信息和时间。
非对称算法,采用公钥进行加密而利用私钥进行解密。
公钥是可以公开的,任何人都可以获得,数据发送人用公钥将数据加密后再传给数据接收人,接收人用自己的私钥解密。
非对称加密的安全性主要依赖难解的数学问题,密钥的长度比对称加密大得多,因此加密效率较低,主要使用在身份认证、数字签名等领域。
非对称加密的加密速度慢,对于大量数据的加密传输是不适合的。
非对称加密算法包括RSA、DH、EC、DSS等。
1.7系统交互安全设计
1.7.1系统交互安全性设计
系统间的交互采用接口方式,基本的安全要求有身份认证、数据的机密性与完整性、信息的不可抵赖性。
主要通过以下途径来保证安全
基本的身份验证。
每次业务请求服务时要提交用户名及口令(双方约定的用户名及口令)。
业务受理方每次接受请求时先验证这对用户名及口令,再对请求进行响应。
1.7.2系统安全监控和检测设计
基于网络的入侵检测产品(NIDS)放置在比较重要的网段内,不停地监视网段中的各种数据包。
对每一个数据包或可疑的数据包进行特征分析。
如果数据包与产品内置的某些规则吻合,入侵检测系统就会发出警报甚至直接切断网络连接。
目前,大部分入侵检测产品是基于网络的。
1.8数据及备份安全设计
1.8.1数据的保密性设计
存储系统作为数据的保存空间,是数据保护的最后一道防线;
随着存储系统由本地直连向着网络化和分布式的方向发展,并被网络上的众多计算机共享,使存储系统变得更易受到攻击,相对静态的存储系统往往成为攻击者的首选目标,达到窃取、篡改或破坏数据的目的。
对称加密的加密密钥和解密密钥相同,而非对称加密的加密密钥和解密密钥不同,加密密钥可以公开而解密密钥需要保密。
由于对称加密算法和非对称加密算法各有优缺点,即非对称加密算法要比对称加密算法处理速度慢,但密钥管理简单,因而在当前新推出的许多新的安全协议中,都同时应用了这两种加密技术。
一种常用的方法是利用非对称加密的公开密钥技术传递对称密码,而用对称密钥技术来对实际传输的数据进行加密和解密,例如,