使用 stunnel 作为 HTTPS 反向代理时,如何缓解 POODLE SSL 漏洞?
我正在尝试将 Stunnel 设置为服务器作为 SSL 缓存。一切都很顺利,而且大多数情况下都按设计工作。
然后我在日志文件中遇到错误:
SSL_accept: 1408F10B: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
Run Code Online (Sandbox Code Playgroud)
由于某些奇怪的原因,并非所有客户端都会触发。使用链接从 CentOS 连接 - 出现错误(尝试了多台机器)。使用链接从 Ubuntu 连接 - 没有错误。
尝试使用 wget,使用 TLSv1 一切顺利,但使用 SSLv3 出现错误。同时,wget 报告:
OpenSSL: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
Run Code Online (Sandbox Code Playgroud)
无法建立 SSL 连接。
这是我的配置:
pid = /etc/stunnel/stunnel.pid
debug = 3
output = /etc/stunnel/stunnel.log
socket=l:TCP_NODELAY=1
socket=r:TCP_NODELAY=1
verify=3
; fixing "fingerprint does not match" error
fips=no
[https]
accept=12.34.56.78:443
connect=127.0.0.1:80
TIMEOUTclose=0
xforwardedfor=yes
CAfile = /path/to/ssl/example.com.cabundle
cert=/path/to/ssl/example.com.crt
key=/path/to/ssl/example.com.key
Run Code Online (Sandbox Code Playgroud)
任何人都对这里发生的事情有任何见解?现在谷歌搜索了几个小时,无法弄清楚。
OpenSSL 版本:OpenSSL 0.9.8e-fips-rhel5 2008 年 …
我已经在 2 个节点上设置了 DRBD,并于昨天开始使用它。大约一个小时后,它重新同步了 50% 的分区。又过了 12 个小时,达到了 79%,而且移动速度非常慢。
这是 cat /proc/drbd 显示的内容:
1: cs:SyncTarget ro:Primary/Secondary ds:Inconsistent/UpToDate C r-----
ns:464931976 nr:191087032 dw:656013660 dr:214780588 al:100703 bm:21100 lo:7 pe:0 ua:0 ap:7 ep:1 wo:f oos:92241852
[==============>.....] sync'ed: 79.2% (90076/431396)M
finish: 76:13:38 speed: 332 (8,680) want: 19,480 K/sec
Run Code Online (Sandbox Code Playgroud)
我查看了网络流量,我在 1G 接口上使用了 1M 到 20M 之间的流量。在这一切进行时尝试运行 iperf,我得到了 930M 的读数。尝试将同步器速率调整为 10M、50M、500M 无济于事。没有运气也调整了数据包大小。
现在,正如您从状态中看到的那样,需要注意的是,我的主节点不一致。所以我假设在重新同步进行时,操作系统本质上是在使用辅助节点。但鉴于吞吐量如此之低,我不明白为什么同步速度不快。
关于我接下来可以尝试什么的任何想法?预计 76 小时的完成时间并不是我所期待的 :( 特别是不知道原因,所以出现各种中断,我不知道如何快速使数组保持一致性。
谢谢!
编辑:我在网络部分尝试了以下设置无济于事:
sndbuf-size 512k;
max-buffers 20480;
max-epoch-size 16384;
unplug-watermark 20480;
Run Code Online (Sandbox Code Playgroud)
编辑 2:在我停止调整所有配置后,无缘无故地,速度跃升至 10~30M。同步率高达 98.8%,然后回落到 ~300K。两台服务器上的日志中都没有消息。巧合的是,我看到运行在该分区之外的 MySQL …
我正在寻找平衡 MySQL 基础架构负载的方法,但似乎找不到适合我的答案... :)
所以,我有一个又大又胖的服务器,可以处理所有事情。许多数据库,许多读取,许多写入等。它处理得很好,但它是单点故障。
我们已经设置了几个 slaves 来将读取重定向到它们,但面临两个问题:重建所有程序以拆分读取和写入需要花费大量精力;有时奴隶会落后,这会导致应用程序中出现非常有趣的工件。
从站落后的问题:因为许多数据库是混合的 - 在数据挖掘方面完成了大量 10-20 分钟的查询,以及不需要时间的原子查询。但是 Slave 一次只运行一个查询,因此所有原子查询都必须等到重查询完成。
为了解决这两个问题,我正在考虑使用代理之类的东西,它会考虑:
仍然存在但我想考虑的一个问题是故障转移。如果 master 失败了——如果 slave 承担 master 的责任就好了,当 master 备份时——它将成为奴隶。
欢迎任何指向 RTFM 或有关此主题的案例研究的指针 =)
编辑:谷歌搜索了更多,除了 Tungsten 企业 - 还找到了 dbShards 和 Schooner。在深入研究的同时 - 有没有人有使用这些解决方案的经验?任何反馈?
我试图弄清楚 EQL 如何与多个控制器一起工作。戴尔销售人员建议在一个 EQL 单元上安装一个 RAID 阵列。但是这种设置是否允许同时使用两个控制器?或者吞吐量是否会被限制为 2G,在该设置中单个控制器的 IOPS 限制?
我知道对于 MD3000i,我们被建议设置 2 个 RAID 阵列,以便可以使用两个控制器和所有 4 个 NIC 的方式设置主路径。
那么它是如何用 EQL 完成的呢?