如何在Thin中禁用SSLv3?

时间:2014-10-17 04:56:27

标签: thin poodle-attack

有没有办法阻止Thin使用SSLv3接受请求?

我无法找到有关如何处理使用SSL运行的瘦服务器的Poodle的任何资源。如果我不这样做,我不想在nginx后面移动,所以任何资源都会有所帮助。我查看了源代码,但无法找到修补它的方法,甚至找不到它的引用。

1 个答案:

答案 0 :(得分:2)

Thin使用eventmachine,因此解决方案涉及使eventmachine不使用SSLv2或v3。

本讨论对通用补丁有一些见解 https://github.com/eventmachine/eventmachine/issues/359

另一种选择是使用要禁用的补丁构建eventmachine (https://github.com/eventmachine/eventmachine/wiki/Building-EventMachine

--- a/ext/ssl.cpp
+++ b/ext/ssl.cpp
@@ -145,7 +145,7 @@ SslContext_t::SslContext_t (bool is_server, const string &privkeyfile, const str
        }

        bIsServer = is_server;
-       pCtx = SSL_CTX_new (is_server ? SSLv23_server_method() : SSLv23_client_method());
+       pCtx = SSL_CTX_new (is_server ? TLSv1_server_method() : TLSv1_client_method());
        if (!pCtx)
                throw std::runtime_error ("no SSL context");

我无法对其进行全面测试,但此命令应该失败:

openssl s_client -connect 127.0.0.1:3000 -ssl3