热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Chapter2UserAuthentication,Authorization,andSecurity(3):

原文出处:blog.csdn.netdba_huangzjarticledetails38756693,专题目录:blog.csdn.netdba_huangzjarticledetails37906349未经作者同意,任何人不得以原创形式发布,也不得已用于商业用途,本人不负责任何法律责任。前一篇:b

原文出处:http://blog.csdn.net/dba_huangzj/article/details/38756693,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349 未经作者同意,任何人不得以原创形式发布,也不得已用于商业用途,本人不负责任何法律责任。 前一篇:http://b

原文出处:http://blog.csdn.net/dba_huangzj/article/details/38756693,专题目录:http://blog.csdn.net/dba_huangzj/article/details/37906349

未经作者同意,任何人不得以“原创”形式发布,也不得已用于商业用途,本人不负责任何法律责任。

前一篇:http://blog.csdn.net/dba_huangzj/article/details/38705965

前言:

暴力攻击(Brute-force attack)是通过几乎所有可能的字符组合尝试破解密码,或者使用一个字典表,包含几乎所有可能的密码来实现密码破解的方法。如果你的密码很简单,那么很快就会被破解。所以,测试密码是非常重要的。

实现:

1. 首先查找SQL 密码没有使用强制密码策略的:

SELECT name, is_disabled 
FROM sys.sql_logins 
WHERE is_policy_checked = 0 
ORDER BY name; 

2. 然后对这些登录使用强密码策略:

ALTER LOGIN Fred WITH CHECK_POLICY = ON,CHECK_EXPIRATION = ON; 

这个命令不会更改现有密码,直到密码过期前密码依然有效。可以使用下面函数检查密码到期时间:

SELECT LOGINPROPERTY('Fred', 'DaysUntilExpiration'); 

3. 你还可以强制在登录时修改密码,但是需要先提供一个协商好的密码并告知使用者,比如下面的代码,就是把Fred这个登录名强制登陆时修改密码,然后你使用了You need to change me ! 这个作为“初始密码”,你需要告知用户,登陆时使用它,登录成功后会提示你修改密码。

ALTER LOGIN Fred WITH PASSWORD = 'You need to change me !' MUST_CHANGE, CHECK_POLICY = ON, CHECK_EXPIRATION = ON;
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38756693

image

4. 可以使用脚本把所有需要修改的登录名全部显式出来:

SELECT  'ALTER LOGIN ' + QUOTENAME(name) + ' WITH PASSWORD = ''You 
need to change me 11'' MUST_CHANGE, CHECK_POLICY = ON, CHECK_ 
EXPIRATION = ON; 
' 
FROM    sys.sql_logins 
WHERE   is_policy_checked = 0 
ORDER BY name;

如果需要在应用程序中允许用户修改他们的密码,可以参照这篇文章:http://msdn.microsoft.com/zh-cn/library/ms131024.aspx (以编程方式更改密码)

原理:

最好的保护密码避免暴力攻击的方法是使用WIndows密码策略,因为它仅允许你使用强密码。另外暴力攻击密码会在SQL Server的错误日志和Windows的事件日志中留底。

SQL登录的密码或密钥是不存储在任何系统表中,仅存储密码的hash值,也就是说没有办法解密。hash值会存储在系统表中,以便后续登录时与传输的密码使用hash函数生成的hash值匹配。

原文出处:http://blog.csdn.net/dba_huangzj/article/details/38756693

更多:

过期策略的其中一个组成部分是【lockout threshold】,如果要启用对SQL 登录的失败尝试锁定,需要对CHECK_POLICY 选项设为ON,并且把你的帐号锁定策略在Active Directory或者本地配置。

image

可以使用下面语句查询是否有锁定的帐号:

SELECT name 
FROM sys.sql_logins 
WHERE LOGINPROPERTY(name, N'isLocked') = 1 
ORDER BY name;
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38756693
推荐阅读
  • 开发心得:深入探讨Servlet、Dubbo与MyBatis中的责任链模式应用
    开发心得:深入探讨Servlet、Dubbo与MyBatis中的责任链模式应用 ... [详细]
  • 新年伊始,正是学习的最佳时机。本文全面解析了CK1957-Zookeeper的核心概念与实践技巧,旨在帮助初学者快速掌握这一深度学习工具。通过详细的理论讲解和实际操作示例,读者可以更好地理解Zookeeper的工作原理及其在分布式系统中的应用。无论是新手还是有一定基础的学习者,都能从中受益匪浅。 ... [详细]
  • 探究Oracle数据库字符集编码的详细方法与实践
    本文深入探讨了Oracle数据库字符集编码的详细方法与实践。首先,通过执行 `SELECT USERENV('language') FROM DUAL;` 查询服务端字符集编码。其次,通过在注册表中搜索 `NLS_LANG` 参数来查看客户端字符集编码。此外,文章还介绍了如何在不同场景下正确配置和转换字符集,以确保数据的一致性和完整性。 ... [详细]
  • 在Linux系统中,目录结构遵循文件系统层次标准(FHS),确保了系统的组织性和可维护性。其中,`/bin`目录是FHS要求必须存在的目录之一,主要存放了在单用户维护模式下仍可执行的基本命令和工具。这些命令不仅对root用户可用,普通用户也能使用,以确保系统在最小化运行状态下仍能进行基本的操作和管理。 ... [详细]
  • 本文深入探讨了 MXOTDLL.dll 在 C# 环境中的应用与优化策略。针对近期公司从某生物技术供应商采购的指纹识别设备,该设备提供的 DLL 文件是用 C 语言编写的。为了更好地集成到现有的 C# 系统中,我们对原生的 C 语言 DLL 进行了封装,并利用 C# 的互操作性功能实现了高效调用。此外,文章还详细分析了在实际应用中可能遇到的性能瓶颈,并提出了一系列优化措施,以确保系统的稳定性和高效运行。 ... [详细]
  • 如何在Adobe After Effects中运用3D摄像机追踪技术实现动态视觉效果?
    欢迎观看After Effects中文版教程,本篇将深入探讨如何利用3D摄像机追踪技术在AE中创建生动的动态视觉效果。通过详细讲解3D摄像机追踪器的功能与应用,帮助用户掌握从基础设置到高级调整的全过程,从而在视频制作中实现更加逼真和立体的场景效果。 ... [详细]
  • 解决手机浏览器无法加载CSS文件的技术方法与常见问题分析
    针对手机浏览器无法加载CSS文件的问题,本文提出了几种有效的解决方案:首先,确保CSS文件路径正确无误;其次,统一CSS文件和网页的编码格式;最后,检查并修正文件后缀的MIME类型设置,以确保浏览器能够正确识别和解析CSS文件。此外,还探讨了可能导致该问题的其他常见原因,如缓存问题和服务器配置错误等。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • 本文介绍了使用 Python 编程语言高效抓取微博文本和动态网页图像数据的方法。通过详细的示例代码,展示了如何利用爬虫技术获取微博内容和动态图片,为数据采集和分析提供了实用的技术支持。对于对网络数据抓取感兴趣的读者,本文具有较高的参考价值。 ... [详细]
  • 如何清除Windows 11任务栏系统托盘图标的缓存?
    在Windows 11中,如何清除任务栏系统托盘图标的缓存?系统托盘图标的缓存与常规任务栏图标缓存有所不同,主要存储显示在任务栏通知区域的图标。通过重置该缓存,可以有效解决图标在Windows 11任务栏上不显示的问题。此外,定期清理这些缓存还有助于提升系统的整体性能和稳定性。 ... [详细]
  • 1020错误:访问请求被拒绝,如何解决? ... [详细]
  • 在执行 Vim/VM 命令时遇到错误提示:检测到名为
    在使用 Docker 时,通过 Vim 编辑 Dockerfile 文件时遇到了错误提示:“检测到名为 .dockerfile.swp 的交换文件”。这一问题通常是因为上次编辑该文件时意外中断,导致系统生成了临时的交换文件。为了解决这个问题,可以手动删除该交换文件或使用 Vim 的恢复功能来恢复未保存的更改。 ... [详细]
  • Python学习:环境配置与安装指南
    Python作为一种跨平台的编程语言,适用于Windows、Linux和macOS等多种操作系统。为了确保本地已成功安装Python,用户可以通过终端或命令行界面输入`python`或`python3`命令进行验证。此外,建议使用虚拟环境管理工具如`venv`或`conda`,以便更好地隔离不同项目依赖,提高开发效率。 ... [详细]
  • Win10系统下帝国时代3无法运行的解决方案详述
    在Windows 10系统中运行《帝国时代3》时可能会遇到无法启动的问题。本文详细介绍了多种解决方案,包括更新显卡驱动、安装兼容性补丁以及使用兼容模式运行游戏等方法,帮助玩家顺利体验这款游戏。 ... [详细]
  • Python网络爬虫入门:利用urllib库进行数据抓取
    Python网络爬虫入门:利用urllib库进行数据抓取在数据科学和Web开发领域,Python凭借其简洁高效的特性成为首选语言。本文主要介绍了如何在Windows环境下使用Python的urllib库进行基本的网络数据抓取。考虑到命令行操作的不便,作者选择了Jupyter Notebook作为开发环境,不仅简化了配置过程,还提供了直观的数据处理和可视化功能。通过实例演示,读者可以轻松掌握urllib的基本用法,为深入学习网络爬虫技术打下坚实基础。 ... [详细]
author-avatar
fjkfjaslfjsal_577
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有