标签: security

SQL Server,删除所有用户对表对象的访问权限

作为一项清理工作,我试图删除所有用户(包括非公共用户)对单个表对象(超级用户除外)的访问权限,并随后授予新的访问权限。有没有一种简单的方法可以在不使用系统表的游标的情况下删除对表的访问权限?

sql-server-2008 security

8
推荐指数
1
解决办法
4904
查看次数

用于删除不再位于 Active Directory 中的帐户的 SQL Server 脚本

我们有一个 SQL Server 2000,很快就会迁移到 SQL Server 2005。它创建了多年的 Windows 身份验证帐户,这些帐户不再存在于 Active Directory 中,这会阻止复制数据库向导在新服务器上创建这些帐户。

是否有脚本或某种自动方法可以删除我们的 Active Directory 中不再存在的帐户?


编辑:需要明确的是,需要删除的登录名是在 SQL Server 2000 上,它不支持该DROP LOGIN命令。

另外,手动删除 SQL Server 2000 中exec sp_droplogin 'loginname'的登录名将(我认为)完成,但在我的,无法找到登录名,无论我使用“域\登录名”还是“登录名”

只是为了增加混乱,exec sp_revokelogin 'domain\loginname'似乎确实有效。

编辑2:终于解决了这个问题。许多有问题的登录以编程方式添加到数据库中,虽然它们在用户可以连接的意义上工作,但当 SQL Server 期望没有域时,用户名与 NT 登录名的域前缀登录不匹配,反之亦然反之。

为了解决这个问题,我修改了 sp_droplogin 过程以删除其中一项出错的检查。

我接受我自己的答案,因为它适用于 SQL Server 2000。

security sql-server sql-server-2000 logins

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

在 SQL Server 中设置数据库所有者是否有害?

我们的一个 SQL 服务器上有一堆没有所有者的数据库。一般来说,给他们一个有害吗?例如:

USE dbName;
GO

EXEC sp_changedbowner 'sa';
GO
Run Code Online (Sandbox Code Playgroud)

我知道 sa 可能不是最好的选择,但这只是一个例子。我主要担心的是,在没有所有者的情况下创建所有者是否会导致当前可以正常连接的软件出现问题。

security sql-server

8
推荐指数
2
解决办法
8954
查看次数

如何检查Oracle数据库连接加密类型

如何检查 Oracle 数据库连接加密类型?(Oracle 数据库和其他客户端应用程序之间)我如何确保 Oracle 数据库和 Toad 之间的数据库连接是加密的?(我的 Toad 版本是 9.5,Oracle 数据库版本是 11g)

oracle security encryption toad

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

将 sysadmin 角色与 EXECUTE AS 结合使用

我的理解是,我可以将该EXECUTE AS OWNER子句用作我创建的过程的一部分,以使该过程的主体以不同的用户身份运行。我的目标是执行需要sysadmin角色 ( DBCC TRACEON(1224))的命令。此过程应该由非特权用户调用。

我在sa用户下运行了以下脚本:

SELECT USER_NAME(), USER_ID(), IsSysAdmin = IS_SRVROLEMEMBER('sysadmin')
-- dbo  1   1

IF EXISTS(SELECT * FROM sys.procedures WHERE name = 'MyProc')
    DROP PROCEDURE MyProc

GO
CREATE PROCEDURE MyProc
WITH EXECUTE AS OWNER
AS 
    SELECT USER_NAME(), USER_ID(), IsSysAdmin = IS_SRVROLEMEMBER('sysadmin');
-- dbo  1   0

    DBCC TRACEON(1224)
--Msg 2571, Level 14, State 3, Procedure MyProc, Line 7
--User 'dbo' does not have permission to run DBCC TRACEON.

RETURN
GO

EXEC …
Run Code Online (Sandbox Code Playgroud)

security sql-server dbcc role

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

SQL Server 2012 - SA 帐户探测

在我的一台服务器(Win 2012 R2)上,SQL Server 2012 不断受到攻击,SA 帐户每秒被攻击 10 次,使用不同的密码。我没有 SA 帐户,但我仍然想停止这种探测,因为它可能会消耗资源。我一直在手动检查日志并在防火墙级别阻止有问题的 IP,但我仍然想要一个更好的解决方案。SQL Server 使用 IIS 在本地运行以为其网站提供服务,我只需要远程连接到 SQL Server 以使用 SSMS 进行数据库开发,所以起初我想设置一个 VPN,但不确定这是否会与 SSMS 和其他服务一起使用像 FTP。作为临时解决方案,我可以通过禁用端口 1433 来阻止 SQL Server 在防火墙处对外界可见,或其他地方?然后我可以在开发时启用/禁用它,也许只是为了我的 IP。谢谢。

security sql-server-2012 windows-server

7
推荐指数
2
解决办法
345
查看次数

SQL Server 2012 与新 TLS 1.2 标准的兼容性

我正在尝试关闭 SQL Server 2012 服务器上的 TLS 1.0 以符合 PCI 标准。

最初,我在 SQL Server 服务无法启动时遇到了一些麻烦。

我通过对上一个问题的回答找到了有关此问题的帮助:

SQL Server 与新 TLS 标准的兼容性

我的结果喜忧参半:

我已经下载了 SQL Server 2012 Cumulative Update 7(CU 6 也可以使用),然后 SQL Server 服务正确启动。

我遇到了无法通过 SQL Server 企业管理器登录数据库实例的问题,该问题已通过安装 .Net 4.6 解决。

下一个问题,由于“握手 SSL 错误”,运行 IIS 应用程序的客户端计算机无法连接到 SQL 实例。我听从了建议并安装了最新的 SNAC 本机客户端。

这很难追踪,从 Microsoft 下载的最新版本是 2014 年的。然后我从生成的子文件夹中获得了 2015 年 9 月 7 日修订号 {E6CB4138-3D1C-4ADC-95C4-88322B60FC14} 的 sqlnclient.msi通过 CU 7 的摘录 - “提取文件夹的路径 \1033_enu_lp\x64\setup\x64”。

我已经在我的 IIS 服务器(和 .Net 4.6)上更新了本机客户端的这个版本,但我仍然无法远程连接到 SQL 实例。如果我启用 TLS 1.0,我就可以连接。

我得到的确切错误是“已成功与服务器建立连接,但在登录前握手期间发生错误”。

我的诊断是我的机器上没有与 …

security sql-server sql-server-2012 connectivity

7
推荐指数
0
解决办法
211
查看次数

在服务器上查找重复的大量 SQL 编辑的来源

我会尽量清楚地解释我的问题。

我支持的一家公司的服务器运行着许多网站。此服务器运行带有 Microsoft SQL Server 2014 的 Windows Server 2012。

几乎所有网站都在运行由同一家公司制造的专有 Web 应用程序。

只有部分网站会受到(几乎)每个 TEXT、NTEXT 和 NVARCHAR(MAX) 字段在其各自数据库中的定期批量编辑的影响。

带有恶意或垃圾邮件链接的 HTML 被添加到表的每条记录中,仅在具有上述指定类型的字段中。

服务器已经用几个工具扫描过,所有的主密码(管理员,SQL Server 的 sa)都已更改。我还尝试运行 SQL Profiler 来尝试识别批量更新查询,但没有成功。

我现在可以想象,这可能是 SQL 注入攻击,它利用运行这些网站的软件中的漏洞,但为什么只有其中一些?其他具有相同版本的网站从未出现此问题。

如您所知,还有什么我可以尝试的吗,或者我错过了什么?如果您可能需要其他数据,请毫无问题地回复。

security sql-server sql-injection sql-server-2014

7
推荐指数
1
解决办法
141
查看次数

让多个外键引用单个表是否存在安全风险?

我有一位老师告诉我,拥有一个包含大约 60% 其他表引用的表的数据库是安全禁忌。问题是他没有解释为什么这是一个安全风险。

在此处输入图片说明

security foreign-key database-agnostic

7
推荐指数
1
解决办法
306
查看次数

有什么办法可以防止 PostgreSQL 用户更改自己的密码?

我正在管理 PotsgreSQL 服务器,最近我意识到我的“非超级用户”用户有可能更改我为不安全密码分配的安全密码。

我在REVOKE文档中进行了搜索,但找不到阻止这种情况的方法。有可能的?

提前致谢!

postgresql security permissions users password

7
推荐指数
1
解决办法
1872
查看次数