• 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次密码,再输入正确可以直接进入数据库,账户没有被锁定

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

     

  • 相关阅读:
    react ts axios 配置跨域
    npm run eject“Remove untracked files, stash or commit any changes, and try again.”错误
    java 进程的参数和list的线程安全
    帆软报表 大屏列表跑马灯效果JS
    帆软报表 快速复用数据集,避免重复劳动
    分析云 OA中部门分级思路和实现方法
    分析云 分段器 只显示一个块的数据
    分析云 更改服务默认的端口号
    分析云U8项目配置方法新版本(2)
    Oracle 创建时间维度表并更新是否工作日字段
  • 原文地址:https://www.cnblogs.com/hai-long/p/12952302.html
Copyright © 2020-2023  润新知