AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 8533
Accepted
MicSim
MicSim
Asked: 2011-11-30 03:36:31 +0800 CST2011-11-30 03:36:31 +0800 CST 2011-11-30 03:36:31 +0800 CST

是否有任何与安全相关的理由更喜欢 Windows 身份验证而不是 Sql Server 身份验证?

  • 772

这是一个相当简短的问题:

使用 Microsoft SQL Server(版本 2005 和更新版本)时,是否有任何与安全相关的原因更喜欢 Windows 身份验证而不是 SQL Server 身份验证?

只是指出,我对安全相关的问题感兴趣,而不是管理或两者之间的任何其他差异。

更新:如果任何差异导致(或是)安全问题,那么我肯定会感兴趣。

sql-server security
  • 2 2 个回答
  • 2709 Views

2 个回答

  • Voted
  1. Best Answer
    gbn
    2011-11-30T04:49:49+08:002011-11-30T04:49:49+08:00

    一个例子,职责分离

    在 Web 服务器上,服务帐户的密码只有一个团队知道。不需要在 web.config 或源代码控制中到处乱逛。

    • 一个团队设置了 IIS 应用程序池(这里知道密码)
    • 一个团队部署代码
    • 一个团队管理 SQL Server 实例

    如果您想通过涉及 PCI 或 SoX 的审核,那么您需要有这个

    • 7
  2. mrdenny
    2011-11-30T08:56:13+08:002011-11-30T08:56:13+08:00

    使用 Windows 身份验证,用户名和密码永远不会传输到 SQL Server。仅传递用户 Kerberos 或 NTLM 令牌。

    使用 SQL 身份验证时,实际的用户名和密码会被传递,但它们不会以明文形式传递。身份验证过程通过 SSL 使用自签名证书进行加密,以确保用户名和密码不会以明文形式传递。这确实意味着中间人攻击是可能的,因为证书不是由公认的证书颁发机构生成的。现在,如果您的 SQL Server 配置了来自 CA 的证书,那么该证书将用于身份验证 SSL 加密,而不是自签名证书。

    无论使用哪种身份验证方法,都应加密应用程序中的连接字符串。

    现在关于 Windows 身份验证的好处是 DBA 不需要知道帐户的密码。这一切都由应用程序处理。当然,这没什么大不了的,如果我愿意的话,我可以整天使用 execute as 作为应用程序帐户运行命令。

    使用 SQL 帐户,安装软件的管理员可以很容易地设置密码,或更改密码以使 DBA 不知道该密码。

    Windows 帐户的另一个好处是您确定密码将符合公司安全策略。SQL 密码可以禁用策略并更改密码,然后重新应用策略,这意味着密码可能不符合所需的策略。

    • 4

相关问题

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 存储过程可以防止 SQL 注入吗?

  • 死锁的主要原因是什么,可以预防吗?

  • 保护数据库密码

  • 如何确定是否需要或需要索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    您如何显示在 Oracle 数据库上执行的 SQL?

    • 2 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    我可以查看在 SQL Server 数据库上运行的历史查询吗?

    • 6 个回答
  • Marko Smith

    如何在 PostgreSQL 中使用 currval() 来获取最后插入的 id?

    • 10 个回答
  • Marko Smith

    如何在 Mac OS X 上运行 psql?

    • 11 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Marko Smith

    将数组参数传递给存储过程

    • 12 个回答
  • Martin Hope
    Manuel Leduc PostgreSQL 多列唯一约束和 NULL 值 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler 什么时候应该将主键声明为非聚集的? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - 哪个更好作为主键? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick 如何优化大型数据库的 mysqldump? 2011-01-04 13:13:48 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve