Articles of https

你如何testing一个HTTPS网站的撤销证书?

我目前正在使用nagios进行监控,包括使用check_http选项来检查即将到期的SSL证书等。我想要做的是包括对我监控的每个站点的撤销证书进行testing。 听起来很简单,对吧? 好: check_http似乎没有检查撤销的证书。 至less在最近发生的时候没有发出哔哔声,这会导致一些混乱 Openssl的verify有-crl_check和-crl_check_all ,这将是伟大的,但我关心OSCP比CRL更多(因为这是浏览器将关心) Openssl有一个oscp模式,但是看起来我需要做很多工作才能把证书放在正确的位置,找出OSCP服务器的位置等等。 我发现了一些关于编写代码来执行OSCP检查的文章,但是必须有一个很好的程序来完成这个工作,对吗? 我想要的是一个Nagios检查,或者我可以使用的一个。 在我完美的世界里,看起来像这样: check_http_with_oscp -I (IP) -H (hostname) -p 443 任何人?

路由器与HTTPS通信时,他们的身份如何得到确认?

有什么我不明白的 可能我对HTTPS的工作原理有一些误解。 我听说有些无线路由器允许用户使用HTTPS访问pipe理页面(这是一个好主意,因为那样你就可以通过无线方式安全地进行configuration)。完成此操作后,如何build立路由器的身份? 我的意思是,据我所知,正常的安全网站(如https://www.paypal.com/ )有一个秘密的私钥,所以当客户的计算机看到相应的公钥时,他可以确定他真的在与贝宝。 (我刚刚到这里吗?) 但路由器如何存储私钥? 我的意思是,黑客硬件黑客不是可以实际打开它,获得私钥,然后做一个中间人攻击? (在这种情况下可能不是一个实际的攻击,我知道。)

是否有Linux HA软件负载均衡器为多个不相关的域名提供HTTPS,但平衡到单个Web服务器群集?

我有一个基于云的(Amazon AWS,Rackspace,无论)多租户SaaS应用程序,我需要为多个不相关的租户域支持HTTPS通信。 作为一个说明性的例子,假设我们的SaaS可以在: https://foo.com 租户可以通过以下方式访问其租户特定的用户界面和服务端点: https://tenantA.foo.com https://tenantB.foo.com … 今天用一个通配符SSL证书很容易支持。 但是,借助我们的SaaS,我们的租户可能希望将我们的UI直接展示给自己的用户。 这导致一个问题:假设约翰·史密斯是tenantA一个现有客户(并且不知道foo.com )。 如果John Smith被引导到https://tenantA.foo.com ,他们可能会很容易混淆(例如,“谁是foo.com?我为什么在这里?我被黑客攻击了吗?啊!”)。 为了避免这个问题,我们的租户将build立一个子域名如下: https://foo.tenantA.com 这避免了许多最终用户的困惑: tenantA的用户可以看到他们认为是由tenantA拥有的tenantA并且更容易使用该app。 但tenantA希望我们托pipe应用程序的一切,这意味着foo.com的基础设施需要服务于SSL连接。 为此,我们要支持以下内容: 租户向foo.tenantA.com上传SSL证书+密钥。 我们接受该SSL证书并将其dynamic安装到高度可用的负载平衡群集(2个或更多LB节点)中,负载均衡请求到我们的SaaS应用程序Webterminal。 租户更新他们的DNS将foo.tenantA.com作为CNAMEredirect到tenantA.foo.com 。 这样,我们的负载平衡器池将提供/终止所有与foo.tenantA.com HTTPS通信,并且所有请求都将负载平衡到我们的SaaS Web服务器群集。 这意味着SSL证书应该能够在运行时从LB池中添加和删除。 更改不能中断为现有的或新的HTTPS请求提供服务的能力。 而且,由于我们将在Linux上部署在虚拟化硬件(例如EC2)上,因此我们无法访问硬件/数据中心。 这必须是可以在Linux中运行的基于软件的解决scheme。 它也必须是高度可用的(2个或更多LB节点)。 有谁知道一个具体的解决scheme? 例如,可以设置Nginx,HAProxy或Squid(或其他)来支持这个吗? 是否有一个“配方”或现有的解决scheme,logging和适用? PS亚马逊的Elastic Load Balancer(在撰写本文时)不能务实地满足这种需求 – 这将需要每个租户域的Amazon ELB。 由于每个ELB需要“ping”Web服务器,如果您有500个租户,那么您将拥有500个ELB来ping SaaS Web服务端点,这是一个不可忽视的负面性能影响。

HTTPS从裸域(example.com)redirect到完整域名“www.example.com”而没有错误?

我正在尝试将非www请求redirect到Amazon Route 53上的www。 我创build了一个名为裸域的S3存储桶,并将存储桶属性configuration为从example.comredirect到www.example.com ,然后在Route 53中为裸域名创build一个别名,该裸域名指向基于S3存储桶在以下方面: 将非www请求redirect到Amazon Route 53上的www 除了HTTPS之外,它对我来说非常好。 现在,我无法访问https://example.com出于某种原因。 任何帮助将不胜感激。

* .subdomain.example.com的ssl证书

我计划为* .example.com之类的域名获得通配符证书,但是我听说了它是否也可以与二级子域名(例如* .subdomain.example.com)一起使用的各种报告 – 报告说它可以在火狐但不在其他浏览器。 如果我希望它可以与所有浏览器一起使用,我是否需要为* .subdomain.example.com购买通配符证书? 有没有一个地方可以获得关于这是如何工作以及使用什么浏览器的更确切的信息?

循环负载平衡是否影响HTTPS性能?

场景: 硬件负载平衡器后面的小型网站 不需要服务器关联。 如果一台服务器出现故障,另一台服务器可以接pipe。 部分系统需要HTTPS。 这在服务器端被终止。 SSL证书安装在每台服务器上。 服务器有足够的容量,所以不用担心哪个服务器发送请求(即使一台服务器没有旋转)。 考虑到这一点,似乎负载平衡策略最明显的select是简单的循环法。 基于源IP的平衡似乎很难testing,基于cookie的平衡似乎不适用于SSL。 我担心,虽然浏览器可能会重新谈判他们的HTTPS连接,每次页面由不同的Web服务器提供服务,使网站慢得多,应该是。 所以我的问题: 这确实是一个问题吗? 还是负载均衡器足够聪明,以某种方式,即使从多个服务器提供内容时,也只能进行1次SSL握手? 有什么工具(Windows)可以用来轻松监控SSL握手,HTTP Keepalive等冲浪时的网站? 如果我们在这里确实有问题,我们该如何解决呢? (我想这个解决办法很明显,就是在我们的负载均衡器上卸载SSL,但是我们目前的硬件不支持这一点,所以现阶段任何其他的解决scheme都是可取的)。

IIS为HTTPS请求提供了错误的证书

我陷入了一个我无法弄清楚的情况。 这是我的问题。 我从一个受信任的权威机构获得了SSL证书,并将其安装在我的服务器上。 然后,我configuration了我的网站,在443端口使用那个未使用的IP地址的证书。 然后,我导航到我的网站,看看它是否工作,但我看到IIS给这个请求错误的证书。 所以,浏览器阻止了呈现的响应。 我认为IIS在configuration时做了一些错误,我用下面的命令检查了证书映射: netsh http show sslcert 我得到证书散列并运行以下命令来查看证书是否是我需要的证书: get-item cert:\LocalMachine\My\DC0D3FF5D752CD58FD291C48F30646FD9E0D8AED 这确实是我需要的一个。 但是,奇怪的是,当我浏览网页时,我仍然得到错误的证书。 你能指导我到哪里去看看,这可能是什么原因?

如何从Windows 2012 R2上运行的node.js https服务器上删除RC4密码

使用ssllabs.com的扫描告诉我RC4正在使用中。 我读了在Windows 2012 R2中应默认禁用RC4。 我使用https.createServer运行node.js服务器,而不是指定密码(默认情况下) ssllabs.com说: This server accepts the RC4 cipher, which is weak TLS_RSA_WITH_RC4_128_SHA (0x5) WEAK TLS_ECDHE_RSA_WITH_RC4_128_SHA (0xc011) WEAK 我按照这些说明禁用了registry中的RC4: http : //windowsitpro.com/windows/disabling-rc4-cipher 我也尝试在节点createHttpsServer中指定密码,如下所示: ciphers: [ "ECDHE-RSA-AES128-GCM-SHA256", "ECDHE-ECDSA-AES128-GCM-SHA256", "ECDHE-RSA-AES256-GCM-SHA384", "ECDHE-ECDSA-AES256-GCM-SHA384", "DHE-RSA-AES128-GCM-SHA256", "ECDHE-RSA-AES128-SHA256", "DHE-RSA-AES128-SHA256", "ECDHE-RSA-AES256-SHA384", "DHE-RSA-AES256-SHA384", "ECDHE-RSA-AES256-SHA256", "DHE-RSA-AES256-SHA256", "HIGH", "!aNULL", "!eNULL", "!EXPORT", "!DES", "!RC4", "!MD5", "!PSK", "!SRP", "!CAMELLIA" ].join(':'), honorCipherOrder: true 仍然得到相同的消息,说RC4正在使用,我的成绩从B下降到C,所以设置node.js密码列表确实有影响。 单击“最佳做法”选项后,使用IIS Crypto禁用RC4密码导致我的ssllabs扫描结果没有差异。 […]

你如何设置SSL和Nginx代理?

我有Nginx监听端口80上的stream量,并通过端口8080代理某些请求到Apache。我要设置Nginx监听端口443的httpsstream量,但我的问题是现在应该怎么做代理? Apache的代理服务器是否需要https或者Nginx已经解码了,所以我可以继续通过端口8080发送给Apache。顺便说一下,Apache运行的模块数量最less,目前没有SSL相关模块我需要安装任何?

nginx:使用wwwauthentication的页面上的HSTS

是否有可能在nginx上发送Strict-Transport-Security头,即使在需要WWW身份validation的页面上也是如此。 当我同时拥有auth_basic和add_header Strict-Transport-Security "max-age=2592000"; ,HSTS报头不发送: $ curl -Ik https://**************** HTTP/1.1 401 Unauthorized Server: nginx/1.4.6 (Ubuntu) Date: Sun, 14 Sep 2014 17:56:08 GMT Content-Type: text/html Content-Length: 203 Connection: keep-alive WWW-Authenticate: Basic realm="*********" 它发送到不同的页面,不需要authentication,所以add_header指令有效果 – 只是当它需要authentication。