根据stunnel4的手册 该目录中的证书应该命名为XXXXXXXX.0,其中XXXXXXXX是cert的DER编码主体 (最低有效字节顺序为MD5哈希的前4个字节)的哈希值。 我怎么能生产这样的东西? 我试了,失败了:s: openssl x509 -in cert.crt -inform PEM -out cert.der -outform DER 然后 openssl dgst cert.der
如何禁用stunnel4中的安全客户端启动的重新协商? 我在Ubuntu 14.04上使用版本stunnel 4.53-1.1ubuntu1,使用OpenSSL 1.0.1f使用OpenSSL 1.0.1f,使用OpenSSL 1.0.1e在Debian Wheezy上使用strenel 4.53-1.1。 stunnel文档列出了一个选项: 重新协商=是| 没有 支持SSL重新协商 但不幸的是,这导致了以下错误: 第70行:“renegotiation = no”:指定的选项名称在此处无效 但是这个选项在哪里有效? 我尝试了单一的服务(无论如何没有任何意义),但也没有效果。 文档不是很详细,关于这一点,我找不到任何有关search引擎的信息。 有没有人有线索,如何得到这个权利? 我使用了下面的最小configuration: pid=/stunnel4.pid debug = 5 output = /var/log/stunnel4/stunnel.log cert = /etc/ssl/certs/ssl-cert-snakeoil.pem key = /etc/ssl/private/ssl-cert-snakeoil.key renegotiation = no [https] accept = 443 connect = localhost:8000 这些testing表明,重新协商是支持的: Qualys的ssltest显示: 安全客户端启动的重新协商:支持的DoS危险(更多信息) 用openssl手动执行,也证实: $ openssl s_client -connect localhost:443 CONNECTED(00000003) […]
我试图build立一个3节点的Redis集群,通过通道进行通信。 Redis在端口6379(可configuration)上侦听客户端发布/订阅,并在configuration的端口+ 10000(不可configuration – 在此情况下为16379)侦听集群通信。 我没有太多的运气为此configurationstunnel。 有人可以通过configuration来引导我吗? 这是我得到的节点1: cert = /etc/stunnel/private/private.pem pid = /var/run/stunnel.pid [6382] client = yes accept = localhost:6382 connect = redis2:26382 [6383] client = yes accept = localhost:6383 connect = redis3:26383 [26381] client = no accept = 26381 connect = 6381 其他节点具有遵循类似模式的configuration。 http://redis.io/topics/cluster-tutorial说redis集群模式“不支持NATnetworking环境,在一般环境下,IP地址或TCP端口重新映射。
在看过很多客户的精彩build议并接受了Stunnel的答复之后,我发现这看起来像是我们的问题,但我在应用这个解决scheme时遇到了麻烦。 首先,ulimit是一个shell的东西,影响从shell(从我的理解)产生的进程。 因此,我正在检查/etc/security/limits.conf并添加以下行: # stunnel resets 2011-03-03 kdh * hard nofile 65536 并发出一个/etc/init.d/stunnel4重新启动,但我仍然看到了可怕的太多的连接消息: [admin@p2378442 ~]$ sudo tail -f /var/log/stunnel.log |grep "too many" 2011.03.03 13:43:07 LOG4[8461:3086272208]: Connection rejected: too many clients >=500) 2011.03.03 13:43:08 LOG4[8461:3086272208]: Connection rejected: too many clients >=500) 2011.03.03 13:43:08 LOG4[8461:3086272208]: Connection rejected: too many clients >=500) 我是否正确应用了新的打开的文件限制? 我需要重新启动吗?
我们有一个负载平衡器的设置,其中一个HTTPS请求stream经以下步骤: Client -> DNS -> stunnel on Load-Balancer -> HAProxy on LB -> Web-Server 当stunnel正在监听负载均衡器的本地IP时,此设置完美工作。 然而,在我们的设置中,我们有2个负载均衡器,我们希望能够监听一个虚拟IP,这个虚拟IP一次只能在一个LB上存在(keepalived将IP翻转到第二个LB,如果第一个丢弃的话)。 HAProxy在这样做没有问题(我可以ping所分配的虚拟IP在我正在testing的负载平衡器上),但似乎stunnel恨这个概念。 有没有人以前做过这个(下面是我的stunnelconfiguration – 正如你可以看到我实际上听所有443stream量): – cert= /etc/ssl/certs/mycert.crt key = /etc/ssl/certs/mykey.key ;setuid = nobody ;setgid = nogroup pid = /etc/stunnel/stunnel.pid debug = 3 output = /etc/stunnel/stunnel.log socket=l:TCP_NODELAY=1 socket=r:TCP_NODELAY=1 [https] accept=443 connect=127.0.0.1:8443 TIMEOUTclose=0 xforwardedfor=yes 对于冗长的问题抱歉!
目前我正在使用以下scheme来同时提供静态和dynamic内容。 我用X-Forwarded-For支持补丁编译了stunnel。 Internet(http) – > haproxy(frontend1) – > Apache Farm Internet(https) – > stunnel – > haproxy(frontend2) – > Apache Farm Stunnel被configuration为使用来自xxxx.com的证书。 可以添加对stunnel的支持来与其他证书一起服务吗? cert = /etc/stunnel/group.cert key = /etc/stunnel/private.key verify = 0 debug = local0.debug CAfile = /etc/stunnel/group.cert chroot = /var/run/stunnel4/chroot setuid = stunnel4 setgid = stunnel4 failover = prio xforwardedfor = yes TIMEOUTclose=0 socket=l:TCP_NODELAY=1 […]
我正在为所有请求设置一个使用SSL的Web应用程序。 它需要有扩展的空间,也是高度可用的。 似乎“推荐”的处理方法是为HA设置一对第4层负载均衡器,它们通过服务器场进行SSL解密,然后转到第7层负载均衡器的场,然后最后到networking服务器。 (见: http : //1wt.eu/articles/2006_lb/index_09.html ) 过去我使用过HAProxy,所以我尝试了一下这样的设置。 基本上我有HAProxy in TCP mode => STunnel => HAProxy in HTTP mode => Apache 。 当我这样做时,可用于apache的客户端IP是第二个HAProxy服务器的IP。 我可以通过让STunnel添加一个X-Forwarded-For头来稍微改进,但是只给了我第一个HAProxy服务器的IP地址。 我无法find让Apache知道原始客户端IP地址的方法。 根据我读过的文档,我不认为HAProxy能够在tcp模式下通过原始客户端的IP地址。 那是对的吗? 如果是这样,是否有任何开源软件负载平衡器可以做到这一点? 如果没有,是否有任何商业/硬件负载平衡器可以? 我想我也应该注意到,这个负载均衡器并不严格地需要成为第4层负载均衡器。 我只需要能够通过SSLstream量到STunnel(或任何我最终使用的SSL解密)。 作为一个侧面说明,我试图设置它没有第4层负载平衡器(即STunnel是链的第一部分)。 这解决了客户端IP问题。 但是,正如上面的文章所预测的,STunnel是瓶颈。 它开始丢失每秒500到600个请求的请求。 而且,当然,这不能通过增加更多的框来扩展(同时维护HA)。 根据我给出的要求,这个应用程序应该能够处理每秒1000-5000个请求的峰值stream量。
我试图通过https连接使用haproxy设置SSH。 我目前正在寻找一种SSHD从haproxy获取源IP的方法,类似于阅读X-Forwarded-For或X-Real-IP标头。 客户端configuration; ~$ cat ~/.stunnel/stunnel.conf pid= client=yes foreground=yes [ssh] accept=4444 connect=ssh.example.com:443 客户输出; ~$ ssh -v -p 4444 user@localhost OpenSSH_6.6.1, OpenSSL 1.0.1i 6 Aug 2014 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Connecting to localhost [::1] port 4444. debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2 pat OpenSSH_6.6.1* compat 0x04000000 ….. debug1: SSH2_MSG_KEXINIT sent Bad packet length 1349676916. Disconnecting: Packet […]
所以说我有一个任意的TCP端口12345,它是非SSL,我想把通道,以确保stream量。 当stunnel在它之前是否意味着这个端口现在只有tls / ssl? 或者你还可以连接到它未encryption? 基本上我想确保这个端口只能通过ssl / tls和stunel访问,没有其他办法。 澄清我想确保只有通道端口是开放的。 这在评论中回答说,不安全的端口应该是防火墙,但最好绑定到本地主机。
如何防止除运行Stunnel的服务用户以外的任何用户读取stunnel.pem文件? 我如何才能允许在Windows XP中访问此目录(C:\ Program Files \ stunnel)只有Stunnel服务?