zoukankan      html  css  js  c++  java
  • SQL server数据库的密码策略与登录失败锁定策略

    SQL server数据库本身没有密码复杂度策略设置,它是使用Windows操作系统的校验函数来校验账户密码的,所以查看SQL server数据库密码复杂度需要结合操作系统本地安全策略的密码策略来看。

    下面实验一下,实验环境是在Windows server 2008虚拟机上装了SQL server20008数据库。

    一、设置SQL server的密码复杂度策略

    首先禁用服务器密码策略

    使用sa账户登录SQL server,打开安全性-登录名-右键-输入登录名test,选择SQL server身份验证,输入密码“123”(此时勾选了强制实时密码策略),点击确定

     可以成功创建了test账户,并且设置了弱口令“123”,然后右键test账户看一下属性。

    下图中显示test账户勾选了强制实施密码策略,密码位置:显示15个圈,是看不出弱口令的。

     用弱口令登录test账户也是没有问题的

     

     然后开启服务器密码策略,使用管理员sa新建一个弱口令账户

     依然使用sa账户登录SQL server,打开安全性-登录名-右键-输入登录名test1,选择SQL server身份验证,输入密码“123”(此时勾选了强制实施密码策略),点击确定

     此时数据库报错提示“密码有效性验证失败,该密码不够复杂,不符合Windows策略要求”,证明了开启服务器密码策略并勾选账户强制实施密码策略,是有效果的。

    但我看了一下Windows操作系统的密码策略也是挺下饭-..-最少六个字符长!!

    就是说即使开了密码策略,还可以将密码设置为Qwe!23的六位数

    如果想要设置密码最小长度的话,在服务器密码策略上修改就可以了

     最后试一下开启Windows操作系统密码策略,不勾选数据库账户的强制实施密码策略,看看能不能,设置弱口令

     

     果然结果是可以的。

    总结一下就是SQL server密码策略要同时满足开启Windows密码策略并且勾选SQL server账户的强制实施密码策略才算是符合,但即使这样的话一样可以设置6位长度的口令,所以还要设置服务器的密码最小长度值。

    二、设置SQL server的账户锁定策略

    SQL server的账户锁定策略原理也是一样的,都是参照Windows操作系统的校验函数来校验的,所以需要勾选账户的强制密码过期,并且开启操作系统的账户锁定策略。

    然后我试了一下:

     1、只勾选数据库强制密码过期,不设置操作系统密码锁定策略

    测试同一个账户输错10次密码,再输入正确直接进入数据库,账户没有被锁定

     2、勾选数据库强制密码过期,设置操作系统密码锁定策略

     输错三次密码,再输入正确密码,无法进入数据库,账户被锁定

    3、取消数据库强制密码过期,设置操作系统密码锁定策略

    此时使用同一个账户输错10次密码,再输入正确可以直接进入数据库,账户没有被锁定

    总结:勾选数据库强制密码过期,设置操作系统密码锁定策略

     

  • 相关阅读:
    Linux下管道编程
    【Windows】用信号量实现生产者-消费者模型
    初识【Windows API】--文本去重
    HDU 5183 Negative and Positive (NP) --Hashmap
    【ASC 23】G. ACdream 1429 Rectangular Polygon --DP
    UVALive 4670 Dominating Patterns --AC自动机第一题
    POJ 2225 / ZOJ 1438 / UVA 1438 Asteroids --三维凸包,求多面体重心
    我也来写2014年总结
    UVALive 4870 Roller Coaster --01背包
    UVALive 4864 Bit Counting --记忆化搜索 / 数位DP?
  • 原文地址:https://www.cnblogs.com/hai-long/p/12952302.html
Copyright © 2011-2022 走看看