网站首页  词典首页

请输入您要查询的论文:

 

标题 提高SQL Server数据库安全性的几点思考
范文

    王桃群

    摘要:数据库的安全性指的是防止非法用户访问数据库,避免造成数据的泄露、更改或破坏,以达到保护数据库的目的。为提高SQL Server数据库的安全性,可考虑修改端口、使用强密码、灵活运用触发器等办法。

    关键词:修改端口;强密码;触发器

    中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)02-0001-01

    1 修改SQL Server端口

    默认情况下,SQL Server数据库引擎侦听TCP端口1433,启动SQL Server 数据库引擎实例后,可在CMD命令提示符窗口中执行netstat命令来查看所有的连接及侦听的端口。入侵者可利用相关工具扫描指定IP段的1433端口,从而对这些IP段内开放了1433端口的SQL Server数据库服务器进行攻击。为防止入侵者扫描1433端口,可修改SQL Server端口,具体操作步骤:(1)打开SQL Server的配置管理器,依次展开“SQL Server网络配置”、“MSSQLSERVER的协议”,双击TCP/IP。(2)在“TCP/IP 属性”对话框的“IP 地址”选项卡上,将显示若干个 IP 地址,格式为:IP1、IP2…,一直到 IPAll。在“IPn 属性”区域框的“TCP 端口”框中,输入希望此 IP 地址侦听的端口号,然后单击“确定”。(3)重启SQL Server服务,端口就修改好了。

    2 设置验证模式、使用强密码

    SQL Server的安全管理机制包括身份验证和访问许可。其中,身份验证有Windows身份验证和混合验证两种模式。为提高数据库的安全性,尽可能使用 Windows 身份验证,当用户通过 Windows 账号连接时,SQL Server 使用操作系统中的 Windows 主体标记验证账号和密码,也就是说,用户身份由 Windows 进行确认。Windows 身份验证使用 Kerberos 安全协议,提供有关强密码复杂性验证的密码策略强制,还提供账户锁定支持,并且支持密码过期。

    当使用混合验证模式时,由于SQL Server的管理员账号sa广为人知,且经常成为恶意用户的攻击目标,因此,除非应用程序需要使用 sa 账户,否则最好禁用该账户,此外,千万不要为 sa 账户设置空密码或弱密码,因为入侵者可利用相关工具扫描SQL Server弱口令。如图1,利用工具X-SCAN扫描得到主机10.106.1.27的SQL Server数据库服务器的管理员账户sa的弱密码。

    一旦获得sa账户的密码,入侵者便可调用数据库服务器中的系统存储过程sp_configure来启用扩展存储过程xp_cmdshell,从而利用xp_cmdshell将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出。例如,入侵者可通过执行命令 exec xp_cmdshell 'net user hacker$ hacker888/add',從而在数据库服务器所在的主机中新建一个系统账号hacker$,接着,执行命令exec xp_cmdshell 'net localgroup administrators hacker$ /add',将系统账户hacker$提升为管理员,从而就可入侵数据库服务器所在的主机,后果便不堪设想了。

    3 灵活运用触发器

    SQL Server 包括三种类型的触发器:DML 触发器、DDL 触发器和登录触发器。

    (1)利用DDL触发器可以防止用户在指定的数据库中创建对象、修改对象或删除对象。例如,使用DDL触发器来防止数据库中的任一表被修改或删除,同时将事件类型、发生时间、登录账号名等信息存储在triggerLog表中。

    CREATE TABLE triggerLog(info xml)

    GO

    CREATE TRIGGER tri_ForbidTable ON DATABASE FOR DROP_TABLE, ALTER_TABLE

    AS

    DECLARE @EventData AS xml

    SET @EventData = EVENTDATA()

    ROLLBACK

    INSERT INTO triggerLog VALUES(EVENTDATA())

    GO

    (2)利用登录触发器可以审核和控制服务器会话,例如限制 SQL Server 的登录名、登录时间和登录IP等。例如,使用登录触发器限制用户sa只能在指定的时间段及指定的IP地址登录数据库服务器。

    账户sa只能在时间段7时~18时、且只能在本机或IP地址为192.168.1.50 或 192.168.1.120的主机登录数据库服务器(如服务器名为jkx108),否则,登录失败,并显示图2所示的对话框。

    4 结语

    数据是一种极具价值的资源,对于一个组织机构来说,部分或者全部数据可能具有战略重要性,现在,许多组织机构要求数据库系统不间断运作,即所谓的“24×7”(一天24小时,一星期7天)不停机运行模式。

    参考文献:

    [1] 王岩,贡正仙.数据库原理、应用与实践(SQL Server).北京:清华大学出版社,2016.

    [2] SQL Server 限制IP登陆(登陆触发器运用). http://www.cnblogs.com/gaizai/archive/2013/05/23/3095145.html,2013.

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/10 17:30:34