标签: authentication

审计 MySQL 数据库上的登录

有没有办法审核 MySQL 的登录?我希望能够为每个员工创建一个用户名,从而创建登录的审计跟踪。然而,谷歌搜索没有出现好的结果。

我们可以审计的越多越好。至少,知道谁何时登录会很好。最好看看谁在什么时候执行了什么查询。日志主要是为了告诉客户我们有它们,因为数据库中有潜在的敏感信息。

显然,能够审计每个用户(以及何时)执行的查询也将使我们能够更好地查明安全问题的原因,如果出现安全问题。

mysql authentication audit

12
推荐指数
2
解决办法
3万
查看次数

确定是否在不登录的情况下启用混合模式身份验证?

在 SQL Server 中是否可以在不登录 SQL Server 的情况下确定是否启用了混合模式身份验证?

authentication security sql-server sql-server-2012 logins

12
推荐指数
2
解决办法
1551
查看次数

为 BULK INSERT 配置无约束委派

我在 Always On 可用性组中有一对 Microsoft SQL Server 2016 节点。我正在尝试对BULK INSERT位于 Windows Server 2016 文件服务器故障转移群集上的文件执行(使用 SQL Server 2016 Management Studio 查询),但出现以下错误:

消息 4861,级别 16,状态 1
无法批量加载,因为无法打开文件“\nas2.my.domain\Microsoft SQL Server 2016 Enterprise\test.txt”。操作系统错误代码 5(访问被拒绝。)。

无论我使用活动节点名称 ( nas2.my.domain) 还是故障转移群集侦听器 ( nas.my.domain),都会发生这种情况。

环顾四周后,我发现这是由于 SQL Server 由于与BULK INSERT.

如果您使用 Windows 身份验证连接到 SQL Server,则 SQL Server 服务帐户在连接到文件服务器时会尝试模拟您的用户帐户。如果您使用 SQL Server 身份验证进行连接,它将以 SQL Server 服务帐户的身份连接到文件服务器。

如果委派和模拟配置不正确(默认状态),SQL Server 服务将无法模拟您的用户帐户,并将退回尝试以匿名用户身份连接到文件服务器。

这可以通过查看文件服务器上的安全事件日志来确认。这些事实以及有关配置无约束和约束委派的指南记录在以下链接中:

我已经尝试按照thesqldude的指南中的说明进行操作,但它仍然无法正常工作。

我尝试使用的数据库BULK INSERT不是可用性组的一部分,因此只有 MSSQL1 节点应该相关。文件服务器在 …

authentication sql-server availability-groups sql-server-2016 bulk-insert

12
推荐指数
1
解决办法
2367
查看次数

在 IPv6 地址上拒绝 Postgres 连接访问

在 Windows 上安装了 PostgreSQL 9.1 x64,设置了一个监听地址,但是在与 pgAdmin 连接时出现以下错误。不知道为什么 PostgreSQL 看到的是我的 IPv6 地址而不是我的常规 IP 地址:

在此处输入图片说明

为了让身份验证工作,根据错误消息,我更新pg_hba.conf了这个:

host all all fe80::c5d2:XXXX:XXXX:3bc0/12 trust

那行得通,但它很丑陋,而且太具体了。我根据 PostgreSQL 文档尝试了以下操作,但没有成功,我收到相同的“访问被拒绝”错误:

local all all trust
host all all 0.0.0.0/12 trust
Run Code Online (Sandbox Code Playgroud)

我让这个工作了,它涵盖了整个 IPv6 地址空间,但是如何指定 IPv6 范围以获得更多限制?

host  mydb  myuser  ::/0   trust
Run Code Online (Sandbox Code Playgroud)

问题

  • 为什么 pgAdmin 选择我的 IPv6 地址而不是我的普通 IP?
  • 如何在不诉诸于 IPv6 的情况下指定范围::/0

postgresql authentication postgresql-9.1

11
推荐指数
1
解决办法
2万
查看次数

SQL Server 2012 无法使用机器帐户登录

我们正在将 IIS/SQL Server 站点从 2008 年迁移到 2012 年,但我遇到了身份验证问题。我们使用 Windows 身份验证作为 进行身份验证DOMAIN\COMPUTER$,但这不起作用,并给出错误消息:

用户 'DOMAIN\COMPUTER$' 登录失败。原因:找不到与提供的名称匹配的登录名。[客户端:<本地机器>]

我已经验证该帐户存在,甚至删除并重新创建它

create login "DOMAIN\COMPUTER$" from windows
Run Code Online (Sandbox Code Playgroud)

如果我再做一次,我得到的回应是:

消息 15025,级别 16,状态 2,第 1 行
服务器主体 'DOMAIN\COMPUTER$' 已经存在。

DOMAIN\COMPUTER替换为真实的域和计算机名)

所以看起来该站点正在查询 SQL Server,但 SQL Server 并没有非常努力地查看其登录信息。

我错过了什么?

authentication sql-server sql-server-2012

11
推荐指数
4
解决办法
4万
查看次数

错误:无法生成 SSPI 上下文

当有人尝试连接到 SQL Server 实例时,会显示错误:

不可能生成 SSPI 上下文。

昨天我们停电了(不知道这个用英语怎么说),我不得不关闭我们的服务器。

寻找答案,我发现了这个:

SQL Server 2008 连接问题:无法生成 SSPI 上下文

但这对我没有帮助,因为直到昨天它们都工作正常。我不想改变任何东西。但如果有必要,我会改变它。

Obs:我现在无法重新启动服务器。


编辑:自从我回答以来,我们没有任何错误。

sql-server-2008 authentication sql-server errors connectivity

11
推荐指数
2
解决办法
12万
查看次数

SQL 2008 R2 在 Windows 用户创建表时创建用户/模式

我们添加了一个服务器登录名和数据库用户,使用以下脚本将 Windows 组映射到 SQL 2008 R2 实例,并更改了匿名名称:

USE master
go
CREATE LOGIN [DOMAIN\AppUsers] FROM WINDOWS
WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
go
USE AppDb
go
CREATE USER [DOMAIN\AppUsers] FOR LOGIN 
[DOMAIN\AppUsers]
go
EXEC sp_addrolemember N'db_owner', N'DOMAIN\AppUsers'
go
Run Code Online (Sandbox Code Playgroud)

当 DOMAIN\User1 帐户登录到该应用程序时,User1 可以很好地查询 dbo 架构中的表,因为 User1 是 DOMAIN\AppUsers 的成员,但该应用程序也允许用户创建表。在未指定架构的情况下创建这些表时,SQL Server 执行以下操作:

  1. 在 AppDb 中创建一个“DOMAIN\User1”用户,该用户使用未在 SSMS\Security\Logins 中列出的“DOMAIN\User1”登录名。
  2. 在 AppDb 中创建“DOMAIN\User1”架构。
  3. 使用新的“DOMAIN\User1”架构创建这些表。

我对这些结果完全感到困惑。以下是我的问题:

  1. 我希望表创建失败而不是创建其他对象。有人可以指出我解释这一点的在线书籍部分吗?
  2. 如果服务器要添加架构,为什么不创建“DOMAIN\AppUsers”架构并将新表添加到该架构?
  3. 此外,数据库如何使用未在 SSMS\Security\Logins 中显示的登录名?
  4. 查看 SSMS\Databases\AppDb\Security\Users 中的“DOMAIN\User1”用户,用户图标有一个向下的红色小箭头。这意味着什么?

我们刚刚开始在一个为简单起见而首选 SQL 身份验证的组织内使用 Windows 身份验证,所以我确信我的问题来自对差异的无知。这段代码早在我们考虑使用 Windows 身份验证之前就编写好了,所以我确信我们需要提高我们对使用 Windows 身份验证登录时创建新架构的理解,而不是数据库所有者。

如果您不知道,我是推动使用 Windows 身份验证而不是 SQL 身份验证的人。如果我们对此没有充分理解,我们将回到 …

authentication sql-server ssms sql-server-2008-r2

10
推荐指数
1
解决办法
2万
查看次数

mysqladmin 没有使用内联密码

我正在尝试设置一个 cron 作业来从我的从机中获取备份。所以我需要阻止奴隶

我发出命令

mysqladmin --user=root --password=test_pass stop-slave
Run Code Online (Sandbox Code Playgroud)

但它抛出错误:

mysqladmin: 在 'localhost' 连接到服务器失败错误:'访问被拒绝用户 'root'@'localhost'(使用密码:YES)'

现在我尝试使用命令

mysqladmin --user=root --password stop-slave
Run Code Online (Sandbox Code Playgroud)

它提示输入密码,我给了test_pass,一切都很好。

为什么会这样?什么是替代方案?

注意:顺便说一句,我的 mysql 版本是mysql-5.0.95-5,它有任何意义。

mysql authentication mysqladmin

10
推荐指数
1
解决办法
2万
查看次数

锁定了我的 sa 用户

所以我试图在我的 Microsoft SQL Server Management Studio 2019 中更改一些设置。我将登录模式从混合(Windows 和 SQL 身份验证)更改为仅 Windows,现在我无法使用我的 sa 帐户登录,我没有拥有另一个具有管理员权限的帐户。

我该怎么办?任何建议将不胜感激。

authentication security sql-server windows-authentication

10
推荐指数
1
解决办法
946
查看次数

MYSQL 错误 2049 (HY000):使用旧(4.1.1 之前)身份验证协议引用的连接(启用客户端选项“secure_auth”)

当我尝试将 5.0 版本的所有数据库转储恢复到 5.6 版本时,它恢复了,之后当我尝试重新连接时,出现以下错误

ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol ref used (client option 'secure_auth' enabled)..

我尝试在 My.ini 中添加以下几行并重新启动服务,但问题一直存在。

skip-grant-tables 以下链接说它是 MYSQL 中的一个错误。

https://github.com/santisaez/powerstack/blob/master/packages/mysql/mysql-powerstack-secure_auth.patch

有没有人对此解决方案有任何修复?

mysql authentication

9
推荐指数
3
解决办法
3万
查看次数