Questions tagged «security»

允许用户仅访问他们有权访问的数据。它还包括在网络上移动以及磁盘和备份上的存储期间对数据的保护。

6
存储过程是否可以防止SQL注入?
存储过程可以防止对PostgreSQL数据库进行SQL注入攻击吗?我进行了一些研究,发现即使仅使用存储过程,SQL Server,Oracle和MySQL也不会对SQL注入造成威胁。但是,PostgreSQL中不存在此问题。 PostgreSQL核心中的存储过程实现是否可以防止SQL注入攻击或其他?还是即使我们仅使用存储过程,PostgreSQL也容易受到SQL注入的影响吗?如果是这样,请给我看一个例子(例如书籍,网站,纸张等)。

4
如何在SQL Server 2008中分配整个Active Directory组安全访问权限?
我想在我的内部应用程序中使用集成安全性,这些应用程序都在一个域中。不幸的是,我从来没有能够使它正常工作。我想在SQL Server中为整个Exchange(活动目录)组分配一个角色,以对某些表进行读/写访问。这样,我就不必在雇用某人时就创建一个运算符,也不必在被解雇时就删除一个运算符。这可能吗?我要采取什么步骤?

1
MySQL:为什么mysql.db中有“测试”条目?
最近,我发布了有关mysql.db的问题的答案。 然后,我想到我应该问每个人这个问题: 多年以来,我注意到在安装MySQL 5.0+时,其中mysql.db填充了两个条目,允许匿名用户访问测试数据库。 您可以通过运行以下查询来查看它: mysql> select * from mysql.db where SUBSTR(db,1,4) = 'test'\G *************************** 1. row *************************** Host: % Db: test User: Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Grant_priv: N References_priv: Y Index_priv: Y Alter_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Create_view_priv: Y Show_view_priv: …
36 mysql  security 

1
DBA从事新工作的第一天-检查备份和安全性-如何?还有什么要检查的?
通常,当我在新环境中启动时,我倾向于检查备份在哪里,何时进行了最后一次完全备份,何时应用了最后一次还原,还检查了安全性。 我这样做的方法是通过T-SQL。 检查备份 ;with Radhe as ( SELECT @@Servername as [Server_Name], B.name as Database_Name, ISNULL(STR(ABS(DATEDIFF(day, GetDate(), MAX(Backup_finish_date)))), 'NEVER') as DaysSinceLastBackup, ISNULL(Convert(char(11), MAX(backup_finish_date), 113)+ ' ' + CONVERT(VARCHAR(8),MAX(backup_finish_date),108), 'NEVER') as LastBackupDate ,BackupSize_GB=CAST(COALESCE(MAX(A.BACKUP_SIZE),0)/1024.00/1024.00/1024.00 AS NUMERIC(18,2)) ,BackupSize_MB=CAST(COALESCE(MAX(A.BACKUP_SIZE),0)/1024.00/1024.00 AS NUMERIC(18,2)) ,media_set_id = MAX(A.media_set_id) ,[AVG Backup Duration]= AVG(CAST(DATEDIFF(s, A.backup_start_date, A.backup_finish_date) AS int)) ,[Longest Backup Duration]= …

8
从未知来源恢复备份的安全隐患?
场景:您已经获得了数据库备份,并被告知将其还原到服务器上(该服务器已经托管了其他数据库),但是没有提供有关备份内容或是否应该信任源的有用信息。 问题1:还原很可能是恶意的备份有哪些潜在影响? 问题2:如何保护服务器/其他数据库中的数据免受还原潜在恶意备份的影响?RESTORE VERIFYONLY似乎是一个很好的第一步。最终的答案可能是“将数据库还原到无法访问外部环境的沙箱VM中”,但让我们假设该选项不在桌面上。在这种情况下还应该做什么?

6
SQL Server与新TLS标准的兼容性
主要的浏览器正在超越SSL3.0和TLS1.0。 PCI安全委员会宣布这些协议的有效期限已被视为足够强大的加密。 我们需要远离这些协议,而使用更新更强大的协议。在Windows服务器上,您可以非常轻松地禁用这些旧协议,而仅提供TLS1.1或更高版本。但是,如其他地方所述,如果禁用了较低版本的协议,则Microsoft SQL Server 2008 R2和SQL Server 2012(至少是Standard)都不会启动。但是,有越来越多的MS SQL Server版本。有SQL Server Standard,Business Intelligence,Enterprise,Express,Web和Compact版本。当然还有SQL Server 2008、2012、2014和(在预发行版本中)2016。 以下哪个版本支持或将仅支持TLS1.1或更高版本的协议?

4
为什么OS身份验证被认为对Oracle数据库的安全性较差?
根据《Oracle数据库安全性指南》,Oracle将弃用OS身份验证 请注意,REMOTE_OS_AUTHENT参数在Oracle Database 11g第1版(11.1)中已弃用,并且保留该参数仅是为了向后兼容。 此外,大多数安全信息和工具都将 OS(外部)身份验证视为安全问题。我试图理解为什么会这样。我看到了操作系统身份验证的一些优点: 如果没有OS身份验证,则应用程序必须将密码存储在各种应用程序中,每个应用程序都具有自己的安全模型和漏洞。 域身份验证已经必须是安全的,因为如果不是这样,则数据库安全性只会减慢对数据库的访问,但不能阻止它。 与必须创建一个更安全的域密码的用户相比,创建一个更安全的域密码的用户可以创建的安全性更高,因为必须连接的不同数据库的数量会增加。

2
该登录名已经有一个使用其他用户名的帐户
当我执行此SQL: USE ASPState GO IF NOT EXISTS(SELECT * FROM sys.sysusers WHERE NAME = 'R2Server\AAOUser') CREATE USER [R2Server\AAOUser] FOR LOGIN [R2Server\AAOUser]; GO 我收到以下错误: 该登录名已经有一个使用其他用户名的帐户。 我怎么知道这个不同的用户名是我的登录帐户?

8
为什么允许所有人都使用sa登录名是一种不好的做法?
甚至Microsoft 都不鼓励使用SQL Server身份验证模式,但是我们的应用程序要求使用它。 我已经读到,最好的做法是不让用户sa直接使用登录名,而是使用Windows身份验证并允许这些帐户(或帐户组)具有sysadmin特权。 这根本不是一回事吗?优点/缺点是什么? 最佳实践如何提高SQL Server实例的安全性? 这仅适用于生产实例还是我们的内部开发实例?

2
如何重置sa密码?
我在计算机上丢失了sa密码,当我直接使用admin组中的帐户登录计算机时,SQL Server Management Studio将不允许我使用Windows身份验证登录。 我的计划是简单地登录服务器,通过Windows身份验证进行连接,并重置sa以使用新密码。由于我无法通过Windows身份验证进行连接,因此无法正常工作。 我还能如何重设sa密码?

4
授予运行SQL Server作业的权限
此问题是从Stack Overflow 迁移而来的,因为可以在Database Administrators Stack Exchange上回答。 迁移 7年前。 我在MSSQL Server 2005上有一份工作,希望允许任何数据库用户运行。 我不担心安全性,因为作业实际工作的输入来自数据库表。仅运行作业,而不向该表添加记录将无济于事。 我只是找不到如何授予工作公开权限。 有什么办法吗?在这一点上,我唯一能想到的就是让这项工作持续运行(或按计划进行),但是由于它只需要很少做任何实际工作(也许每几个月一次),我确实希望这项工作能够尽快完成,这似乎不是最佳解决方案。

5
仍然是避免将默认端口用于SQL Server的最佳实践吗?
从历史上看,作为安全最佳实践的一部分,建议不要使用默认端口连接到SQL Server。在具有单个默认实例的服务器上,默认情况下将使用以下端口: SQL Server服务-端口1433(TCP) SQL Server浏览器服务-端口1434(UDP) 专用管理员连接-端口1434(TCP) 问题: 这个建议仍然有用吗? 是否应该更改上述所有端口?

6
SQL Server注入-以26个字符为单位的损失是多少?
我正在测试针对SQL Server数据库上的注入攻击的弹性。 db中的所有表名都是小写,并且排序规则区分大小写,Latin1_General_CS_AS。 我可以发送的字符串被强制为大写,并且最大长度为26个字符。所以我不能发送DROP TABLE,因为表名将是大写的,因此由于排序规则,该语句将失败。 那么-我在26个角色中能造成的最大伤害是多少? 编辑 我了解有关参数化查询的所有知识,等等-假设在这种情况下,开发构建要发送查询的前端的人没有使用params。 我也不打算做任何邪恶的事情,这是由同一组织中的其他人构建的系统。

8
为什么应用程序不使用sa帐户
我的第一个问题,请保持温柔。我知道sa帐户可以完全控制SQL Server以及所有数据库,用户,权限等。 我绝对相信,没有完善的,以业务人员为中心的原因,应用程序不应使用sa密码。这个问题的答案包括我针对IT讨论的很多理由 我被迫接受一个新的服务管理系统,该系统除非使用sa密码,否则将无法正常工作。我从来没有时间弄清楚为什么要设置评估,但是服务器团队试图将其安装为使用我设置的固定角色,其中包含db_creater和我认为需要的其他权限。失败了。然后,我让服务器团队使用sa帐户进行安装,但在其数据库的dbo角色下以一个帐户运行,但这也失败了。很可惜,我试图用sysadmin角色的帐户来运行它,但是即使失败了,也没有出现有用的错误消息,这些错误消息使我能够确定正在发生的事情而无需花费更多的时间。它仅适用于sa帐户和以明文形式存储在配置文件中的密码。 当我对此进行查询时,服务器团队与供应商进行了交谈,他们得到了一个令人担忧的答案:“这是什么问题?” 然后“好吧,我们可以看看加扰密码” 我知道有一些方法和手段可以限制对文件的访问,但是我认为这只是安全性的另一个弱点 无论如何,我的问题是,有人可以向我指出一些文档,我可以用来向企业解释这是一件坏事的原因,应该是很大的不。我在一个领域工作,这意味着我需要认真对待安全性,并且一直在努力使业务理解,最终无论如何它可能都超出了排名,但是我需要尝试。

8
列出给定登录名的所有映射用户的查询
查看特定登录名的属性时,可能会看到映射到该登录名的用户列表: 我分析了SQL Server Management Studio(SSMS),发现SSMS一次连接到每个数据库,并从sys.database_permissions中检索信息。 是否可以编写一个查询来检索上面显示的用户映射信息,或者我是否被迫使用游标或sp_MSforeachdb或类似的东西?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.