如何遍历 MySQL 数据库中的所有用户(我们有 > 3000 个),并将REQUIRE SSL标志添加到每个帐户?我不想修改现有用户的权限、主机或密码,只需添加REQUIRE SSL
我按照MongoDB官网的说明创建了证书,但是不能正常使用。
我有一个副本集和自签名证书。
我需要对副本成员之间的流量进行完全加密。如何正确设置这些副本成员?以及如何进入 MongoDB shell?
我根据 mongod.conf 中的说明创建了证书:
sslMode = requireSSL
sslPEMKeyFile = /etc/ssl/mongo.pem ...
Run Code Online (Sandbox Code Playgroud)
并尝试添加参数:
sslCAFile = /etc/ssl/mongo.crt
Run Code Online (Sandbox Code Playgroud)
并尝试输入:
mongo --ssl --sslPEMKeyFile /etc/ssl/mongo.pem --sslCAFile /etc/ssl/mongo.pem or
mongo --ssl --sslPEMKeyFile /etc/ssl/mongo.pem --sslCAFile /etc/ssl/mongo.crt
Run Code Online (Sandbox Code Playgroud)
我收到错误 - The server certificate does not match the host name。
如果我使用客户端证书,则错误:SSL peer certificate validation failed:self signed certificate.
Mongod 服务已启动并正在运行。Mongo 版本 - 3.0.2。Centos - 6.5 x64。
我浏览了很多链接,但没有找到可行的解决方案。
如果可能的话,你能给我步骤吗?
好的。我已经在 Internet 上搜索有关尝试解决此问题的信息,但没有发现任何与我的情况有关的信息。我从这里开始,引导我到这里,引导我查看用于 HTTP 的 netsh 命令。
理解:我使用 HTTP/80 访问报表管理器或 Web 服务没有任何问题。
我的问题是严格让 HTTPS/443 工作并打开 HTTP/80 使用的完全相同的页面。我得到的只是HTTP Error 404。
10.50.4270.0netshSSL 证书绑定在 IP:port 443 上。HKLM:\SYSTEM\CurrentControlSet\services\HTTP\Parameters\SslBindingInfo
存在于0.0.0.0:443.netsh show iplisten没有显示任何东西,所以我add iplisten ipaddress=0.0.0.0,但这并没有影响任何东西rsreportserver.config的SecureConnectionLevel设置为value="0"我被卡住了,我在这里想做什么或检查什么?
编辑
我刚刚在全新的服务器上完成了全新安装,结果相同。
我们可以配置基于证书的身份验证来连接(登录)sql 客户端吗?或使用相互身份验证(sql server 和 sql client)连接 sql 客户端的任何其他方法?
我正在 Amazon RDS 上运行 PostgreSQL 9.4.x 实例。我可以使用类似于以下命令行的 SSL 成功连接到该服务器:
psql "host=x.y.z.rds.amazonaws.com dbname=aaa user=bbb sslmode=verify-full"
Run Code Online (Sandbox Code Playgroud)
如何强制客户端使用 SSL(使窃听更加困难)?以下情况应该无法连接:
psql "host=x.y.z.rds.amazonaws.com dbname=aaa user=bbb sslmode=disable"
Run Code Online (Sandbox Code Playgroud)
据我所知,在 Amazon RDS 上您无法编辑pg_hba.conf,因此我无法hostssl在其中添加条目。
这篇 AWS 博客文章建议了如何使用 MySQL 来完成此操作,但我找不到 PostgreSQL 类似信息的链接。
我的动机是防止自己(或其他用户)意外地通过网络传输未加密的敏感信息。
我已经MongoDB通过可选的 SSL 连接启用了 SSL :preferred.
我曾经lets encrypt为了获取SSL证书而使用过。SSLs 按预期工作,在mongod.log文件中我可以看到:
2018-06-02T06:46:26.664+0000 I NETWORK [listener] connection accepted from MY_SERVER_IP:45442 #2953818 (121 connections now open)
2018-06-02T06:46:26.664+0000 I NETWORK [conn2953818] SSL mode is set to 'preferred' and connection 2953818 to MY_SERVER_IP:45442 is not using SSL.
Run Code Online (Sandbox Code Playgroud)
现在在同一台主机上,我尝试使用如下 mongo 客户端命令连接到 mongo:
mongo --ssl --host mongo.example.com --sslPEMKeyFile /etc/ssl/mongo.pem --sslCAFile /etc/ssl/ca.pem
Run Code Online (Sandbox Code Playgroud)
当我使用SSLmongo 时出现错误:
MongoDB shell version v3.6.2
connecting to: mongodb://mongo.example.com:27017/
2018-06-02T06:48:34.156+0000 E NETWORK [thread1] SSL peer certificate validation failed: …Run Code Online (Sandbox Code Playgroud) 我有一个 MySQL RDS 数据库,并通过 EC2 实例连接它。
我的 RDS 不可公开访问,因此我认为它只能通过我的 EC2 实例连接。
我在此链接https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html中看到,您可以使用 RDS 设置 SSL。
如果您的 RDS 受到保护,那么为您的 RDS 设置 SSL 是否重要?
我正在尝试设置我的 SQL Server 2008 R2 实例,以便它只接受 SSL 连接。我的理解是,一旦设置完成,任何客户端计算机都需要安装证书才能连接。
我已按照http://msdn.microsoft.com/en-us/library/ms191192(v=sql.105).aspx上的说明进行操作,并在许多其他站点上进行了大量阅读。我创建了一个证书,在 SQL Server 配置管理器(网络配置/协议/属性)中选择了它,并将“强制加密”设置为 true。我重新启动了运行我的实例的服务。
完成所有这些之后,当我尝试远程连接到我的实例时,我成功了。通常我喜欢成功,但在这种情况下,我没有安装我的开发机器可以识别的证书(这是我的实例所在的位置),当我查看连接属性时,它说连接没有加密。如果我选择尝试来自客户端的加密连接(在连接框中的 SQL Server Management Studio 的选项中选择此选项),则会出现我期望的证书问题。
所以我的问题是:如果事情设置正确,来自客户端的连接应该会失败(因为它缺少适当的证书),而我不必在客户端上配置任何东西,这是否正确?有什么明显的东西我可能会遗漏吗?也许是我必须更改属性的其他地方?我希望以前做过这件事的人会有一些想法。
顺便说一下,在创建我的证书时,我遵循了http://thesqldude.com/tag/makecert/ 上的SQL Dude 的说明。证书的名称是我的开发机器的完全限定域名。
我们一直在加固我们的服务器,最近由于贵宾犬攻击,我们禁用了 SSL 3.0。当我在我们的其中一台测试服务器上执行此操作时,SQL Server 在重新启动后无法启动。
通过注册表禁用 TLS 1.0 和 SSL 3.0,我已经能够在 Windows Server 2012 和 Windows 7 上重现这一点。我在服务器机器上使用 SQL Server 2012。在我的 Windows 7 机器上,sql server 2012 和 sql server 2005 不会以禁用的方式启动。
这些是我得到的事件日志错误:
应用程序日志:
(28/10/2014 8:38:54 AM) SQL Server 无法生成 FRunCM 线程。检查 SQL Server 错误日志和 Windows 事件日志以获取有关可能的相关问题的信息。(28/10/2014 8:38:54 AM) 由于网络库中的内部错误,无法启动网络库。要确定原因,请查看错误日志中紧接此错误之前的错误。(28/10/2014 8:38:54 AM) TDSSNIClient 初始化失败,错误为 0x80090331,状态代码为 0x1。(28/10/2014 8:38:54 AM) TDSSNIClient 初始化失败,错误为 0x80090331,状态代码为 0x80。
系统日志
(28/10/2014 8:38:54 AM) SQL Server (MSSQLSERVER) 服务因特定于服务的错误 %%-2146893007 而终止。(28/10/2014 8:38:54 AM) 创建 SSL 服务器凭据时发生致命错误。内部错误状态为 10013。
有谁知道我们可以禁用 SSL 3.0 …
在 AWS 提供 RDS Postgres 的直接 postgres 中,您可以通过将参数组项设置rds.force_ssl为 1来要求 SSL 。
这是根据 RDS postgres 文档:https : //docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.SSL
但是Aurora Postgres没有这个参数项,也没有添加新参数的能力。如何为 Aurora 实例开启 require ssl?
我可以在 Aurora 版本中看到它支持 SSL:
create extension sslinfo;
select ssl_is_used();
select ssl_cipher();
Run Code Online (Sandbox Code Playgroud)
我可以选择通过 ssl 连接:
psql -h my-ssl-test1.cwzhlddlylx.us-east-1.rds.amazonaws.com -p 5432
-U myuser -d mydb sslrootcert=rds-ca-2015-root.pem sslmode=verify-full
Run Code Online (Sandbox Code Playgroud) ssl ×10
amazon-rds ×2
mongodb ×2
postgresql ×2
sql-server ×2
aurora ×1
aws ×1
mysql ×1
permissions ×1
security ×1
ssrs-2008-r2 ×1
windows ×1