如何禁用SSL并在Fedora上切换到Openssl的TLS?

时间:2015-03-11 13:42:27

标签: ssl openssl fedora

我正在尝试阻止SSL作为对Poodle漏洞的措施。

是否可以更改密码列表而不是执行某些操作来禁用SSL兼容性并切换到TLS ???

2 个答案:

答案 0 :(得分:0)

必须将各个服务器配置为禁用SSL并仅使用TLS - 它不是系统范围的配置。

我希望官方Fedora频道中的大多数软件都会在可能的情况下更新为禁用SSL,但您需要检查您正在使用的服务器软件是否配置正确。

答案 1 :(得分:0)

  

如何在Fedora上禁用SSL并切换到Openss的TLS?

对于OpenSSL,答案是平台无关的。

要禁用SSL并仅允许TLS,请执行以下操作:

const SSL_METHOD* method = SSLv23_method();
if(NULL == method) handleFailure();

SSL_CTX* ctx = SSL_CTX_new(method);
if(NULL == ctx) handleFailure();

const long flags = SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_COMPRESSION;
SSL_CTX_set_options(ctx, flags);
/* No error code returned */

SSLv23_method说"给我SSLv2及以上"。然后,使用SSL_CTX_set_options删除不需要的SSLv2和SSLv3协议。

您还应拨打SSL_set_cipher_list来设置首选密码列表。类似的东西:

const char* const PREFERRED_CIPHERS = "HIGH:!aNULL:!kRSA:!PSK:!SRP!MD5:!RC4";
res = SSL_CTX_set_cipher_list(ctx, PREFERRED_CIPHERS);
if(1 != res) handleFailure();

IF 您可以控制客户端和服务器,然后只使用TLS 1.2和AES / GCM以及Camellia / GCM密码套件。如果您正在与兼容的服务器进行交互,那么ChaCha20也可以;但它无处可见(例如,参见ChaCha20 and Poly1305 based Cipher Suites for TLS )。

GCM密码套件(以及ChaCha20流密码)避免了在架构级别的协议中内置的一些错误。它们是填充攻击的原因。


  

是否可以更改密码列表而不是执行某些操作来禁用SSL兼容性并切换到TLS ???

没有。协议和密码套件是两回事。你必须轮流解决它们。