Questions tagged «ssl»

SSL及其后继协议TLS是加密和身份验证协议,可以对TCP连接的全部内容进行加密,并可以验证建立连接的设备的身份。

4
设置透明的SSL代理
我有一个装有2个网卡的linux盒,用于检查通过端口80的流量。一张卡用于连接互联网,另一张卡连接至网络交换机。关键是要能够检查连接到该交换机的设备上用于调试目的的所有HTTP和HTTPS通信。 我为iptables编写了以下规则: nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:1337 -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 1337 -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE 在192.168.2.1:1337上,我使用Charles(http://www.charlesproxy.com/)进行了透明的http代理记录。 端口80一切都很好,但是当我为指向端口1337的端口443(SSL)添加类似规则时,通过Charles收到有关无效消息的错误消息。 我之前曾在Charles的同一台计算机上使用过SSL代理(http://www.charlesproxy.com/documentation/proxying/ssl-proxying/),但是由于某种原因未能透明地进行SSL代理。我用Google搜索的一些资源说这是不可能的-如果有人可以解释原因,我愿意接受它作为答案。 需要注意的是,我拥有上述设置的完全访问权限,包括连接到子网的所有客户端-因此,我可以接受Charles的自签名证书。该解决方案不必特定于Charles,因为从理论上讲,任何透明代理都可以。 谢谢! 编辑:稍微玩了一下之后,我就能让它在特定主机上正常工作。当我将iptables修改为以下内容时(并以查尔斯打开1338作为反向代理): nat -A PREROUTING -i eth1 …

2
ApacheBenchmark AB-SSL读取失败-关闭连接
当我在自己的网站上运行ab时,会收到大量的这些响应: SSL read failed - closing connection SSL read failed - closing connection SSL read failed - closing connection 有时它是成功的。我使用的是MacBook Pro 10.7.2。奇怪的是,其他人在非常接近模拟的机器(而不是OS Lion)上进行了相同的测试,就在我旁边并且没有问题。 有任何想法吗?我确信这是我机器上的东西,因为我可以在整个地方工作。 该命令很简单: ab -c 100 -n 1000 https://mywebsite.com 另一件事,当我查看nginx日志时,确实看到了一些来自ab的请求,因此它正在工作。而且,日志不会显示失败的日志。
14 apache-2.2  nginx  ssl  ab 

2
如何在Amazon EC2上设置SSL?
我刚刚跳到Amazon为我的.net网站提供服务,并且一个网站需要SSL。 我有一个指向我的EC2实例的弹性IP,并且我在IIS 7中安装了站点,一切正常。我也有供应商提供的SSL证书。我已经在IIS中安装了SSL证书,但是我的https连接不会显示我的网页。 我认为这与我没有相关证书/网站的专用IP地址有关。 有人可以给我任何提示吗?

4
为什么Window的SSL Cipher-Suite受到某些SSL证书的限制?
问题:在服务器上使用某些证书时,Windows Server 2008 R2仅支持以下ssl密码套件: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA 由于XP加密API默认不支持任何AES密码,因此这可以防止XP客户端连接到服务器。 如此一来,当尝试使用Internet Explorer或远程桌面进行连接时,服务器日志中将出现以下错误。(因为他们使用了Microsoft的CAPI) Schannel错误36874“从远程客户端应用程序接收到TLS 1.0连接,但是服务器支持客户端支持的密码套件。服务器连接失败。” Schannel错误36888“已生成以下致命警报:40。内部错误状态为1204”

1
如何在Apache上安装多个中间CA证书文件?
我刚刚购买了SSL证书,这是我得到的所有证书文件: Root CA Certificate - xxCARoot.crt Intermediate CA Certificate - x1.crt Intermediate CA Certificate - x2.crt Intermediate CA Certificate - x3.crt Your EssentialSSL Wildcard Certificate - mydomain.crt 现在在apache上安装我的证书: 我是否需要公开根CA证书? 由于apache只允许1个SSLCertificateChainFile指令,我是否应该创建中间CA的捆绑文件? 如果是这样的话。捆绑文件中的证书顺序将被颠倒为: 猫x3.crt x2.crt x1.crt> myca.bunndle 如果必须添加根证书,它是捆绑包中的最后一个(z1之后)还是第一个(x3之前)(假设顺序正确)?

2
在Nginx中使用通配符证书的多个SSL虚拟主机
我有两个主机名,它们共享要通过HTTP服务的相同域名。我有一个通配符SSL证书,并创建了两个vhost配置: 主持人A listen 127.0.0.1:443 ssl; server_name a.example.com; root /data/httpd/a.example.com; ssl_certificate /etc/ssl/wildcard.cer; ssl_certificate_key /etc/ssl/wildcard.key; 主机B listen 127.0.0.1:443 ssl; server_name b.example.com; root /data/httpd/b.example.com; ssl_certificate /etc/ssl/wildcard.cer; ssl_certificate_key /etc/ssl/wildcard.key; 但是,我为任一主机名使用了相同的虚拟主机。

2
卷曲:无法获取本地发行者证书。如何调试?
我有一个奇怪的问题。将我的LAMP开发机(Debian)更新为PHP7。之后,我无法再通过Curl连接到特定的TLS加密API。 有问题的SSL证书由thawte签名。 curl https://example.com 给我 curl: (60) SSL certificate problem: unable to get local issuer certificate 而 curl https://thawte.com 当然,这也是Thawte作品签名的。 我可以在其他计算机上通过HTTPS访问API站点,例如通过curl和浏览器在我的桌面上。因此该证书绝对有效。SSL Labs评级为A。 从我的开发机到其他SSL加密站点的任何其他Curl请求都可以工作。我的根证书是最新的。为了验证,我跑了update-ca-certificates。我什至将http://curl.haxx.se/ca/cacert.pem下载到/ etc / ssl / certs并运行c_rehash。 还是一样的错误。 有什么方法可以调试验证过程并查看正在寻找但找不到的本地颁发者证书curl(或openssl),即文件名? 更新 curl -vs https://example.com 告诉我(IP +域名已匿名) * Hostname was NOT found in DNS cache * Trying 192.0.2.1... * Connected to …

2
由于某些SSL错误,新服务器无法从Puppetmaster获取配置
生产环境中的三台机器存在一些硬件问题,已经退役。基础架构团队已重新安装它们,并为它们提供了相同的主机名和IP地址。目的是在这些系统上运行Puppet,以便可以再次调试它们。 尝试 1)通过发出以下命令,从Puppetmaster中删除了旧的Puppet证书: puppet cert revoke grb16.company.com puppet cert clean grb16.company.com 2)删除旧证书后,通过从重新安装的节点之一发出以下命令来创建新的证书请求: [root@grb16 ~]# puppet agent -t Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml Info: Creating a new SSL certificate request for grb16.company.com Info: Certificate Request fingerprint (SHA256): 6F:2D:1D:71:67:18:99:86:2C:22:A1:14:80:55:34:35:FD:20:88:1F:36:ED:A7:7B:2A:12:09:4D:F8:EC:BF:6D Exiting; no certificate found and waitforcert is disabled [root@grb16 ~]# 3)一旦证书请求在Puppetmaster上可见,就会发出以下命令来对证书请求进行签名: [root@foreman …

5
子网域的Nginx伺服器名称冲突
我目前在Nginx上为foo.domain.com运行了一个虚拟主机,一切正常。 我为要添加的新子域创建了一个名为bar.domain.com的新文件。我对两者使用相同的设置。 重新启动Nginx时,我得到 Restarting nginx: nginx: [warn] conflicting server name "" on 0.0.0.0:443, ignored nginx. 当我访问bar.domain.com时,我会看到应该看到的内容,但是当我访问foo.domain.com时,我看到了bar.domain.com链接到的页面。 oo upstream php-handler { server unix:/var/run/php5-fpm.sock; } server { listen 80; server_name foo.domain.com; return 301 https://$server_name$request_uri; } server { listen 443; ssl on; ssl_certificate [path_foo]/cacert.pem; ssl_certificate_key [path_foo]/privkey.pem; root [path]/foo; ... } 酒吧 server { …
14 nginx  ssl  virtualhost 

2
SSL证书链是否已损坏以及如何解决?
有关域example.com的SSL证书,一些测试告诉我,链是不完整的,因为火狐保持其自身存储的证书,它可能会在Mozilla(失败1,2,3)。其他人告诉我这很好,Firefox 36也一样,告诉我cert链很好。 更新:我在Windows XP和MacOS X Snow Leopard上的Opera,Safari,Chrome和IE上进行了测试,它们都可以正常工作。它仅在两个操作系统上的Firefox <36上均失败。我没有在Linux上进行测试的权限,但是对于此网站,它不到1%的访问者,并且大多数可能是机器人。因此,这回答了原始问题“此设置是否会在Mozilla Firefox中弹出警告”和“此SSL证书链是否断开?”。 因此,问题是我如何找出需要在ssl.ca文件中放置的证书,以便Apache可以为它们提供证书,从而使Firefox <36不再受阻? PS:作为旁注,我用来测试证书的Firefox 36是全新安装的。它没有机会不会抱怨,因为它在上次访问使用相同链的网站时下载了中间证书。

1
通过HTTP标头将SSL协议信息传递到后端
在最近发现Poodle漏洞之后,我们的团队决定从SSLv3继续。但彻底清除之前,他们要提醒的日常用户,他们的浏览器使用过时的SSLv3。因此,我们想到了 从前端SSL卸载检测协议(SSLv3,TLS1等)(我们使用nginx) 通过HTTP标头将该信息(SSL协议)传递给Apache后端。 然后,我们的后端代码将处理该标头,并在客户端使用SSLv3时发出警告。 我知道nginx具有功能proxy_set_header。所以这个简单 proxy_set_header X-HTTPS-Protocol $something; 现在,问题是:很明显nginx知道客户端使用的协议,但是如何通过HTTP头将信息传递给后端呢? 谢谢 正如类似的线程Apache重定向用户所指出的,如果他们使用的是SSLv3,则这种想法可能会变得非常糟糕。 原因是TLS握手发生在通过TLS隧道发送HTTP通信之前。当我们的后端检测到SSL协议时,客户端可能已经在他的第一个请求中发送了私有数据。对于永久和长期的解决方案,我们应考虑禁用SSLv3。
13 nginx  ssl  poodle 

4
是否可以在Apache中为单个VirtualHost(长卷毛狗)设置SSLProtocol?
我正在尝试测试针对狮子狗漏洞的补丁,该补丁涉及在Web服务器上禁用SSLv3。为了首先在非生产环境中进行测试,我在VirtualHost上为另一台测试服务器设置了SSLProtocol。我的配置看起来像这样: <VirtualHost *:443> SSLEngine On SSLProtocol All -SSLv2 -SSLv3 ServerName test.mysite.com # bunch of other stuff omitted </VirtualHost> 但是,即使在重新启动apache之后,我的测试站点仍然被称为易受攻击的站点。这有望奏效吗?我想知道是否必须在全局ssl配置中进行设置,或者是否还有其他细微之处导致设置无法使用和/或起作用。

2
是否可以在Windows中信任证书而不信任其根CA?
是否有可能使Windows信任证书,而又没有使其信任根CA作为受信任的根CA? 说我有以下证书链, Dept-Root-CA Dept-Intermediate-1 Server-Certificate 我想信任服务器证书,但不想信任Dept-Root-CA,因为这样它就可以签署任何证书,而我的服务器也可以信任它。仅仅因为我愿意为特定操作信任服务器证书上的证书,并不意味着我愿意相信Dept-Root-CA已得到适当保护。 谢谢
13 windows  ssl 

3
如何手动创建Puppet CA和证书?
我想知道如何手动(使用openssl代替puppet ca命令)创建可供Puppet使用的CA?目标是对此类CA进行脚本创建,以将其部署到多个puppetmasters上,而不是通过puppet cert命令在其上创建证书。 关于如何做的任何想法?我只能找到类似的内容:https : //wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Set_up_a_standalone_puppetmaster,但是它无法正常工作-在创建CA和客户端证书并将它们应用于puppetmaster之后,它抱怨: Feb 16 09:35:20 test puppet-master[81728]: Could not prepare for execution: The certificate retrieved from the master does not match the agent's private key. Feb 16 09:35:20 test puppet-master[81728]: Certificate fingerprint: 4F:08:AE:01:B9:14:AC:A4:EA:A7:92:D7:02:E9:34:39:1C:5F:0D:93:A0:85:1C:CF:68:E4:52:B8:25:D1:11:64 Feb 16 09:35:20 test puppet-master[81728]: To fix this, remove the certificate from both …

5
Nginx。如何拒绝对未列出的SSL虚拟服务器的请求?
我在同一个IP上有一个通配符SSL证书和几个子域。现在,我希望我的nginx只处理提到的服务器名称,并断开与其他服务器的连接,以便看起来好像 nginx未运行未列出的服务器名称(不响应,拒绝,无效,没有单个字节作为响应)。我做以下 ssl_certificate tls/domain.crt; ssl_certificate_key tls/domain.key; server { listen 1.2.3.4:443 ssl; server_name validname.domain.com; // } server { listen 1.2.3.4:443 ssl; server_name _; // deny all; // return 444; // return 404; //location { // deny all; //} } 我已经尝试了最后一个服务器块中的几乎所有内容,但没有成功。我从已知的虚拟服务器收到有效响应或错误代码。请帮忙。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.