我一直在努力在我的两个测试盒之间实现 Oracle 的网络加密。我想我终于能够做到这一点,但我似乎无法找到一种方法来验证它是否确实已启用。
我知道服务器端默认启用跟踪,但是我可以在远程 sqlplus 实例上运行一个命令来生成跟踪并允许我查看特定的 sql 是否已加密吗?有更好的方法来测试这个吗?
感谢大家!
在最近的一个问题中,服务主密钥保护什么?,建议服务主密钥保护由 加密的数据等ENCRYPTPASSPHRASE()。这是真的?
设想:
Server1 运行 SQL Server 2012,带有服务主密钥 A,db1 带有数据库主密钥 1,对称密钥和证书可用。用于保护 DBMK 1 的密码未知,SMK A 启用加密。
Server2 运行带有 SMK B 的 SQL Server 2012,带有 DBMK 2 的 db2,对称密钥和证书可用。用于保护 DBMK 2 的密码未知,SMK B 用于加密。
需要将 db2 恢复到 Server1。表中有一个加密列,用于存储内部 ASP.NET 应用程序的密码。还有其他应用程序访问 Server1 上的 db1 中的加密数据。
题:
将 db2 恢复到 Server1 并访问加密数据而不会对 db1 造成问题的最佳选择?
测试:
简单的restore会把db2的数据、对称密钥和证书带到Server1,但是SMK A不能用来解密数据:“请在数据库中创建主密钥或者在会话中打开主密钥,然后再执行此操作.” 在测试服务器上恢复了 SMK B,一切都很好。无法在 Server1 上使用此解决方案,因为我相信将 SMK B 恢复到 Server1(覆盖 SMK A)将禁止我访问 db1 中的加密数据。不希望发生这种情况。
有什么建议吗?谢谢你。
使用sp_send_dbmail在 SQL Server 上发送电子邮件时,如何指定以加密格式发送电子邮件?
security sql-server encryption sql-server-2012 database-mail
有没有办法强制对服务器上运行的所有数据库和日志备份进行加密?
如果未指定加密,查询将终止。
有没有办法通过扩展事件监控加密连接?我过去曾使用 sqlsni.TRACE 监视 TLS 1.0、1.1 和 1.2 握手,但找不到加密连接本身的相同内容。除非“encrypt=yes”未添加到连接字符串中,否则只会对握手进行加密,而不会加密其他内容。
我可以使用 sys.dm_exec_connections 来捕获它,但它不是实时的,我必须非常频繁地运行它(每分钟或更短时间)才能找到我正在寻找的内容。
我正在尝试将 SQL Server 2017 Express Edition 配置为使用 TLS 1.2 加密,并接受来自简单测试 JDBC 程序的连接。我对 java 和 MSSQL 相当有经验,但对加密方面不太了解。我正在尽可能地遵循微软的文档。
我有一个非常简单的 JDBC 测试程序,而我的 SQL Server 仍然将“强制加密”设置为“否”。
当我使用简单的 URL 连接到服务器时:
jdbc:sqlserver://...\SQLEXPRESS:1433;databaseName=...;user=...;password=...
它因可怕的事情而失败:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
当我将“;encrypt=false”附加到 URL 时,它连接正常。
但是,当我对成功交易进行 Wireshark 网络跟踪(使用“encrypt=false”)时,我仍然在跟踪中看到看起来像 TLSv1.2 握手的内容。Wireshark 中这些记录的“信息”是:
这些是什么?由于我已指定“encrypt=false”,因此我希望在跟踪中看不到 TLS。
谢谢。
我正在考虑使用一些 SQL Server 2008 的加密。
我在 MSDN 上阅读了以下文章:
Q1a:是否为每个数据库实例创建了主密钥密码?
IF NOT EXISTS
(SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101)
CREATE MASTER KEY ENCRYPTION BY
PASSWORD = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
GO
Run Code Online (Sandbox Code Playgroud)
Q1b:如果我在 Server1 上创建主密钥密码并加密表中的列。当我备份该数据库 (.bak) 时,我是否能够将数据库还原到另一个 Server2,或者我是否必须使用相同的密码在 Server2 上创建一个主密钥?
Q2 : 如果我想恢复到另一台服务器,是否需要备份证书、主密钥或对称密钥?
CREATE CERTIFICATE HumanResources037
WITH SUBJECT = 'Employee Social Security Numbers';
GO
CREATE SYMMETRIC KEY SSN_Key_01
WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE HumanResources037;
GO
Run Code Online (Sandbox Code Playgroud)
Q3 : 什么时候应该打开对称密钥?应该在每次选择之前完成然后关闭吗?即在存储过程开始时打开,然后关闭。
-- Open the symmetric key with which to encrypt the …Run Code Online (Sandbox Code Playgroud) 我们公司正在创建一个启用加密的 MySQL RDS。现在,由于我们是 RDS 的新手,我们有几个与 RDS 相关的问题。
一旦我们创建了一个启用了加密的 MySQL RDS,我们将如何确认 RDS 确实是加密的?
加密的RD是磁盘/文件级加密还是数据库级加密?我已经做了一些搜索,但机器人能够得到一个明确的答案。
我正在尝试保护我的业务逻辑,但我不想使用“使用加密”,因为它是不够的并且可能会被破坏。
我不想再次用 CLR 语言重新编写程序。
是否有一种简单的方法可以将 TSQL 编程编译为可供 SQL Server 使用的 DLL,就像它使用 CLR 程序集的方式一样?
encryption ×10
sql-server ×6
security ×2
amazon-rds ×1
backup ×1
mysql ×1
oracle ×1
restore ×1
sql-clr ×1
t-sql ×1