我需要在 Cassandra 中存储一些敏感数据并要求它在静态时加密。Cassandra 是否可能在 Linux 加密文件系统(类似于开源TrueCrypt产品)之上正常运行?
另一种可用的替代方法是在将数据发送到 Cassandra 之前在应用程序层进行加密,但这需要编写管道代码和安全管道代码,如果可能的话最好避免这种情况。
我正在研究必须在数据库中以可逆加密格式存储虚拟机的 root 密码的可能性。原因是有时机器需要本地登录,但不鼓励这样做,我们需要能够查找 root 密码。当然,访问权限将受到严格限制,只有少数管理员。除非无法通过网络访问 vm,否则这些将不会被使用。在这方面同步用户和密码会带来类似的问题,即如果网络出现故障,sudoer 如何使用保证的最新密码登录?
计划要旋转的密钥的最佳方法是什么?我应该使用每个管理员都有的密码吗?这在我心中引起了一些危险信号。有没有办法安全地管理密钥,以便管理员可以设置自己的密码?也许使用公钥加密并使用每个管理员的公钥加密对称密钥?
在这里,我只是在寻找有关加密敏感数据的密钥管理的解决方案的一般概述。如果我无法弄清楚如何从该级别实施,我可以提出更多问题。
我们将用户关联到具有有限权限的模式。在运行期间,我们使用相同的用户登录生成对称密钥。由于用户具有有限的权限,我们现在无法创建密钥。
如何授予此用户在 sql server 2008 中创建、读取和执行对称密钥的权限?
MySQL 数据库需要包含高度敏感的数据,这些数据不能在静止状态下保持未加密状态。但是数据库需要保持可由应用程序搜索。 使用 MySQL 进行静态加密有哪些选项?
我已经研究过 CryptDB,但它自 2014 年初以来一直不受支持,而且 CryptDB 也不会自然地与 Java 集成。让 CryptDB 与 Spring 和 Eclipse 一起工作可能需要做很多工作,但随着时间的推移,它的支持越来越少。而且似乎其他行级加密方法尚不可行,除非有人提出建议。
那么 MySQL 的数据库级加密选项是什么?与在 CentOS 7 中运行的 MySQL 数据库相关的文件系统加密选项是什么?
MySQL 数据库专门与 Spring MVC 应用程序交互。
注意:这是在一个只安装了 CentOS 7 的专用物理机器上运行的。所以我们不能使用任何 Windows 特定的工具。
我希望为 MySQL 中的密码重置生成一个加密安全的字符串。我知道我可以在 PHP 的应用程序级别执行此操作;但这需要我的许多客户可能没有的 OpenSSL 扩展。
如果我能以一种广泛可用的安全方式在 MySQL 5 中做到这一点,那将是理想的。这可能吗?
注意:这是为了生成密码重置的安全令牌。它与安全连接没有任何关系,因此使用 https 不是解决方案。
我在同一台机器上有两个 SQL Server 实例。我想在其中一个数据库上创建加密备份,然后在第二个实例上还原它。我正在执行以下步骤:
在master将用于加密我们的证书的数据库中创建和备份数据库主密钥
USE MASTER;
GO
CREATE MASTER KEY
ENCRYPTION BY PASSWORD = 'MasterKey_Password';
GO
BACKUP MASTER KEY
TO FILE = 'E:\GKKeys\MASTER_KEY.key'
ENCRYPTION BY PASSWORD = 'MasterKey_BACKUP_Password';
GO
Run Code Online (Sandbox Code Playgroud)创建并备份将用于加密的证书:
USE MASTER;
GO
-- ????????? ??????????, ????? ?? ????????? ?? ?????????? ?? backup-a
CREATE CERTIFICATE BackupEncryptTestCert
WITH SUBJECT = 'smGK_BackupCertificate'
GO
BACKUP CERTIFICATE BackupEncryptTestCert
TO FILE = 'E:\GKKeys\SMGK_BACKUP_CERTIFICATE.cer'
WITH PRIVATE KEY
(
FILE = 'E:\GKKeys\SMGK_BACKUP_CERTIFICATE_PRIVATE_KEY.key'
,ENCRYPTION BY PASSWORD = 'smGK_BackupCertificate_BACKUP_Password'
);
Run Code Online (Sandbox Code Playgroud)创建备份:
BACKUP DATABASE smGK …Run Code Online (Sandbox Code Playgroud)我正在浏览以下链接
https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/authentication-in-sql-server
它说
使用 SQL Server 登录名时,SQL Server 登录名和加密密码会通过网络传递,这会降低它们的安全性。
密码是如何加密的,sql server 是如何解密的?它涉及什么样的加密?
在修补或升级 TDE 加密数据库时,是否应该考虑任何注意事项?在职责分离的情况下,执行补丁或升级过程的人员是否需要访问 TDE 加密数据库的密钥或证书,或者可以在没有密钥的情况下修补数据库。答案很重要,因为我们是一家合法商店,希望应用程序管理员加密数据库并将数据库维护功能外包给 dba,以便在无法访问“应用程序数据”的情况下修补和升级数据库。你能解释一下吗?
我们有一种情况,使用TRIPLE_DES. 这用于加密密码列,并由大约十个存储过程使用(使用这些与OPEN SYMMETRIC KEY SSN_Key_01 DECRYPTION BY CERTIFICATE MyCertificate01;)
我想用AES_192. 但是,如果可能,我宁愿避免编辑存储过程。
我写了以下例程:
我的问题是,对于训练有素的眼睛,这里是否有任何事情会引起警钟,特别是因为旧名称和新名称相同,并且这些名称是在存储过程中使用的?
我已经测试了代码并且它有效,但是我缺乏加密经验和今天的信息过载剂量让我非常紧张,因此请求专业知识......
-- Decrypt data
ALTER TABLE [dbo].[tbl_Users] ADD PasswordClear nvarchar(250) NULL;
GO
OPEN SYMMETRIC KEY SSN_Key_01 DECRYPTION BY CERTIFICATE MyCertificate01;
UPDATE [tbl_Users] SET PasswordClear = CONVERT(nvarchar(250), DECRYPTBYKEY(PasswordEnc))
CLOSE SYMMETRIC KEY SSN_Key_01;
GO
-- Drop old encryption
ALTER TABLE [dbo].[tbl_Users] DROP COLUMN PasswordEnc;
GO
DROP SYMMETRIC KEY SSN_Key_01;
GO
DROP CERTIFICATE [MyCertificate01];
GO
-- Create new certificate …Run Code Online (Sandbox Code Playgroud) sql-server encryption sql-server-2012 certificate symmetric-key
在查询与存储过程加密相关的计划缓存时,我遇到了一个非常奇怪的问题。但是,查询加密计划缓存的是存储过程,而不是计划缓存本身中的查询。让我解释...
下面的过程只是在计划缓存中搜索匹配的字符串并输出查询计划(最后一列)。
ALTER PROCEDURE spQueryPlanCache @textstring nvarchar(max)
AS
BEGIN
SELECT
databases.name,
dm_exec_sql_text.text AS TSQL_Text,
dm_exec_query_stats.creation_time,
dm_exec_query_stats.execution_count,
dm_exec_query_stats.total_worker_time AS total_cpu_time,
dm_exec_query_stats.total_elapsed_time,
dm_exec_query_stats.total_logical_reads,
dm_exec_query_stats.total_physical_reads,
dm_exec_query_plan.query_plan
FROM sys.dm_exec_query_stats
CROSS APPLY sys.dm_exec_sql_text(dm_exec_query_stats.plan_handle)
CROSS APPLY sys.dm_exec_query_plan(dm_exec_query_stats.plan_handle)
INNER JOIN sys.databases
ON dm_exec_sql_text.dbid = databases.database_id
WHERE dm_exec_sql_text.text LIKE @textstring
END
Run Code Online (Sandbox Code Playgroud)
这是最后一列中输出的计划 XML 的示例:
ALTER PROCEDURE spQueryPlanCache @textstring nvarchar(max)
AS
BEGIN
SELECT
databases.name,
dm_exec_sql_text.text AS TSQL_Text,
dm_exec_query_stats.creation_time,
dm_exec_query_stats.execution_count,
dm_exec_query_stats.total_worker_time AS total_cpu_time,
dm_exec_query_stats.total_elapsed_time,
dm_exec_query_stats.total_logical_reads,
dm_exec_query_stats.total_physical_reads,
dm_exec_query_plan.query_plan
FROM sys.dm_exec_query_stats
CROSS APPLY sys.dm_exec_sql_text(dm_exec_query_stats.plan_handle)
CROSS APPLY sys.dm_exec_query_plan(dm_exec_query_stats.plan_handle)
INNER JOIN sys.databases …Run Code Online (Sandbox Code Playgroud) encryption ×10
sql-server ×5
mysql ×2
backup ×1
cassandra ×1
centos ×1
certificate ×1
mysql-5 ×1
postgresql ×1
security ×1
transparent-data-encryption ×1
upgrade ×1