MongoDB是否支持TLS1.2或更高版本?

时间:2017-12-09 03:51:23

标签: mongodb spring-data-mongodb tls1.2 mongo-java mongo-shell

这是关于MongoDB的安全部分。

我看到了MongoDB的文档,发现它支持TLS 1.0& 1.1。

我可以知道MongoDB是否支持TLS 1.2或更高版本?

2 个答案:

答案 0 :(得分:1)

是的,现在确实如此。它在2014年5月21日的MongoDB博客文章中提到here

  

为了保护网络流量,应启用SSL / TLS   客户端和服务器之间以及服务器之间。 MongoDB的   支持TLS 1.0,1.1和1.2,禁用所有SSL版本。启用   TLS在security documentation中有详细描述。

请参阅Source on GitHub

答案 1 :(得分:0)

还支持类似1.3的版本:

void recordTLSVersion(TLSVersion version, const HostAndPort& hostForLogging) {
StringData versionString;
auto& counts = mongo::TLSVersionCounts::get(getGlobalServiceContext());
switch (version) {
    case TLSVersion::kTLS10:
        counts.tls10.addAndFetch(1);
        if (std::find(sslGlobalParams.tlsLogVersions.cbegin(),
                      sslGlobalParams.tlsLogVersions.cend(),
                      SSLParams::Protocols::TLS1_0) != sslGlobalParams.tlsLogVersions.cend()) {
            versionString = "1.0"_sd;
        }
        break;
    case TLSVersion::kTLS11:
        counts.tls11.addAndFetch(1);
        if (std::find(sslGlobalParams.tlsLogVersions.cbegin(),
                      sslGlobalParams.tlsLogVersions.cend(),
                      SSLParams::Protocols::TLS1_1) != sslGlobalParams.tlsLogVersions.cend()) {
            versionString = "1.1"_sd;
        }
        break;
    case TLSVersion::kTLS12:
        counts.tls12.addAndFetch(1);
        if (std::find(sslGlobalParams.tlsLogVersions.cbegin(),
                      sslGlobalParams.tlsLogVersions.cend(),
                      SSLParams::Protocols::TLS1_2) != sslGlobalParams.tlsLogVersions.cend()) {
            versionString = "1.2"_sd;
        }
        break;
    case TLSVersion::kTLS13:
        counts.tls13.addAndFetch(1);
        if (std::find(sslGlobalParams.tlsLogVersions.cbegin(),
                      sslGlobalParams.tlsLogVersions.cend(),
                      SSLParams::Protocols::TLS1_3) != sslGlobalParams.tlsLogVersions.cend()) {
            versionString = "1.3"_sd;
        }
        break;
    default:
        counts.tlsUnknown.addAndFetch(1);
        if (!sslGlobalParams.tlsLogVersions.empty()) {
            versionString = "unknown"_sd;
        }
        break;
}