信息系统攻击与防御(第九章)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9.3.操作系统安全 (续)
Windows操作系统安全: 15.防范NetBIOS漏洞攻击 16.解决SNMP缓冲区溢出漏洞 17.加固IIS服务器的安全 18.使用IPSec来控制端口访问 19.系统日志放在何处 : 1.关于日志文件默认位置: 应用程序日志,安全日志,系统日志,DNS等服务日志的默认位置在系统安 装目录下的system32\config下. 2.关于日志文件保存目录详细描述: 安全日志文件:系统安装目录\system32\config\SecEvent.EVT 系统日志文件:系统安装目录\system32\config\SysEvent.EVT 应用程序日志文件:系统安装目录\system32\config\AppEvent.EVT FTP日志默认位置:系统安装目录\system32\logfiles\msftpsvc1\日志文 件 WWW日志默认位置:系统安装目录\system32\logfiles\w3svc1\日志文件 定时(Scheduler)服务日志默认位置:系统安装目录\schedlgu.txt 安全日志文件,系统日志文件,应用程序日志文件,这三个日志记录都是 有系统的一个称为: Event Log服务生成的,Event Log 的作用是记录程 序和 Windows 发送的事件消息.
9.2.数据库安全
对于数据库系统来说,威胁主要来自:非法访问 数据库信息;恶意破坏数据库或未经授权非法修 改Baidu Nhomakorabea据库数据;用户通过网络进行数据库访问时, 受到各种攻击,如搭线窃听等;对数据库的不正 确访问,引起数据库数据的错误. 数据库系统的安全需求与其它系统大致相同,要 求有完整性,可靠性,有效性,保密性,可审计 性及存取控制及用户身份鉴定等.
9.3.操作系统安全 (续)
设置安全强壮密码的原则 : 所有安全强壮的密码至少要有下列四方面内容的三种: 大写字母; 小写字母; 数字; 非字母数字的字符,如标点符号等. 安全的密码还要符合下列的规则: 不使用普通的名字或昵称; 不使用普通的个人信息,如生日日期; 密码里不含有重复的字母或数字; 至少使用八个字符; 应该还要求用户42天必须修改一次密码.
9.2.数据库安全(续)
mssql安全 : Mssql注入防范 : 注入防范 ⑵ 用存储过程来执行所有的查询.SQL参数的传递方式将防止攻击者利用 单引号和连字符实施攻击.此外,它还使得数据库权限可以限制到只允许 特定的存储过程执行,所有的用户输入必须遵从被调用的存储过程的安全 上下文,这样就很难再发生注入式攻击了. ⑶ 限制表单或查询字符串输入的长度.如果用户的登录名字最多只有10个 字符,那么不要认可表单中输入的10个以上的字符,这将大大增加攻击者 在SQL命令中插入有害代码的难度. ⑷ 检查用户输入的合法性,确信输入的内容只包含合法的数据.数据检查 应当在客户端和服务器端都执行——之所以要执行服务器端验证,是为了 弥补客户端验证机制脆弱的安全性. ⑸ 将用户登录名称,密码等数据加密保存.加密用户输入的数据,然后再 将它与数据库中保存的数据比较,这相当于对用户输入的数据进行了"消 毒"处理,用户输入的数据不再对数据库有任何特殊的意义,从而也就防 止了攻击者注入SQL命令.System.Web. Security.FormsAuthentication类 有一个HashPasswordForStoringInConfigFile,非常适合于对输入数据进 行消毒处理. ⑹ 检查提取数据的查询所返回的记录数量.如果程序只要求返回一个记录, 但实际返回的记录却超过一行,那就当作出错处理.
9.3.操作系统安全 (续)
Windows操作系统安全: 1. 强制使用安全强壮的密码 2. 设置安全的帐号策略 3. 系统文件权限的分类 4. 保护注册表的安全 5. 消除默认安装目录风险 6. 取消默认系统帐号风险 7. 删除默认共享风险 8. 加强系统打印驱动的安全 9. 加强共享系统对象的安全 10.手动查找并清除木马程序 10.手动查找并清除木马程序 11.加强对域和帐号数据库的管理 11.加强对域和帐号数据库的管理 12.修改共享目录默认控制权限 12.修改共享目录默认控制权限 13.禁止不必要的服务 13.禁止不必要的服务 14.防范NetBIOS漏洞攻击 防范NetBIOS 14.防范NetBIOS漏洞攻击
9.2.数据库安全(续)
mysql的安全 : 参见教材(自学)
9.3.操作系统安全
一个有效而可靠的操作系统应具有优良的保护性能,系统必须提供 一定的保护措施,因为操作系统是所有编程系统的基础,而且在计 算机系统中往往存储着大量的信息,系统必须对这些信息提供足够 的保护,以防止被未授权用户滥用或毁坏.只靠硬件不能提供充分 的保护手段,必须将操作系统与适当的硬件相结合才能提供强有力 的保护.操作系统应提供的安全服务有:内存保护,文件保护,普 通实体保护(对实体的一般存取控制),存取认证(用户的身份认 证),这些服务可以防止用户软件的缺陷损害系统. 操作系统的安全可从以下几个方面来考虑:①物理上分离,进程使 用不同的物理实体.②时间上分离,具有不同安全要求的进程在不 同的时间运行.③逻辑上分离,用户感觉上是在没有其他进程的情 况下进行的,而操作系统限制程序的存取使得程序不能存取允许范 围以外的实体.④密码上分离,进程以一种其他进程不了解的方式 隐藏数据及计算.前两种方法将直接导致资源利用率严重下降,因 此一般不用.
9.3.操作系统安全 (续)
5.安全核 在构造高度安全的操作系统时,安全核技术是目前唯一最常用的技术.安 全核技术的基础是引用监控器,它是负责实施系统安全策略的硬件与软件 的组合体.由安全策略描述的访问判决是基于访问控制数据库中的信息作 出的.访问控制数据库体现了系统的安全状态,它包括安全属性与访问权 之类的信息. 6.审计 审计作为一种事后追查的手段来保护系统的安全,事实上,审计就是对涉 及系统安全的操作做一个完整的记录,以备有违反系统安全规则的事件发 生后能够有效地追查事件发生的地点及过程. 7.安全模型 安全模型的目的在于明确地表达这些要求.安全模型具有以下几个性质: 精确,无歧义. 简易和抽象. 一般性,只涉及安全性质,而不过度地抑制系统的功能或其实现. 是安全策略的明显表现.
9.2.数据库安全(续)
access的安全 : Access数据库的安全机制已经更为完善. 除了对数据库设置密码保护,对数据库进 行编码压缩,还可以启用用户级的安全机 制,在用户级别上控制对数据库的访问. 1.数据库设置密码 2.数据库压缩编码 3.用户级安全机制
9.2.数据库安全(续)
第九章 安全防御方法
1. 构建安全系统概述 2. 数据库安全 3. 操作系统安全 4. 网络安全
内容简介
本章全面介绍了安全防御的各种方法,首 先介绍了如何构建一个安全系统,然后分 别介绍了数据库的安全防御,操作系统的 安全防御和网络的安全防御.
9.1.构建安全系统概述 构建安全系统概述
但凡一个安全系统都可以按照以下体系来构建: 1.以最小权限运行 2.缺省安全 3.验证输入 (1)验证应用程序的输入 (2)验证外部组件的输入 (3)安全异常 (4)评估规范化问题 4.防护措施 (1)多层防护系统. (2)在软件系统内设置多层防护. (3)使用ACL(访问控制列表). (4)其它的一些做法: 不要信任未知的东西.只有在验明了来人的身份后,才能授予相应的权限. 不要保存秘密信息.保存秘密信息(比如密钥)很可能被攻击者窃取. 使用操作系统提供的DPAPI(Data Protection Application Programming Interface)—— 一个保护密钥的对策. 5.安全的处理错误和异常 6.对系统的安全特性进行严格的测试. 7.从错误中获取知识和经验.学会总结经验教训,以避免再犯. 8.不断学习安全相关的知识.
9.3.操作系统安全 (续)
1.进程控制块 对安全操作系统的一个基本要求是系统必须使各用户彼此隔离,但允许通过受 控路径进行信息交换.在一个时间共享或多道程序系统中,每个用户都可能会 有多个进程同时运行即进程并发执行,所以,所有的现代操作系统都支持将一 个进程代理一个用户. 2.存储器保护 对于一个安全操作系统,存储器保护是一个最基本的要求.在一个单用户系统 中,某一时刻系统内存中只运行一个用户进程,这时的存储器保护只需要防止 用户进程的内存区.存储器保护与存储器管理是紧密相联的,存储器保护负责 保证系统内各任务之间互不干扰,存储器管理则是为了更有效地利用存储空间. 3.运行域 运行域(Execution Domains)包括运行状态,运行的上下文关系以及运行模式. 运行域一般由硬件支持,即使没有内存管理与多道程序的支持,系统仍可以提 供运行域机制.一般的域是一种基于保护环的等级式结构.在最内层具有最小 环号的环具有最高特权,而在最外层具有最大环号的环是最小特权环. 4.输入/输出访问控制 在一个操作系统的所有功能中,输入/输出一般是最复杂的,虽然支持进程,存 储器管理以及域结构等功能的硬件为程序员提供了很大的方便,但由硬件实现 一个容易理解的I/O系统似乎与程序员所关心的问题是相悖的.人们往往首先从 系统的I/O部分寻找操作系统安全方面的缺陷,因为硬件对I/O系统的安全几乎 没有什么帮助,在大型机中利用硬件支持I/O系统的目的是出于价格与性能的考 虑,而不是出于安全的原因.
9.2.数据库安全(续)
如何安全配置MSSQL数据库: 1.使用安全的密码策略 2.使用安全的帐号策略 3.管理扩展存储过程 4.对网络连接进行IP限制
9.2.数据库安全(续)
针对嗅探的防护: 1.为了克服使用本地 sql server安全机制暴露用户 信任的缺陷,可以在服务器上安装一个有效的证 书(该证书是客户端信任的,并且事先已经通过 "服务器认证"的凭证). 2.使用交换网络(switched networks)会有助于 降低密码被窃取的风险. 3.针对密码破解,只要把密码设置为足够强壮, 并且对同个ip地址不停的连接请求进行屏蔽即可.
mssql安全 : MSSQL安全设置 安全设置: MSSQL安全设置: (1)设置强壮的口令 (2)删除不必要的系统存储过程与扩展存储过程 (3)用户权限的严格控制 (4)及时打补丁,防止溢出等相关的漏洞.
9.2.数据库安全(续)
mssql安全 :
Mssql注入防范 : 注入防范 ⑴ 对于动态构造SQL查询的场合,可以使用下面的技术: 第一:替换单引号,即把所有单独出现的单引号改成两个单引号, 防止攻击者修改SQL命令的含义.再来看前面的例子,"SELECT * from Users WHERE login = ''' or ''1''=''1' AND password = ''' or ''1''=''1'"显然会得到与"SELECT * from Users WHERE login = '' or '1'='1' AND password = '' or '1'='1'"不同的结果. 第二:删除用户输入内容中的所有连字符,防止攻击者构造出类如 "SELECT * from Users WHERE login = 'mas' -- AND password =''"之类的查询,因为这类查询的后半部分已经被注释掉,不再有 效,攻击者只要知道一个合法的用户登录名称,根本不需要知道用 户的密码就可以顺利获得访问权限. 第三:对于用来执行查询的数据库帐户,限制其权限.用不同的用 户帐户执行查询,插入,更新,删除操作.由于隔离了不同帐户可 执行的操作,因而也就防止了原本用于执行SELECT命令的地方却 被用于执行INSERT,UPDATE或DELETE命令.