全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基本的基本的 SQLSQL 安全策略安全策略 一个故事引起的安全意识一个故事引起的安全意识 前几日笔者在家里的 PC 上安装了 Windows7 旗舰版的操作系统 顺便搭了 sqlserver2008 和 vs2010 的开发环境 本打算业余时间可以方便开发 学习 可 是不尽人意啊 用了不到两天 居然突然出现一个新建的系统用户 还是管理 员组的 晕死了 机器让人给挂马了 成了 肉鸡 养马场 仔细排查后 看 Windows 日志 sqlserver 日志等 初步推断 是某位无聊的 黑客 同志 通过 扫描器踩点后 然后用 1433 端口入侵工具 去找 sa 用户弱口令 挂上 黑客字 典 弱口令一会儿就可以算出来了 接下来就获得了系统管理员权限 给我机 器上放了一些 类似于特洛伊的小虫子 有新建了一个帐户 加入管理员组 做个提权 哎哟 NND 还想给我来远程控制啊 还好 这位仁兄比较有 职业道德 估计也是在 友情检测 罢了 至少在我发现之前 没有做什么严 重的破坏 删除数据 格盘等危险操作 看来我得好好反省了 毕竟自己在中学时代也是个 黑客爱好者 曾混迹 于各大黑客论坛 网站联盟等 入侵者惯用的那些手法和思路 我还是非常熟 悉的 虽然有几年没有接触了 分析一下我的失误 1 安装系统的时候 随便 指定了管理员 并给了空口令 2 没有检查防火墙 安全策略 杀毒软件等 认 为自己至少在曾经是很懂安全的 估计没人敢惹我 应该没事的 3 安装数据 库的前后 没有做任何的安全控制 例如用户 权限等 就连 sa 用户 为了图 个方便快速 也随便给了弱口令 o o 哈哈 今天就总结一下 sqlserver 的 安全相关问题 注意 暂时不讨论 sql 注入方面的知识 因为我觉得 sql 注入更 接近 脚本安全 和程序员更加关系密切 我今天说的 可能更适合于系统管 理员或者 DBA 大多数系统管理员对数据库不熟悉而数据库管理员有对安全问题关心太少 而且一些安全公司也忽略数据库安全 这就使数据库的安全问题更加严峻了 如果数据库管理员不希望操作系统管理员来通过操作系统登陆来接触数据库 数据库是电子商务 金融以及 ERP 系统的基础 通常都保存着重要的商业 伙伴和客户信息 大多数企业 组织以及政府部门的电子数据都保存在各种数 据库中 他们用这些数据库保存一些个人资料 比如员工薪水 个人资料等等 数据库服务器还掌握着敏感的金融数据 包括交易记录 商业事务和帐号数据 战略上的或者专业的信息 比如专利和工程数据 甚至市场计划等等应该保护 起来防止竞争者和其他非法者获取的资料 数据完整性和合法存取会受到很多 方面的安全威胁 包括密码策略 系统后门 数据库操作以及本身的安全方案 但是数据库通常没有象操作系统和网络这样在安全性上受到重视 微软的 SQL Server 是一种广泛使用的数据库 很多电子商务网站 企业内部信 息化平台等都是基于 SQL Server 上的 但是数据库的安全性还没有被人们更系 统的安全性等同起来 多数管理员认为只要把网络和操作系统的安全搞好了 那么所有的应用程序也就安全了 大多数系统管理员对数据库不熟悉而数据库 管理员有对安全问题关心太少 而且一些安全公司也忽略数据库安全 这就使 数据库的安全问题更加严峻了 数据库系统中存在的安全漏洞和不当的配置通 常会造成严重的后果 而且都难以发现 数据库应用程序通常同操作系统的最 高管理员密切相关 广泛 SQL Server 数据库又是属于 端口 型的数据库 这就 表示任何人都能够用分析工具试图连接到数据库上 从而绕过操作系统的安全 机制 进而闯入系统 破坏和窃取数据资料 甚至破坏整个系统 这里 我们主要谈论有关 SQL Server2000 数据库的安全配置以及一些相关的安 全和使用上的问题 在进行 SQL Server 2000 数据库的安全配置之前 首先你必须对操作系统进行安 全配置 保证你的操作系统处于安全状态 然后对你要使用的操作数据库软件 程序 进行必要的安全审核 比如对 ASP PHP 等脚本 这是很多基于数据 库的 WEB 应用常出现的安全隐患 对于脚本主要是一个过滤问题 需要过滤 一些类似 等字符 防止破坏者构造恶意的 SQL 语句 接着 安装 SQL Server2000 后请打上补丁 sp1 以及最新的 sp2 下载地址是 和 在做完上面三步基础之后 我们再来讨论 SQL Server 的安全配置 1 使用安全的密码策略 使用安全的密码策略 我们把密码策略摆在所有安全配置的第一步 请注意 很多数据库帐号的密码 过于简单 这跟系统密码过于简单是一个道理 对于 sa 更应该注意 同时不要 让 sa 帐号的密码写于应用程序或者脚本中 健壮的密码是安全的第一步 SQL Server2000 安装的时候 如果是使用混合模式 那么就需要输入 sa 的密码 除非你确认必须使用空密码 这比以前的版本有所改进 同时养成定期修改密码的好习惯 数据库管理员应该定期查看是否有不符合密 码要求的帐号 比如使用下面的 SQL 语句 Use master Select name Password from syslogins where password is null 2 使用安全的帐号策略 使用安全的帐号策略 由于 SQL Server 不能更改 sa 用户名称 也不能删除这个超级用户 所以 我们 必须对这个帐号进行最强的保护 当然 包括使用一个非常强壮的密码 最好 不要在数据库应用中使用 sa 帐号 只有当没有其它方法登录到 SQL Server 实 例 例如 当其它系统管理员不可用或忘记了密码 时才使用 sa 建议数据库 管理员新建立一个拥有与 sa 一样权限的超级用户来管理数据库 安全的帐号策 略还包括不要让管理员权限的帐号泛滥 SQL Server 的认证模式有 Windows 身份认证和混合身份认证两种 如果数据库 管理员不希望操作系统管理员来通过操作系统登陆来接触数据库的话 可以在 帐号管理中把系统帐号 BUILTIN Administrators 删除 不过这样做的结果是一 旦 sa 帐号忘记密码的话 就没有办法来恢复了 很多主机使用数据库应用只是用来做查询 修改等简单功能的 请根据实际需 要分配帐号 并赋予仅仅能够满足应用要求和需要的权限 比如 只要查询功 能的 那么就使用一个简单的 public 帐号能够 select 就可以了 3 加强数据库日志的记录 加强数据库日志的记录 审核数据库登录事件的 失败和成功 在实例属性中选择 安全性 将其中的 审核级别选定为全部 这样在数据库系统和操作系统日志里面 就详细记录了 所有帐号的登录事件 请定期查看 SQL Server 日志检查是否有可疑的登录事件发生 或者使用 DOS 命令 findstr C 登录 d Microsoft SQL Server MSSQL LOG 4 管理扩展存储过程 管理扩展存储过程 对存储过程进行大手术 并且对帐号调用扩展存储过程的权限要慎重 其实在 多数应用中根本用不到多少系统的存储过程 而 SQL Server 的这么多系统存储 过程只是用来适应广大用户需求的 所以请删除不必要的存储过程 因为有些 系统的存储过程能很容易地被人利用起来提升权限或进行破坏 如果你不需要扩展存储过程 xp cmdshell 请把它去掉 使用这个 SQL 语句 use master sp dropextendedproc xp cmdshell xp cmdshell 是进入操作系统的最佳捷径 是数据库留给操作系统的一个大后门 如果你需要这个存储过程 请用这个语句也可以恢复过来 sp addextendedproc xp cmdshell xpsql70 dll 如果你不需要请丢弃 OLE 自动存储过程 会造成管理器中的某些特征不能使用 这些过程包括如下 Sp OACreate Sp OADestroy Sp OAGetErrorInfo Sp OAGetProperty Sp OAMethod Sp OASetProperty Sp OAStop 去掉不需要的注册表访问的存储过程 注册表存储过程甚至能够读出操作系统 管理员的密码来 如下 Xp regaddmultistring Xp regdeletekey Xp regdeletevalue Xp regenumvalues Xp regread Xp regremovemultistring Xp regwrite 还有一些其他的扩展存储过程 你也最好检查检查 在处理存储过程的时候 请确认一下 避免造成对数据库或应用程序的伤害 5 使用协议加密 使用协议加密 SQL Server 2000 使用的 Tabular Data Stream 协议来进行网络数据交换 如果不 加密的话 所有的网络传输都是明文的 包括密码 数据库内容等等 这是一 个很大的安全威胁 能被人在网络中截获到他们需要的东西 包括数据库帐号 和密码 所以 在条件容许情况下 最好使用 SSL 来加密协议 当然 你需要 一个证书来支持 6 不要让人随便探测到你的 不要让人随便探测到你的 TCP IP 端口端口 默认情况下 SQL Server 使用 1433 端口监听 很多人都说 SQL Server 配置的 时候要把这个端口改变 这样别人就不能很容易地知道使用的什么端口了 可 惜 通过微软未公开的 1434 端口的 UDP 探测可以很容易知道 SQL Server 使用 的什么 TCP IP 端口了 不过微软还是考虑到了这个问题 毕竟公开而且开放的端口会引起不必要的麻 烦 在实例属性中选择 TCP IP 协议的属性 选择隐藏 SQL Server 实例 如果 隐藏了 SQL Server 实例 则将禁止对试图枚举网络上现有的 SQL Server 实例 的客户端所发出的广播作出响应 这样 别人就不能用 1434 来探测你的 TCP IP 端口了 除非用 Port Scan 7 修改 修改 TCP IP 使用的端口使用的端口 请在上一步配置的基础上 更改原默认的 1433 端口 在实例属性中选择网络配 置中的 TCP IP 协议的属性 将 TCP IP 使用的默认端口变为其他端口 8 拒绝来自 拒绝来自 1434 端口的探测端口的探测 由于 1434 端口探测没有限制 能够被别人探测到一些数据库信息 而且还可能 遭到 DOS 攻击让数据库服务器的 CPU 负荷增大 所以对 Windows 2000 操作系 统来说 在 IPSec 过滤拒绝掉 1434 端口的 UDP 通讯 可以尽可能地隐藏你的 SQL Server 9 对网络连接进行 对网络连接进行 IP 限制限制 SQL Server 2000 数据库系统本身没有提供网络连接的安全解决办法 但是 Windows 2000 提供了这样的安全机制 使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- IBM面试技巧如何准备和应对不同行业的面试问题
- 面试压力应对策略与方法
- 儿科医师儿科营养指导方案
- 仓储管理专员仓库成本控制方案
- PM管理面试常见问题集
- 企业培训专员岗位职业技能与面试技巧探讨
- 产品专员工作计划与竞品分析报告
- 企业团组织副书记工作活动策划方案
- 内容运营专员新员工入职培训手册
- 产品经理面试常见问题及用户调研方法
- T-CSTM 00455-2021 预涂卷材用粉末涂料
- 电气用电安全知识培训
- 酒店点菜技巧培训
- 2025年心理b证笔试试题及答案
- 2024-2025学年新乡市一中八年级上册期末考试数学试卷(含部分答案)
- 高一上学期统编版(2019)必修中外历史纲要上翻书大赛课件
- 《海南历史文化》课件
- 《初级会计实务》(第五版) 第三章 流动资产
- 主变防火墙脚手架搭设施工安全技术交底
- 三减三健课件
- 山西省晋中市四校联考2024-2025学年八年级上学期期中考试物理试卷(无答案)
评论
0/150
提交评论