网络系统数据库应用系统是数据库技术与网络技术相结合进行信息处理的系统。这种结合一方面大大提高了网络功能,同时也将数据库应用延伸到网络上,发挥数据库强大的数据管理作用。但是基于互联网的会计信息系统,由于会计信息资源完全融合于整个企业的信息资源中,并且面向互联网开放,所以大大加大了网络会计信息系统数据库的安全风险,因此有必要对网络会计信息系统数据库进行安全控制和性能优化。
1 网络会计信息系统数据库的安全控制目前,网络会计信息系统数据库应用系统(基于ASP+SQL Server)的安全问题应该考虑以下几点:
确保存储数据库连接字符串的安全。当应用程序使用SQL身份验证来连接到SQLServer,或者是连接到需要明确登录凭据的非Microsoft数据库,这种情况下连接字符串应包括明文用户名和密码。
使用相应的标识来访问数据库。可以通过使用调用进程的进程标识、一个或多个服务标识,或者原始调用者的标识进行数据访问(例如使用模拟/委托)。
对网络上传输的数据进行保护,包括保护来回传输于SQL Server的登录凭据信息和机密数据。例如在一些应用程序方案中,就需要对应用程序和相应数据库之间的连接路径进行保护,这就要确保消息的完整性和机密性,确保对对应数据的签名和加密。
当调用者访问数据库时,数据库应对其身份是否合法进行验证。应用程序需要使用多个标识连接到一个或多个数据库;③被连到的数据库不是SQL Server等。如果是使用SQL身份验证的话,就要对应用程序服务器上的用户凭据、服务器和数据库之间的用户凭据及SQL连接字符串进行相应的安全保护。
当数据库对调用者授权时,单独的数据库对象和权限是相关联的。权限又可以与用户、组或角色相关联。SQL Server提供了几种基于角色的授权方式。SQL Server支持用户定义的数据库角色、应用程序角色和固定的数据库角色。具体的授权方式视情况而定,如图1所示。
网络数据访问的主要安全问题此外,利用窗体身份验证网络应用程序的漏洞获取存储在数据库中的用户凭据是目前对Web数据库最常见的攻击方式。对此通常的应对方法是存储具有随机salt值的单向密码哈希值或是在对用户的凭据进行验证时避免SQL注入式攻击。
使用保存带有salt值的单向密码哈希值是避免用户凭据密码在数据库中以明文形式或以加密的形式存储的办法。这样可以减轻字典攻击带来的威胁。
SQL注入(SQL Injection)的原理是从客户端提交特殊的代码,然后收集程序及服务器的信息,达到非法获取数据资料的目的。目前主要的解决办法是针对SQL字符筛选用户输入。例如:在关口处(前端应用程序)通过限制输入内容的长度和类型来防止非法输入;使用最低权限的账户来运行SQL代码;当SQL代码发生异常时避免将数据库生成的SQL错误暴露给终端用户等方法也可以降低受攻击的机会并限制攻击损害。
依据上述原则,我们针对基于ASP+SQL Server的网络会计信息系统数据库系统提出了如下建议:
第一,确保用户安全。简单的方法,仅允许SQL的用户访问SQL(防止利用administrator组用户访问)。选择“SQL Server和Windows”身份验证并设置sa密码,其他用户也设置密码。删除用户:<机器名> Administrator,这样可以防止用Windows身份登录SQL。设置进入企业管理器需要输入密码。在企业管理器中编辑SQL Server注册属性选择“使用SQL Server身份验证”并勾选“总是提示输入登录名和密码”。经过以上的设置,SQL Server基本上算是安全了。
第二,更改默认端口,隐藏服务器,从而减少被攻击的可能性。
对SQL的用户,应该防止他访问不该访问的数据库。例如在企业管理器中创建时服务器角色项不选择任何东西,指定创建的用户需要访问的数据库名,数据库角色中允许,勾选“public”,“db ownew”。
第三,给Windows和SQL Server打上最新的补丁,另外,使用存储过程也可以有效地确保数据库的安全。可以在不提供对基本视图和基本表的直接访问的情况下,在存储过程上授予用户和应用程序执行权限,这样除了应用程序前端,通过使用查询工具将不能访问数据。
小编提示,此条信息值得各位公考朋友参考,所以希望朋友们多了解关注,在职考的千军万马中杀出自己的康庄大道!