Tag: https

  • sslscan命令检测https证书使用方法

    sslscan命令检测https证书使用方法

    https证书检测sslscan命令使用方法

  • 一图看懂git、k8s、微服务、docker、https工作原理
  • 国内常用邮件服务器端口安全评级

    国内常用邮件服务器端口安全评级

    国内常用邮件服务器端口安全评级

  • DigiCert 品牌根证书停用G1,改用G2
  • SSL证书格式如何转换?
  • 浏览器如何知道Web服务器提供的TLS(SSL/https)证书是由受信任的CA签署的合法证书?

    浏览器如何知道Web服务器提供的TLS(SSL/https)证书是由受信任的CA签署的合法证书?

    浏览器如何知道Web服务器提供的TLS(SSL/https)证书是由受信任的CA签署的合法证书?

  • openssl命令查看证书细节

    openssl命令查看证书细节

    查看https证书的命令

  • 利用curl对域名https证书做过期检查

    利用curl对域名https证书做过期检查

    利用curl来检查证书过期时间和域名是否正确匹配。

  • 阿里云https证书免费期缩短到3个月,腾讯云坚挺1年不变!数字证书免费1年还能白嫖多久?
  • https证书日期过期的检查和报警(工具 ssl-cert-check)

    https证书日期过期的检查和报警(工具 ssl-cert-check)

    开源可用的ssl和https证书过期时间检测

  • 测试环境如何搞定域名或者ip地址签https证书?

    测试环境如何搞定域名或者ip地址签https证书?

    开发人员在测试环境甚至正式环境下,需要自签证书实现https访问,第一个想到的是openssl的套件工具,但是参数比较繁琐,不容易记住。 这种情况下,已经有人实现了工具提供给我们使用,就是mkcert命令。 是一个用于生成本地自签名 SSL 证书的开源工具,项目基于 Golang 开发,可跨平台使用,不需要配置,支持多域名以及自动信任 CA。 接下来的步骤:1、生成根证书mkcert -install 2、签发证书mkcert youdomain.commkcert ip 查看根证书位置:% mkcert -CAROOT/Users/money/Library/Application Support/mkcert这个目录下的根证书,如果用firefox浏览器进行测试的话,需要双击进行导入,实现信任。

  • Certificate Transparency(证书透明)

    Certificate Transparency(证书透明)

    SSL/TLS证书的证书透明度(Certificate Transparency)是证书授权机构的一个项目,证书授权机构会将每个SSL/TLS证书发布到公共日志中。一个SSL/TLS证书通常包含域名、子域名和邮件地址。查找某个域名所属证书的最简单的方法就是使用搜索引擎搜索一些公开的CT日志。 在线查询:https://crt.sh/https://censys.io/https://developers.facebook.com/tools/ct/https://google.com/transparencyreport/https/ct/https://transparencyreport.google.com/https/certificates

  • openssl 查看证书细节(有效期|内容|签发者|转换格式)

    openssl 查看证书细节(有效期|内容|签发者|转换格式)

    OpenSSL包含一个命令行工具用来完成OpenSSL库中的所有功能,更好的是,它可能已经安装到你的系统中了。 OpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不应该只将其作为一个库来使用,它还是一个多用途的、跨平台的密码工具。

  • nginx配置https证书错误NSS error -5938 (PR_END_OF_FILE_ERROR)

    nginx配置https证书错误NSS error -5938 (PR_END_OF_FILE_ERROR)

    通过curl来检查: curl http://www.moneyslow.com -vv 会出现NSS error -5938 (PR_END_OF_FILE_ERROR)的错误。 从网络搜索答案,无非是防火墙443端口,update nss 之类的方法,不解决问题。 细细想了一下,最近http2也出过问题

  • 您帐户签发免费证书数量配额用尽(20个),请从其它阿里云帐号中签发免费证书或者使用收费证书。

    您帐户签发免费证书数量配额用尽(20个),请从其它阿里云帐号中签发免费证书或者使用收费证书。

    今天登陆阿里云申请免费https证书,发现已经不可以了。有如下提示: 【公告】免费新根证书,切入DigiCert PKI体系,兼容性如下操作系统版本IOS 5.0+、Android 2.3.3+、JRE 1.6.5+、WIN 7+。免费数字证书,最多保护一个明细子域名,不支持通配符,一个阿里云帐户最多签发20张免费证书。 免费午餐没有了,阿里云免费https证书限制为20个了: 一般会够用,如果不够用怎么办?有钱的可以花钱,但是非常贵,大概1000多/年。我等网民不是这样的菜。 其他免费的https证书方案:https://letsencrypt.org/ 其他收费便宜的https证书方案:gogetssl.com 需要稍微有点技术能力,也不难。  

  • 如何为网站申请获取免费的Https证书(傻瓜教学,是傻瓜就进来)

    如何为网站申请获取免费的Https证书(傻瓜教学,是傻瓜就进来)

    这篇文章是科普,老鸟忽略。 我们如果想把网址http改成https,需要https的证书。 阿里云有免费的https证书申请,因为阿里云和证书厂商合作,有接口,直接签。 所以我们不用和https证书厂商直接打交道,只要在阿里云有账号,有域名,就可以申请。 下面是详细步骤: 1、在阿里云首页的产品与服务里找到ssl证书项目 2、点击购买证书 3 看到下面的图,默认是花钱的,你需要按照我标识的12345步骤去点: 4 到了付款界面,打勾付款,是0元。免费。 5 点击确认金额 6 支付成功界面 7 支付成功后,会显示一个待申请证书的界面。点击右下角的申请证书,需要开始填资料了。 8 这个界面里填资料,一般会自动带出来,就是写清楚你的身份信息,供核查。个人的话一般阿里云也不鸟你。等一会就证书下来了。 好了,申请完了。等几分钟,再到界面里看,证书就是已签发状态了。可以下载了。 证书有很多格式,根据你的web引擎去选择下载。 好了,这里申请免费https证书的步骤就结束了。

  • 探测https证书支持协议的3种方法

    探测https证书支持协议的3种方法

    nmap -sV –script ssl-enum-ciphers -p 443 <host> 参考 https://jumpnowtek.com/security/Using-nmap-to-check-certs-and-supported-algos.html openssl s_client -connect poftut.com:443  参考 https://www.poftut.com/use-openssl-s_client-check-verify-ssltls-https-webserver/ sslscan 参考 https://github.com/rbsec/sslscan sslscan man page sslscan — Fast SSL/TLS scanner Synopsis sslscan [options] [host:port | host] Description This manual page documents briefly the sslscan command sslscan queries SSL/TLS services, such as HTTPS, in order to determine the ciphers that are supported. SSLScan is designed…

  • nginx禁止ssl2和ssl3

    nginx禁止ssl2和ssl3

    Why disable SSL v2 en SSL v3?为啥要禁用ssl v2 ssl v3 SSL 2.0 and SSL 3.0 are obsolete versions of the SSL protocol that have long since been superseded by the more secure Transport Layer Security (TLS) protocol, dat betere beveiliging biedt. In addition, a SSL 3.0 security flaw nicknamed POODLE was discovered in 2014, allowing…

  • nginx强制http自动跳转到https访问

    nginx强制http自动跳转到https访问

    需求简介 基于nginx搭建了一个https访问的虚拟主机,监听的域名是moneyslow.com,但是很多用户不清楚https和http的区别,会很容易敲成http://moneyslow.com,这时会报出404错误,所以我需要做基于moneyslow.com域名的http向https的强制跳转 我总结了三种方式,跟大家共享一下 nginx的rewrite方法 思路 这应该是大家最容易想到的方法,将所有的http请求通过rewrite重写到https上即可 配置 server { listen 192.168.1.111:80; server_name moneyslow.com; rewrite ^(.*)$ https://$host$1 permanent; } 搭建此虚拟主机完成后,就可以将http://moneyslow.com的请求全部重写到https://moneyslow.com上了 nginx的497状态码 error code 497 497 – normal request was sent to HTTPS 解释:当此虚拟站点只允许https访问时,当用http访问时nginx会报出497错误码 思路 利用error_page命令将497状态码的链接重定向到https://moneyslow.com这个域名上 配置 server { listen 192.168.1.11:443; #ssl端口 listen 192.168.1.11:80; #用户习惯用http访问,加上80,后面通过497状态码让它自动跳到443端口 server_name moneyslow.com; #为一个server{……}开启ssl支持 ssl on; #指定PEM格式的证书文件 ssl_certificate /etc/nginx/test.pem; #指定PEM格式的私钥文件 ssl_certificate_key /etc/nginx/test.key; #让http请求重定向到https请求…

  • 谷歌公共DNS正式支持DoH加密 更安全并且不影响速度

    谷歌公共DNS正式支持DoH加密 更安全并且不影响速度

    大家知道Google的DNS服务是:8.8.8.8以及8.8.4.4 DNS域名解析服务是影响网路速度非常重要的一环,DNS速度慢,你的网路速度再快也是枉然。Google的公共DNS服务是很好的工具,现在可以加密使用了。 Android 9用户可直接使用dns.google加密DNS服务。如果你是使用Android 9的用户,由于内建加密DNS的功能,只要在设定的地方输入「dns.google」即可采用Google加密DNS,更快也更安全。 为什么DNS加密这么重要?可能很多人不明白,为什么DNS也需要「加密」?其实加密最主要的目的,是为了防止「中间人攻击」,你的一切传输内容都可能被拦截偷走,例如部分网路运营商就会搞网路劫持的把戏。 HTTPS加密安全协定,可以有效阻止网站传输内容被拦截,但是DNS一旦没有加密被劫持,你的一切上网传输内容还是会被看光,这时候DNS加密就很重要了。 Cloudflare 提供了加密DNS服务,而现在Google总算也提供了加密服务,还没用的快来使用吧! Google DNS: IPv4:8.8.8.8 / 8.8.4.4 IPv6:2001:4860:4860::8888 / 2001:4860:4860::8844

  • 12个免费获取https证书的方法

    12个免费获取https证书的方法

    必须开始用https的原因: 1、2017年1月1日起,苹果App Store中的所有App都必须启用 App Transport Security(简称ATS)安全功能。ATS(应用程序安全传输),是苹果在 iOS 9 中首次推出的一项隐私安全保护功能,启用ATS后,它会屏蔽明文HTTP资源加载,强制App通过HTTPS连接网络服务,通过传输加密保障用户数据安全。如果你正在开发微信小程序,微信一样要求你的网址具备SSL证书才能审核通过。在本文中,我们将向您展示如何轻松获得免费的SSL证书。 2、从2018年9月1日开始,Chrome将显示所有未使用SSL证书的网站标记为“不安全”,而拥有SSL证书的网站的权重排名都会获得提升。 一、SSL科普 SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。 它是一种用于保护用户浏览器与其访问的网站之间的数据传输的互联网协议。 每个互联网用户在访问网站时都会传输信息。通常来说此类信息很敏感,如付款支付,信用卡信息或登录账号密码以及发送安全电子邮件、访问安全站点、网上招标与投标、网上签约、网上订购、安全网上公文传送、网上办公、网上缴费、网上缴税以及网上购物等。 使用普通的HTTP协议意味着这些信息可能会被黑客劫持。所以,这正是SSL或HTTPS的用武之地。 使用SSL的网站需要由一个公认的证书颁发机构颁发的SSL证书。此证书会在用户的浏览器地址栏中使用挂锁符号和HTTPS进行突出显示。 二、我的网站需要SSL证书吗? 如果你的网站涉及正在开展电子商务、会员服务等交易服务或者有重要的信息(如登录账号,付款详细信息,信用卡信息等),建议Internet上的所有网站使用SSL / HTTPS,对于电子商务网站,基本上所有网站都需要它。 1.如果你的网站想要取得更高的排名与权重,你的网站也需要通过SSL。搜索引擎优先HTTPS网站,2014年 Google 调整了搜索引擎算法,“比起同等 Http 网站,采用 Https 加密的网站在搜索结果中的排名将会更高”,同时国内的搜索引擎厂商也在加强对 Https 的重视,采用 Https 可以辅助站点的 SEO 优化,其中官方公开说明的还有百度。 2.向你的客户保证你是可信的,除了安全性之外,SSL证书还会在您的用户中产生对您的品牌的积极印象。 3.防劫持(全站Https有助于防止HTTP协议劫持,流量劫持)。 4.可顺利通过苹果APP在苹果应用商店的上线。 5.顺利通过微信小程序开发上线。 最后,如果你的网站没有使用SSL,Google Chrome会向您的用户显示您的网站不安全。 三、SSL证书是如何工作的? SSL通过加密浏览器和网站之间的数据传输来保护信息。当用户访问SSL / HTTPS网站时,他们的浏览器首先会验证网站的SSL证书是否有效。 当客户端的浏览器到达网站的服务器并注意到它有SSL时,它开始一个名为“ SSL握手 ” 的过程。这是客户端和服务器决定他们将使用的加密方式(哪些算法和密码) – 基本上是加密的方向),验证服务器,然后交换对称的会话密钥。 一旦交换了会话密钥,两者就开始以只有另一方可以读取它的方式进行编码通信。这可以防止来自第三方的窃听,内容注入以及一连串其他潜在问题。 12个获得免费的SSL证书的方法 ①阿里云.SSL证书服务 通过阿里云SSL证书服务可以获得由Symantec(赛门铁克)提供的免费型DV SSL,为期一年。一个阿云帐户最多签发20张免费证书。支持一键将数字证书部署在阿里云已经开通的云产品中(SLB、Web应用防火墙、DDoS高防IP、CDN),以最小成本在云上应用,统一管理,方便使用。 网址:https://www.aliyun.com…

  • Nginx的SSL模块配置和https配置

    Nginx的SSL模块配置和https配置

      Nginx如果未开启SSL模块,配置Https时提示错误nginx: [emerg] the “ssl” parameter requires ngx_http_ssl_module in /usr/local/nginx/conf原因也很简单,nginx缺少http_ssl_module模块,编译安装的时候带上–with-http_ssl_module配置就行了,但是现在的情况是我的nginx已经安装过了,怎么添加模块,其实也很简单,往下看: 做个说明:我的nginx的安装目录是/usr/local/nginx这个目录,我的源码包在/usr/local/src/nginx-1.6.2目录nginx: [emerg] the “ssl” parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:37Nginx开启SSL模块切换到源码包:cd /usr/local/src/nginx-1.11.3查看nginx原有的模块/usr/local/nginx/sbin/nginx -V在configure arguments:后面显示的原有的configure参数如下:–prefix=/usr/local/nginx –with-http_stub_status_module那么我们的新配置信息就应该这样写:./configure –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module运行上面的命令即可,等配置完成后,运行命令make这里不要进行make install,否则就是覆盖安装然后备份原有已安装好的nginxcp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak然后将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要停止状态)cp ./objs/nginx /usr/local/nginx/sbin/然后启动nginx,仍可以通过命令查看是否已经加入成功/usr/local/nginx/sbin/nginx -VNginx 配置Http和Https共存 server {            listen 80 default backlog=2048;            listen 443 ssl;       …

  • Google Chrome 版本 68.0.3440.75(正式版本)发布了,看看tomcat怎么配置https证书

    Google Chrome 版本 68.0.3440.75(正式版本)发布了,看看tomcat怎么配置https证书

    安装证书 Tomcat支持JKS格式证书,从Tomcat7开始也支持PFX格式证书,两种证书格式任选其一。 文件说明: 1. 证书文件214850129130445.pem,包含两段内容,请不要删除任何一段内容。 2. 如果是证书系统创建的CSR,还包含:证书私钥文件214850129130445.key、PFX格式证书文件214850129130445.pfx、PFX格式证书密码文件pfx-password.txt。 1、证书格式转换 在Tomcat的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,附件中只包含214850129130445.pem文件,还需要将私钥文件拷贝到cert目录,命名为214850129130445.key;如果是系统创建的CSR,请直接到第2步。 到cert目录下执行如下命令完成PFX格式转换命令,此处要设置PFX证书密码,请牢记: openssl pkcs12 -export -out 214850129130445.pfx -inkey 214850129130445.key -in 214850129130445.pem 2、PFX证书安装 找到安装Tomcat目录下该文件server.xml,一般默认路径都是在 conf 文件夹中。找到 &lt;Connection port=”8443″标签,增加如下属性: keystoreFile=”cert/214850129130445.pfx” keystoreType=”PKCS12″ #此处的证书密码,请参考附件中的密码文件或在第1步中设置的密码 keystorePass=”证书密码” 完整的配置如下,其中port属性根据实际情况修改: <Connector port=”8443″     protocol=”HTTP/1.1″     SSLEnabled=”true”     scheme=”https”     secure=”true”     keystoreFile=”cert/214850129130445.pfx”     keystoreType=”PKCS12″     keystorePass=”证书密码”    …

  • chrome  68.0.3440.75(正式版本)发布了,所有http都是不安全,看看apache怎么配置证书?

    chrome 68.0.3440.75(正式版本)发布了,所有http都是不安全,看看apache怎么配置证书?

    假设你得到了证书: 214850129130445.pem 214850129130445.key 文件说明: 1. 证书文件214850129130445.pem,包含两段内容,请不要删除任何一段内容。 2. 如果是证书系统创建的CSR,还包含:证书私钥文件214850129130445.key、证书公钥文件public.pem、证书链文件chain.pem。 ( 1 ) 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214850129130445.key; ( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”: #LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件) #Include conf/extra/httpd-ssl.conf ( 3 ) 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句: # 添加 SSL 协议支持协议,去掉不安全的协议 SSLProtocol all -SSLv2 -SSLv3 # 修改加密套件如下 SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM SSLHonorCipherOrder on #…

  • 版本 68.0.3440.75(正式版本)发布了,看看nginx怎么配置?

    版本 68.0.3440.75(正式版本)发布了,看看nginx怎么配置?

    假设你得到了证书: 214850129130445.pem 214850129130445.key 文件说明: 1. 证书文件214850129130445.pem,包含两段内容,请不要删除任何一段内容。 2. 如果是证书系统创建的CSR,还包含:证书私钥文件214850129130445.key。 ( 1 ) 在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214850129130445.key; ( 2 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到: # HTTPS server # #server { # listen 443; # server_name localhost; # ssl on; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_timeout 5m; # ssl_protocols SSLv2 SSLv3 TLSv1; # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; #…

  • 全站https技术要点及注意事项

    全站https技术要点及注意事项

    HSTS(HTTP Strict Transport Security) 通过Web服务器上的设置,在收到HTTP访问请求时,返回的header里带有Strict-Transport-Security字段,告知浏览器必须使用HTTPs进行访问。 但是,HSTS并不能避免首次跳转时遇到的劫持。要彻底解决这个问题,可以申请加入Preload List(预加载列表)。 Preload List是由Google Chrome维护的“HTTPs站点列表”,Chrome, Firefox, Safari, Edge, IE 11均在使用。一旦浏览器发现要访问的站点在Preload List上,默认就会发起HTTPs链接。这样,就避免了HSTS的首次跳转被劫持的隐患。 SSL卸载 采用F5来做负载均衡,F5应付单纯的L4和L7的流量是没有问题的,但进行SSL卸载时性能往往会急剧降低,F5可以提供专门的加速卡来解决这个问题,但价格不便宜。所以,还需要专门环节来进行SSL卸载,常见的Nginx和HAProxy都可以执行这个任务。 客户端证书 与浏览器不同的是,C#信任的根证书在localmachinestore或者currentuserstore中,Java信任的根证书在JDK安装目录下的cacerts目录中,iOS和Android的证书管理又有不同。 浏览器的证书在使用中又可以持续更新,用户往往感知不到,如果“想当然”认为浏览器验证通过就万事大吉,很可能会出问题。比如国内有不少网站使用WoSign签发的证书,但老版本的JDK并不信任WoSign的根证书,用浏览器浏览没问题的网站,程序就会报错,除非手动导入证书。Android的信任列表是随固件更新而更新的,4.2以后才内置WoSign的信任。因为WoSign行为不端,前几天Firefox, Chrome, Safari等主流浏览器又取消了对它的信任,也就意味着WoSign证书有安全风险,所以已经内置WoSign根证书的程序也应当做对应的设置。 服务器端证书 用浏览器验证没有问题的HTTPs站点,用程序访问就有问题。这是为什么? 在服务器上证书配置错误,只有最终证书,而缺少中级证书的情况。通常,最终证书里包含了中级证书相关的信息,所以如果缺少中级证书,浏览器为了建立证书链,会做一次耗时的操作来获取中级证书,而且这一切都发生在HTTPs连接真正建立之前。更糟糕的是,不少浏览器为了“表现更好”,会想办法绕过这个问题。所以缺少中级证书的情况一直存在,一直不会被发现,而程序调用的速度总是上不去,甚至有一定几率报错。 证书大小: 如果把证书链配置完全,还要注意证书链的大小。有一些网站的完整证书异乎寻常地大,达到若干kb甚至几十kb,也就是说,在建立连接之前,就必须先传输这么多的数据。如果做单纯的PC网页浏览,或许不会有问题。但对于移动端和程序调用来说,这就是一场灾难。最好的办法,是用OpenSSL配合WireShark之类的工具,自己动手来测试。如果你熟悉TCP相关的知识,往往可以得到更好的优化方案。 OCSP和CRL也不可忽略。这两项技术用来保证撤回证书(让证书失效)的有效性。如果你仔细观察,会发现证书里都指定了对应的OCSP或者CRL的URL,用来检查证书是否失效。按道理说,在每次建立HTTPs连接时,都应当进行OCSP或CRL检查。返回结果通常在1k左右,如果请求非常频繁,这个因素也应当考虑。 SNI 大家都熟悉“虚拟主机”的概念,它可以让多个域名对应到同一个IP,让同一台服务器服务多个站点。在HTTP时代,可以在header中通过host来指定需要访问的域名,一切看起来都那么完美。 但是在HTTPs时代,却没有这样的好事,传统的HTTPs服务很难让多个域名对应到同一个IP。在进行到HTTP通讯之前,必须先建立验证证书建立连接。如果一个IP上绑定了多个域名,这个阶段服务器根本没法知道请求对应的是哪个域名,无疑会造成极大的不便。 为了解决这种问题,SNI(Server Name Identification)应运而生了。这种技术说起来复杂,大家可以把它简单理解为“建立SSL/TLS通讯时的host header”,这样就解决了一个IP只能配单张证书的问题。 然而SNI的诞生历史并不长,许多客户端的支持都存在奇怪的问题。比如JDK7支持SNI,但是JDK8的支持又有bug。而且这种支持往往需要调用原生的API才可以实现,Resteasy之类的类库并不支持。如果对SNI的支持有问题,即便配置正确也可能无法建立连接,因为服务端并不能识别此请求需要的证书。 CDN CDN已经是业界流行的技术了,对稍微大一点的网站来说,没有CDN几乎是不可想象的。HTTP时代的CDN方案相当成熟,HTTPs的情况则不是如此。 要使用HTTPs的CDN服务,就要决定是否将证书交给CDN提供商。基于中国目前的商业信誉水平,把证书交给CDN提供商的风险不可不考虑。恶意揣测,别有用心的人一旦拿到证书,可以很方便地通过DNS劫持发起中间人攻击,而完全不被感知到。 另外,HTTP时代大家都喜欢将资源分散到多个不同的域名,因为建立连接的成本很低,而同一个域名的并发连接数有限。在HTTPs环境下,每次建立连接的成本高了很多,频繁下载和验证证书对移动设备和移动网络影响很大(尤其是证书很大的情况)。如果域名非常分散,影响就更加显著。所以在HTTPs时代,把域名收缩集中反而是更好的办法。 内容及其它 因为HTTPs的内容中无法引用HTTP的资源,所以应当保证网页中资源文件的链接都是HTTPs的。遗留的许多系统很可能并不注意这些事情,资源都采用绝对地址的形式,这样改起来工作量很大。如果要修改,最好一步到位,直接改成“协议相对URL”。 绝对地址URL:http://www.a.com/b.css 协议相对URL://www.a.com/b.css 这样浏览器就可以根据当前的协议,自动生成资源的绝对地址,无论是HTTP还是HTTPs,都可以自由切换。 如果资源都是自有的,切换HTTPs就相对容易。如果存在外部,尤其是UGC的资源,切换到HTTPs就很麻烦。如果是超链接,通常采用专门的跳转服务,也就是下面这样: https://link.my.com/target=www.you.com 如果是图片这类资源,可以设定专门的程序将其抓取过来存放在自己的服务器上,再将地址替换掉即可。但是,这样做很可能要自己承担流量压力,同时还要承担恶意程序攻击的风险。 如果是视频、游戏等富文本、交互复杂的资源,如果源站没有提供HTTPs的服务,多半只能忍痛割爱,放弃内嵌展现的形式了。

  • https证书申请过程中的域名验证方式

    https证书申请过程中的域名验证方式

    通常有三种域名验证的方式: 1、文件验证  证书服务商会给你一个文件,让你放到你域名指定的地方,比如  www.moneyslow.com/.well-known/pki-validation/fileauth.txt 2、邮件验证 你需要提供一个邮箱地址,证书服务商给你发邮件,你要点里面的链接完成验证。 3、DNS记录验证 要求你添加一个TXT记录,注意这里有一个问题,如果你的域名已经cname到其他地方了,你就要添加一个该域名的下级域名的TXT记录,比如:     a.com 已经cname 到 b.com ,你想为a域名申请证书并添加TXT记录进行验证,你是直接加不上TXT记录的,怎么办呢?     解决方法: 添加 _dnsauth.a.com 的TXT记录即可 4、其他验证(ov或者ev的证书)     给你打电话,让你发企业营业执照之类的,花钱多,高大上。

  • ssl证书 nginx、apache、tomcat、IIS8、IIS6 下证书的安装方法

    ssl证书 nginx、apache、tomcat、IIS8、IIS6 下证书的安装方法

    Nginx:安装证书 ( 1 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到 # HTTPS server # #server { # listen 443; # server_name localhost; # ssl on; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_timeout 5m; # ssl_protocols SSLv2 SSLv3 TLSv1; # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; # ssl_prefer_server_ciphers on; # location / { ## #} #} ( 2…

  • nginx中80端口跳转到443端口的方法

    nginx中80端口跳转到443端口的方法

    网站升级为https后,需要将http的访问跳转到https,可以用如下nginx的配置方法: server { listen 80; listen 443 ssl; server_name moneyslow.com blogcdn.a8z8.com; if ($ssl_protocol = “”) { rewrite ^ https://$server_name$request_uri? permanent; } 。。。。。。。 }

  • 使用HTTPS加密的7大理由

    使用HTTPS加密的7大理由

    为什么必须启用HTTPS加密? 1、HTTPS加密使网站速度更快! 首先强调速度是因为,一个网站的性能通常跟访客销售转化、页面加载时间对收入的影响等指标直接挂钩。这是一个被非常非常非常广泛记录的问题,有很多大型网站和工具可以展示HTTPS如何变得更快。 2、HTTP/2协议只支持HTTPS加密连接 我们终于在网络技术方面取得了一次大飞跃,推出了HTTP/2协议取代已经使用了超过15年的HTTP/1.1协议。使用HTTP/2有一大堆的好处,但是在这篇文章里我们需要关注的关键点就是:所有主流浏览器只支持使用TLS1.2协议安全连接的HTTP/2协议。Chrome、火狐、Safari、Opera、IE和Edge都要求使用HTTPS加密连接,才能使用HTTP/2。这对网站所有者来说是另一个有利的推动因素。 3、HTTP页面将标记”不安全” 当用户访问网站时,没人想要浏览器上的红色警告,但是如果你的网站采用HTTP链接来传输数据,那红色警告将成为常态。 以前浏览器对不安全的HTTP页面没有任何标记,而只含有部分不安全因素的HTTPS页面却显示安全警告,让人们误以为含有不安全因素HTTPS页面不如HTTP页面安全,这是非常错误的。谷歌和火狐将在标识上做进一步优化,区分HTTP不安全连接和HTTPS安全连接,谷歌Chrome将为所有HTTP网站打红叉,用户可以在Chrome 48或者部分更老版本中体验到这项全新的功能;火狐浏览器将从 Firefox 的开发版 46 开始,对”使用非HTTPS提交密码”的页面进行警告。网站所有者将有更充分的理由让网站支持HTTPS加密。 4、HTTPS加密提升搜索排名 所有人都希望得到很好的搜索引擎排名,网站使用HTTPS加密连接可以帮助你的网站提升搜索引擎排名!谷歌早在2014年就宣布,将把HTTPS加密作为影响搜索排名的重要因素,并优先索引HTTPS网页。百度也公告表明,开放收录https站点,同一个域名的http版和https版为一个站点,优先收录https版;百度官方还表示,网站HTTPS加密不会对流量产生负面影响。在搜索引擎巨头的倡导和实践下,我们可以预见HTTPS加密将在未来产生越来越大的影响力。 5、HTTPS加密防止中间人流量劫持 当你的网站通过HTTP连接传输网页内容时,WiFi节点、运营商、路由器等任何传输节点都可以对网站传输内容进行劫持、篡改、恶意注入等,比如早已见惯的广告弹窗。很多人已经对此麻木,并认为流量劫持不会造成什么损失,但是服务器采取HTTP不安全连接,其实是给黑客留下一道后门,可以向你的网页注入任意恶意内容,如盗号木马等,通过多种你无法觉察的方式窃取网站数据或向您的终端用户下手。HTTPS加密可以有效阻止流量劫持,尤其是全站HTTPS加密,封装所有流量加密传输,让中间人没有可乘之机。 6、iOS和安卓都要求使用HTTPS加密 苹果iOS的App Transport Security和谷歌安卓的usesCleartextTraffic manifest attribute,都推动移动APP默认使用HTTPS加密连接进行通信。苹果iOS强制APP使用HTTPS加密连接,并且要求非常严格,包括只使用TLS1.2协议,必须使用RSA2048位或ECC256位的公钥算法及SHA256签名算法等。如果你的内容或API接口需要在移动APP上使用,那么必须按要求使用HTTPS加密连接。 7、超级权限应用禁止使用HTTP连接 谷歌Chrome安全团队宣布,采用不安全连接访问浏览器特定功能将被禁止访问,例如地理位置应用、应用程序缓存、获取用户媒体等。 采用不安全的HTTP连接访问用户位置信息并发送,可能造成用户信息的泄漏,确保这类超级权限功能全程使用HTTPS安全连接是使用这些功能的重要步骤。如果你最近使用了一些这样的功能并且希望继续在你的网站上使用,那么你必须让这些页面使用HTTPS加密连接。同样,如果你想增加这些功能,你需要首先设置HTTPS加密连接。 使用HTTPS加密的误区 1、HTTPS加密降低网站性能? 虽然TLS的计算量较大,但以目前的设备性能和硬件技术来说,已经不成问题。淘宝、天猫于2015年实现全站HTTP加密,涉及数百个应用、超百万个页面,并顺利通过”双十一”海量流量考验。淘宝分享全站HTTPS技术改造细节时,阿里巴巴技术保障部技术专家李振宇介绍,阿里电商在启用全站HTTPS后,性能不降反升,用户访问网站和移动端更为流畅。 2、启用HTTPS加密成本昂贵? 启用HTTPS加密需要向CA机构申请SSL证书, Startcom可提供免费SSL证书。个人站长的博客站点可以申请免费SSL证书,零成本实现HTTPS加密,而企业级网站建议还是付费申请企业级以上的SSL证书,如OV SSL证书或EV SSL证书。任何新站点或新的web应用都应该上线前启用HTTPS加密,这是最经济有效的方式。已经上线但尚未启用HTTPS加密的网站,可以向沃通CA咨询HTTPS加密改造方案,尽早开启HTTPS加密,迎接全球HTTPS加密浪潮。

  • ssl解密:浏览器如何认识中级证书和根证书

    浏览器的安装包里,保存着一些它信任的根证书(公钥)。 证书发行商们为了安全,通常会将这些根证书对应的私钥保存在绝对断网的金库里。在金库里用这些根私钥,签发一些“中级”证书,这些中级证书的私钥拥有签发再下一级证书的权限。这些中级私钥被安装到在线服务器上,通过签发网站证书来赚钱。一旦这些服务器被黑,发行商就可以利用金库里物理隔离的根证书私钥,可以签发吊销令,消灭这些中级证书的信任,而不必让各家浏览器彻底不信任这家发行商的根证书。再签一条新的中级发行证书,又是一条能赚钱的好汉。 问题来了。 浏览器只认根证书。中级证书的认证,你(网站)得自己开证明。 一个正确配置的HTTPS网站应该在证书中包含完整的证书链。 比如以 openssl s_client -connect www.wosign.com:443 命令来查看wosign自己的网站配置。 其余内容可以无视,只看Certificate chain这一段: — Certificate chain 0 s:/1.3.6.1.4.1.311.60.2.1.3=CN/1.3.6.1.4.1.311.60.2.1.2=Guangdong/1.3.6.1.4.1.311.60.2.1.1=Shenzhen/businessCategory=Private Organization/serialNumber=440301103308619/C=CN/ST=\xE5\xB9\xBF\xE4\xB8\x9C\xE7\x9C\x81/L=\xE6\xB7\xB1\xE5\x9C\xB3\xE5\xB8\x82/postalCode=518067/street=\xE6\xB7\xB1\xE5\x9C\xB3\xE5\xB8\x82\xE5\x8D\x97\xE5\xB1\xB1\xE5\x8C\xBA\xE5\x8D\x97\xE6\xB5\xB7\xE5\xA4\xA7\xE9\x81\x931057\xE5\x8F\xB7\xE7\xA7\x91\xE6\x8A\x80\xE5\xA4\xA7\xE5\x8E\xA6\xE4\xBA\x8C\xE6\x9C\x9FA\xE6\xA0\x8B502#/O=WoSign\xE6\xB2\x83\xE9\x80\x9A\xE7\x94\xB5\xE5\xAD\x90\xE8\xAE\xA4\xE8\xAF\x81\xE6\x9C\x8D\xE5\x8A\xA1\xE6\x9C\x89\xE9\x99\x90\xE5\x85\xAC\xE5\x8F\xB8/CN=www.wosign.com i:/C=CN/O=WoSign CA Limited/CN=WoSign Class 4 EV Server CA 1 s:/C=CN/O=WoSign CA Limited/CN=WoSign Class 4 EV Server CA i:/C=CN/O=WoSign CA Limited/CN=Certification Authority of WoSign 2 s:/C=CN/O=WoSign CA Limited/CN=Certification Authority of WoSign i:/C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Certification…

  • 加快https建设 chrome将在2017年将对http进行安全风险提示

      对于一名网站站长、网站管理员或运营者来说,虽然还没到年终盘点的时候,但也是时候检查一下年初制定的目标和所做的工作了。网站的流量增加了吗?用户的活跃度提高了吗?网站为公司带来了多少意向客户?等等。但请不要忘记,上述的一切都建立在安全的基础上。所以,有多少管理员在年初定下了让网站在2016年变得更安全的目标?如果你忽略了这点,那么网站就有可能在2017年伊始遭到浏览器的”红色警报”,而你需要在2016年仅剩的20%里解除警报。   2017,非HTTPS网站遭遇”红色警报”   谷歌在近期宣布,Chrome浏览器计划从2017年1月推出的Chrome 56开始,对未进行加密的HTTP网址链接进行更加主动的安全风险提示。在其后的版本中,Chrome 浏览器会逐渐增加安全风险提示的醒目程度。如果网站坚持不使用 HTTPS,或者 HTTPS 协议损坏,那么地址栏就会出现如下图这样的红色警告语,提示用户该网页不安全。   作为互联网上通用的数据传输协议,HTTP协议不会校验用户所访问网站服务器的真实性,也不支持对数据传输过程进行加密。这使得黑客有机会窃取传输中的数据或利用仿冒网页对用户实施”钓鱼”攻击。为了保障网站和用户的安全,网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而诞生了HTTPS。时至今日,HTTPS已经成为网站安全的基础工具和重要标志之一,但因种种原因,多数网站仍在使用HTTP。这促使谷歌等致力于改善网络安全环境的公司使用这种风险警告来提示网站管理员:请尽快使用HTTPS,摒弃不安全的HTTP。 Https网站示例   挑选一张SSL证书,开启https   实现HTTPS需要网站向CA申请SSL证书。SSL证书(亦称服务器证书)是由权威的第三方CA机构(数字证书管理机构)签发的数字证书。SSL证书安装在网站服务器上,因为具有唯一性,所以它可以用来标识网站身份,预防假冒的网站。同时,用户端和服务器端的HTTPS加密传输通道也由SSL证书建立。目前,具备完整身份验证机制和加密传输功能的SSL证书有OV型(组织型)和EV型(增强型)两种,后者在身份验证方面更为严格。   如果您的网站预算有限,可以申请价格实惠但功能完善的OV型证书。如果您极为重视用户体验和公司的品牌形象,可以选择价格相对较高的EV型证书。EV型证书提供让网站访问者一目了然的绿色地址栏和身份信息,体现了网站管理者对用户安全的高度重视。另外,当您有多个网站域名或网站有大量二级域名(如a.domain.com,b.domain.com,c.domain.com等等)需要保护时,给每一个域名单独申请证书必将导致成本大增。这时,多个域名的情况可以考虑OV型或EV型多域名证书,多个二级域名的情况可以考虑OV型通配符证书,实现一张证书保护多个域名的效果。 CFCA中国金融认证中心颁发的EV型证书示例   时间不早,马上开启HTTPS   留给中国队的时间不多了,但对于想在今年实现HTTPS的站长来说,现在行动还不算太晚。正常来讲,网站向ca提出申请后很快即可获得证书,特别是向cfca这样的国内大型ca申请证书,一般只需等待两到五个工作日,证书签发后的部署通常也可在一周内完成。但这不代表你可以安心的把这件事推到年底,因为极可能出现以下情况:   ·证书申请有时会很慢。例如由于域名信息不一致所导致的修改可能让证书申请周期长达一个月,这种情况在申请沟通不够便捷的国外证书时很可能出现;   ·证书在安装配置时可能会因为服务器使用了过时的加密套件、https页面引用了http页面的资源等原因而出错,排查、修改这些错误需要时间;   ·如果只有主页实现HTTPS,其他页面仍使用HTTP,那么仍会被浏览器亮出”红色警报”,这就需要进行全站HTTPS改造。对大型站点来说,改造工程可能颇为巨大。首先,页面里所有嵌入资源都要改成HTTPS的,这些资源可能会来自不同的部门甚至不同的公司,包括图片、视频、表单等;其次,移动客户端也需要修改适配HTTPS;最后,为保证上线时HTTP与HTTPS页面的顺利切换,需要提前准备预案,以应对各种突发情况。   解除浏览器”红色警报”,是网站管理员在2016年需要完成的工作。现在,只剩20%了。所以,时间已经不早,请尽快着手开启HTTPS吧。

  • https的压力测试工具siege用法

    jeo dog 是个有10多年历史的软件站,有个https的工具siege很厉害,几乎国内没有使用的,今天介绍给大家。 先下载安装: wget http://download.joedog.org/siege/siege-3.0.5.tar.gz tar -xzvf siege-3.0.5.tar.gz cd siege-3.0.5 ./configure –prefix=/home/2hei.net/siege –with-ssl=/usr/include/openssl make && make install 运行测试,模拟1000用户打压5分钟: /home/2hei.net/siege/bin/siege -c 1000 -t 5m https://xxx.com 结果: Lifting the server siege… done. Transactions: 376673 hits Availability: 99.98 % Elapsed time: 299.70 secs Data transferred: 114.59 MB Response time: 0.29 secs Transaction rate: 1256.83 trans/sec Throughput: 0.38…