大家都知道,SQL Server 有“SQL Server和Windows”、“仅Windows”两种身份验证登陆模式, 用户通过 Microsoft Windows 用户帐户连接,SQL Server 使用 Windows 操作系统中的信息验证帐户名和密码,这是默认的身份验证模式,比混合模式安全得多。Windows 身份验证使用 Kerberos 安全协议,通过强密码的复杂性验证提供密码策略强制,提供帐户锁定支持,并且支持密码过期。
为了网站的安全,我们一起学习这种登陆验证模式吧。下面是操作的步骤,按照顺序分别设置即可实现SQL“仅Windows”身份验证模式。
一、连接字符串修改
要使用下面的“仅Windows”身份验证登陆模式,需要修改连接数据库的连接字符串,如动易的原连接字符串为:
|
'标准连接 |
改为如下连接方式其中一种:
|
'安全连接 |
强烈推荐下面连接方式:
|
'安全信任连接 推荐使用该连接方式 |
二、SQL设置
操作步骤第一步(任选其一):修改SQL Windows 身份验证模式
SQL设置Windows 身份验证1(适用正在安装SQL server): 在安装SQL2000时候,如果选择 Windows 身份验证,安装程序会创建一个在默认情况下禁用的 sa 帐户。若要使用混合模式身份验证并在安装完成后激活 sa 帐户。所以我们需要Windows 身份验证模式,就得选择Windows 身份验证。
SQL设置Windows 身份验证2(适用安装完成SQL server): 下面以操作系统Windows 2003上的SQL Server 2000为例,将身份验证模式选择为“windows身份验证模式”,操作步骤为:
1. 打开企业管理器,依次展开服务器组,用右键单击软件使用的服务器。
2. 在弹出的快捷菜单,执行“属性”命令,出现“SQL Server属性”对话框。如图1所示。单击“安全性”标签,在“安全性”选项框中,将改“SQL Server和Windows”为“仅Windows”身份验证。
3. 设置完成后,单击“确定”按钮,系统提示重新启动服务器。
4. 单击“是”按钮,完成对身份验证模式的修改。
如图1:
说明:在 Windows XP操作系统与Windows 2000/2003操作系统下修改SQL Server 2000身份验证模式相同,但在Windows 98操作系统下,却不能通过以上方法对身份验证模式进行修改。因为在Windows 98操作系统下,安装SQL Server 2000时,系统只支持“混合模式”身份验证模式。
三:建立系统帐户
要设置Windows身份验证登陆模式,就需要一个属于Windows身份的帐户,现在我们开始建立一个Windows用户名和密码,操作步骤为:
1. Windows桌面,点击“开始“,依次展开,“设置”,“控制面板”,“管理工具”,“计算机管理”,点击“计算机管理“。如图2所示。
2. 在弹出的对话框,点击“计算机管理(本地)”,依次展开,“系统工具”,“本地用户和组”,“用户”。
3. 在弹出的快捷菜单,执行“新用户”,分别输入“用户名、全名、描述、密码、确认密码”,把“用户下次登陆时须更改密码”去掉勾选,“帐号已禁用”绝对不能勾选,其中中间两选项可以随意勾选。然后确认。如图4所示。
注:“用户名”即是登陆系统的用户名,“密码”和“确认密码”要一致,并设置越复杂越好。“全名”和“描述”可以随便填写,相当于备注。
本帐户是用于正常管理网站的帐户,不需要加到任何的管理组里面。为了下面方便讲解,我这里建立的用户名为:powereasy 密码为:powereasy*9988
如图2:
如图3:
准备工作做好了,下面我们来实践,我们要建立两个站点,一个站点是用于普通用户浏览网站,另一个用于管理员管理网站。
原理:通过不同的域名访问,给当前站点访问数据库不同的权限,这样就可以防止黑客SQL注入,登陆后台等,如果需要正常访问,可以使用管理员网站登陆的域名登陆网站进行管理,当然,管理员登陆地址不能暴露。
四、建立站点
为了讲解清楚,我这里准备了两个域名,普通用户浏览网站的域名为:www.test.com ,管理员管理的域名为:admin888.test.com 。我们先建管理员管理的站点。
建admin888.test.com站点第一步:
1、打开Internet 信息服务(IIS)管理器,选中“网站”---右键---新建---网站;
2、弹出对话框,按“下一步”;

3、输入描述:admin888.test.com ,点击“下一步”;
4、按照下图输入此网站的主机头:admin888.test.com ,点击“下一步”;
5、输入主目录的路径,点浏览选取网站目录,点击“下一步”;
6、勾选前三,点击“下一步”;
完成了管理员登陆的站点(admin888.test.com),为了相对的安全,我们返回到这个站点的属性,设置一下:
1、如下图设置即可,不需要写入权限,执行权限为纯脚本,如下图:
2、目录安全性,如下图:
3、为了系统更新的安全,我们把“启动匿名访问”不要打勾,如下图:
但管理员登陆后台时候,先会通过Windows验证后才能访问网站(后台管理页面)。如下图:
现在,管理员管理网站基本建好,域名可以自己设置一个更为复杂点的域名,预防被其他人发现后台地址。
设置到这里,我们还需要设置程序安装目录。
1、打开安装目录,选中文件夹名,右键---属性---安全---单击“添加”,弹出的对话框中点击"高级",在单击查找,选种"powereasy",双击,然后单击“确认”按钮, 把"powereasy"用户名加到权限列表中,并给予可读取、写入、修改的权限。如下图:
步骤二:设置SQL的权限。
打开企业管理器---依次打开“SQL Server 组“---(LOCAL)---安全性----登陆,然后再右边右键“新建登陆”,添加用户。如下图:
选择数据库表,如下图:
设置数据库访问权限,如下图:
确认后保存即可,admin888.test.com 站点已经建立成功。
接下来,我们要建立的是用户访问站点www.test.com,以下站点的设置和上面基本上相似,但是有点区别的,也不过是大同小异。下面是操作的步骤,也是建立安全站站点的重点。
建立www.test.com站点开始,第一步我们需要在IIS里面建立独立站点,步骤和上面一样,只是绑定的域名不相同,下面看操作步骤。
建www.test.com站点第一步:
1、打开Internet 信息服务(IIS)管理器,选中“网站”---右键---新建---网站;
2、弹出对话框,按“下一步”;

3、输入描述:www.test.com ,点击“下一步”;
4、按照下图输入此网站的主机头:www.test.com ,点击“下一步”;
5、输入主目录的路径,点浏览选取网站目录,点击“下一步”;
6、勾选前三,点击“下一步”;
完成了管理员登陆的站点(www.test.com),为了相对的安全,我们返回到这个站点的属性,设置一下。
第二步:IIS设置
(1)如下图设置即可,不需要写入权限,执行权限为纯脚本,如下图:
(2)目录安全性,默认即可,不需要另外设置,你也可以自己另设置一个用户名和密码,但是要和管理员用户名和密码一致,建议设置默认即可,如下图:
确定保存后站点基本建立好,下面我们需要设置一下网站的目录安全,即文件夹的权限。
1、打开安装目录,选中文件夹名,右键---属性---安全---单击“添加”,弹出的对话框中点击"高级",在单击查找,选种"IUSR_ZZ"(不同的计算机不同的用户名,都是以IUSR_***为例。 ),双击,然后单击“确认”按钮, 把"IUSR_ZZ"用户名加到权限列表中,并给予可读取、写入、修改的权限。如下图:
注意:如果您的前台不提供会员上传的权限,强烈建议把"IUSR_ZZ"的写入和修改权限去掉。
详细操作步骤我就不多说了,上面建立admin888.test.com站点时已经做过步骤了。
到此,文件夹权限已经设置好。下面在建立SQL权限设置,这一步是重点,也是这篇文章说说的重点,下面我们一起设置SQL的权限。
1、打开企业管理器---依次打开“SQL Server 组“---(LOCAL)---安全性----登陆,然后再右边右键“新建登陆”,添加用户。如下图:
2、选择数据库表,如下图:
3、设置数据库访问权限,如下图:
确认后保存即可,www.test.com 站点已经建立成功。
但是,这样的站点和之前我们建立的admin888.test.com 站点是一样,权限也是一样的,为了进一步完善,我们还需要设置一下数据库表的详细权限,因为一般的网站数据库表太多,所以我们只需要设置一下普通用户访问网站时用不到的数据库表和管理员重要的表。
如动易的几个表是普通用户是访问不到的,我们就设置www.test.com 站点对此数据库表都不能访问,以保证系统的安全,设置如下:(“powereasydata”是网站的数据库)
1、依次打开到“powereasydata”表,打开企业管理器---依次打开“SQL Server 组“---(LOCAL)---数据库---powereasydata---用户---选中"IUSR_ZZ"---右键属性,选中如下图:
2、单击“权限”如下图:
3、数据库用户名选中“IUSR_ZZ”,在下面数据库表设置相应的权限,由于数据库比较多,我们用拒绝的方法设置,如下图:
设置方法:鼠标单击一次为允许(√),两次为拒绝(×)。因为我们已经设置了“db_owner”的权限,默认已经设置允许了,如果把“db_owner”权限去掉可以单独设置允许和拒绝权限。
上面设置拒绝的表只是其中的示范,还可以根据不同需要做不同的设置。