sqlserver身份验证方式的使用疑惑
一般情况下sqlserver什么时候用windows身份验证,什么时候用sqlserver身份验证啊?还有就是做web程序的时候在webconfig里面写数据库连接串是不是大家都是用的sqlserver身份验证的,怎么设置能保证安全性额,有用windows验证的大侠吗?挺疑惑的希望大家帮忙说下,谢谢!
------解决方案--------------------windows身份认证只能本地或者域环境使用,SQL Server的没有限制。
安全性的话windows的好点,安全性可以由操作系统保证。它的用户实际上就是windows的用户。
------解决方案--------------------程序里访问 数据库,都是通过 SQL SERVER身份验证的。没有通过WINDOWS验证的。WEB应用程序一般也都部署在服务器端。也有在客户端的。 将SQL SERVER 端口不要对外网开放,只对内网开放,在和外网交互时,做个映射,这样可以有效保护服务器的IP 免遭攻击
------解决方案--------------------SQL 登录仅仅是:密码登录,只要知道账号密码,基本上就完蛋了。
而Windows登录,是基于操作系统的安全级别。比如一个域账号,你要有登录windows的权限才有机会去登录SQLServer,加之其内部有很多安全机制。所以windows登录比sql登录更加安全。当然windows不是适合所有环境,所以需要根据不同的应用环境选择。
------解决方案--------------------Windows身份验证是指用户连接SQL时,直接使用windows操作系统中的帐户名和密码进行验证。也就是在SQL中可以创建windows用户帐号对应的登录帐号。这样当你登录windows系统后,再登录SQL就不需要再输入一次帐号和密码了。但不是所有windows账户都可以登录SQL,必须要在SQL中创建与windows帐号对应的SQL帐号才可以。SQL2008默认本地windows组可以不受限制的访问SQL。
而SQL验证与windows系统无关,主要用于从网络上访问SQL数据库,即使网络上的客户端没有服务器操作系统的帐号也可以登录并使用SQL。
------解决方案--------------------windows身份验证:
只要能登录操作系统的用户都可以登录数据库.
sqlserver身份验证
需要在数据库中设置用户和密码,才能登录可以登录的数据库.
windows登录比sql登录安全,数据库连接串一般都是sqlserver身份验证
------解决方案--------------------windows身份验证:
只要能登录操作系统的用户都可以登录数据库.
sqlserver身份验证
需要在数据库中设置用户和密码,才能登录可以登录的数据库.
windows登录比sql登录安全,数据库连接串一般都是sqlserver身份验证
------解决方案--------------------网络传输数据时加强安全性,只有进行加密了,但是为了减少sql 注入,建议使用存储过程来做登录操作,同时前端程序要做一定的处理,比如把"-"改成"_",因为--是T-SQL的注释,容易造成sql 注入。
------解决方案--------------------一、Sql Server在开发程序时,为安全起见,尽量用用户名和密码形式,最好不要用sa,如果闲麻烦用sa,一定要为sa设密码呀,最好是:wnxyn!@#520,这些不容易破解。
二、Sql Server在安装时,要设定好实例名,如:主机\实例名,我的就是cs\sql2005,这样也安全一些,总比光主机名安全。
三、在程序设计方面的安全,还需要你自己动脑想想,如:sql注入、传递参数或内存变量加密、程序登陆时的验证码等。
四、还有些安全是你程序装在服务器上的操作系统的安全性,有很多人为了端口问题都关掉防火墙,本人不建议这么做,这些都是安全隐患。
五、源代码要记得做编译,否则,所有安全都不是安全!
就这些了,希望楼主今后的程序开发之路会越走越顺!
------解决方案--------------------sql登录的数据包,据说没加密的?
所以,不要让登录者与服务器通过互联网
最好是通过应用服务器隔离