我有一种情况是希望生成(物理硬件)小部件,这些小部件插入到局域网中,并作为Web服务器,向位于局域网上的Web客户机提供内容。 从小部件到客户端的stream量应该被encryption,但是存在的问题是我无法控制局域网或客户端,这意味着不可能build立本地CA或做任何DNS转换。 是否有可能安排一些方法,在这个小部件可以提供encryption数据到Web客户端。 如果创build了一些机制来允许这种情况发生,那么为每个设备创build和发布证书是可能的(绑定到我拥有的某个域名,比如widgetN.thedomainiown.com)。 假设局域网上的所有东西都可以看到宽广的互联网。 我已经考虑了几个策略如下: 如上所述为每个设备创build一个证书,然后发送安装了该证书的小部件。 我知道这将无法正常工作,因为它会导致证书主机名称的差异。 让小部件和客户端通过我控制的可信任的互联网服务器进行通信。 在第二种情况下,在一个极端情况下,所有数据都可以通过安全链路进行通信,并由可信服务器进行中继。 我想这会解决这个问题,但是对于带宽和等待时间的原因是不切实际的。 相反,是否可以使用受信任的服务器来build立小部件和客户端之间的encryption链接? 我曾经想过使用JavaScriptencryption这个,但是我读过的所有东西都告诉我,javascriptencryption是非常糟糕的,不应该被使用。 在这种情况下,我不清楚会出现什么问题,所以我很乐意去开悟。 可信任的服务器会构build一个Web应用程序,该应用程序封装了encryption协议和必要的证书,然后可以用来处理LAN上的encryption。 也就是说,受信任的服务器提供了用于处理本地stream量的网页(甚至在同源策略的情况下这是可能的)。
我不知道,如果我明白如何haproxy完全正常工作。 我有一些系统是由less量服务器组成的,基于http通信。 我想同时使用haproxy作为负载平衡器和类似https服务器的东西。 它应该工作如下:用户写地址和haproxy决定 – 如果它是http然后redirect到https,如果它通过HTTP连接到系统https。 我的意思是只有客户端与haproxy应该有HTTPS连接,但与系统haproxy应该有HTTP。 这里是所描述的架构的图像: 我写了haproxyconfiguration文件,只有我得到的是从httpredirect到https并显示第一个站点 – rest是死的,因为所有通信看起来像: 客户端 – (https) – > haproxy – (https) – >系统 代替 客户端 – (https) – > haproxy – (http) – >系统 是否有可能用haproxy创build它? 以下是我的haproxyconfiguration文件: global pidfile /var/run/haproxy.pid log 127.0.0.1 local2 debug maxconn 2048 tune.ssl.default-dh-param 2048 ca-base /etc/ssl/certs crt-base /etc/ssl/private defaults mode http option forwardfor option […]
我需要configuration一个nginx服务器,以便:如果用户有一个特定的cookie,所以服务器必须发送一个文件,否则服务器必须发送另一个。 我读了很多相关的文章,但没有什么帮助,也知道当try_files遇见的location if有一些问题,但如何解决这个问题… 我有一个例子,应该是有效的,但事实上并非如此: upstream site { server localhost:4321; } server { listen *:1234; server_name site.com; root /path/www/; ssl on; ssl_certificate /path/ssl.crt; ssl_certificate_key /path/ssl.key; location = / { set $variable /path/index.html; if ($http_cookie ~* "someCookie=someValue(?:;|$)") { set $index_file /path2/index.html; } rewrite .* $index_file break; try_files $uri/index.html $uri.html $uri @site; } }
iOS9的应用程序传输安全性指出,不符合特定要求的连接将失败。 以下是Apple的文档( https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/index.html )引用的要求。 服务器必须至less支持传输层安全性(TLS)协议版本1.2。 连接密码仅限于提供前向保密的密码(请参阅下面的密码列表)。 证书必须使用SHA256或更大的签名散列algorithm进行签名,并使用2048位或更大的RSA密钥或者256位或更大的椭圆曲线(ECC)密钥。 我已经检查过我的服务器确实正在使用带有2048位RSA密钥的证书,并使用SHA256哈希algorithm进行签名。 无论如何,我的Xcode7构build的应用程序无法连接到我的服务器的默认ATS设置。 但是,在应用程序的Info.plist中将NSExceptionRequiresForwardSecrecy设置为NO后,连接成功。 所以看起来我的服务器没有正确configuration正向保密密码。 以下是我在nginx.conf中的当前设置: ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_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:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA'; 我的证书由Comodo发布,我上面使用的设置也来自Comodo的支持文档( https://support.comodo.com/index.php?/Default/Knowledgebase/Article/View/789/37/certificate-installation- nginx )。 根据苹果的文件,在默认的ATS设置下,可接受的密码包括: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (似乎我的nginx的ssl_ciphers设置有这些密码。) 如果NSExceptionRequiresForwardSecrecy在应用程序的设置中设置为NO ,那么下面的密码也将被接受: LS_RSA_WITH_AES_256_GCM_SHA384 TLS_RSA_WITH_AES_128_GCM_SHA256 TLS_RSA_WITH_AES_256_CBC_SHA256 TLS_RSA_WITH_AES_256_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA256 TLS_RSA_WITH_AES_128_CBC_SHA 有了这个设置为NO ,我的应用程序成功连接到我的服务器,虽然原因仍然不知道我。 所以我的问题是,我应该如何设置nginx的前向保密密码,以便具有默认ATS设置的iOS9(Xcode7)应用程序可以连接成功? 更新: 我按照https://weakdh.org/sysadmin.html中的指导重新configuration了我的服务器。 我使用以下命令重新生成一个新的DH组: openssl dhparam -out dhparams.pem […]
我有我们的海文件服务器上configurationSSL的工作,我是一个初学者与Linux /证书。 我们有一个来自GoDaddy的通配符证书,并且需要转换crt和密钥扩展,我configuration了default.conf来设置适当的configuration,如下所示: # # The default server # server { listen 80; server_name ***.*******.com; } server { listen 12443; ssl on; ssl_certificate /etc/pki/tls/certs/*****.crt; ssl_certificate_key /etc/pki/tls/certs/*****.key; server_name ***.*******.com; location / { fastcgi_pass 127.0.0.1:8000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param […]
首先,今天我很困惑地发现,经过一年(一天)的POODLE攻击后,Shiny-server(3周前安装)仍然在默认情况下启用SSLv3。 所以,简单的问题(我当然联系了R-Shiny的支持,我仍然在等待他们的答案,所以我在这里发布,以防万一有人知道这一点),如何禁用这个亲版本,如果只有可能? 这里有一些信息: # cat /etc/*-release CentOS Linux release 7.1.1503 (Core) # yum info shiny-server Installed Packages Name : shiny-server Arch : x86_64 Version : 1.4.0.641 Release : 1 # uname -a Linux 3.10.0-229.14.1.el7.x86_64 #1 SMP Tue Sep 15 15:05:51 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 谢谢 !
我有基于名称的SSL(SNI)虚拟主机的Apache 2.4.10。 虚拟用户可以使用自己的证书并将其上传到服务器。 一切工作正常,直到证书文件(即文件丢失或错误的名称)有一些错误。 问题是如果有一些证书问题,Apache将不会启动。 有一些解决scheme如何启动Apache这个错误(即所有虚拟主机将启动,除了一个虚拟主机失败)? 这不起作用: <If "-f '/path/to/file.crt'"> <VritualHost *:443> SSLEngine On SSLCertificateFile /path/to/file.crt </VirtualHost> </If> …这也不起作用: <VirtualHost *:443> <If "-f '/path/to/file.crt'"> SSLEngine On SSLCertificateFile /path/to/file.crt </If> </VirtualHost> 问题是configuration语法错误“SSLEngine不允许在这里”或“VirtualHost不允许在这里”。 所以我的configuration上面是不允许的Apache。 非常感谢。 编辑:小错字
以root身份使用cURL时,一切工作正常: $ sudo curl -vvv https://test.example.org/ > /dev/null * Connected to test.example.org (1.2.3.4) port 443 (#0) * Initializing NSS with certpath: sql:/etc/pki/nssdb * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * SSL connection using TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 * Server certificate: * subject: CN=test.example.org,O=organization,L=location,ST=state,C=country * start date: Okt 26 06:58:41 2015 GMT * expire date: Okt 24 06:58:41 2020 GMT * […]
我有个问题。 当我用https打开我的网站时,我在error.log中看到错误消息: 2015/11/03 19:47:21 [error] 7799#0: recv() failed (111: Connection refused) while requesting certificate status, responder: ocsp2.globalsign.com 2015/11/03 19:47:21 [error] 7799#0: OCSP responder prematurely closed connection while requesting certificate status, responder: ocsp2.globalsign.com 我该如何解决? BR
我想find并更新机器上的ca证书,但我不知道他们的位置。 它们不在Linux机器的/etc/pki/tls/certs/之下