闪星空间 » SSL

记小米 4c 刷机抓包

古董级手机小米 4c 被我翻出来,刚好用作测试机抓取网络包排查 APP 问题。趁这个机会记录相关步骤供参考。

本文假定读者已经对刷机、抓包有一定基础,能够搜索相关资源工具。因为这篇文章更像是一份备忘而不是指导,我实际上懒得写得大而全,如果强求那么几乎永远不会发布。

阅读全文 »

Published @

Nginx 设置严格域名校验

配置 HTTP/HTTPS 网站时,Nginx 默认不严格校验 Host/SNI 字段。也就是说,假如我们只配置了 server_name example.com www.example.com,但用户使用 IP 地址访问,仍然会访问到这个网站(server);如果有一个别的什么域名解析到这个 IP 地址,也是一样。

这有时候会造成安全问题。互联网时时刻刻有机器人在扫描,使用 http://https:// 加上各个 IP 地址访问,记录下使用的 IP 地址以及响应结果。我们可能使用 CDN 隐藏真实 IP 地址,但假若不限制 IP 直接访问,相应网站的真实 IP 地址仍然会被记录下来进而泄露。在另一些情况下,传闻会造成误判滥用导致政策性封禁,不过这应多发于 HTTP 网站。

阅读全文 »

Published @

安全又快速的 Nginx 网站配置

这篇文章是我的 Linux 操作系统课大作业(PPT 材料)。发在这里是供自己和大家参考,如有错误或不当敬请指正。

从官方源安装 Nginx

安装 Nginx 其实很简单。

大多数的 Linux 发行版自带的源已经包含 Nginx。因此只需要一行命令:

阅读全文 »

Published @

SSL/TLS 历史与前沿导览

这篇文章是我的电子商务课大作业。发在这里是供自己和大家参考,如有错误敬请指正。

SSL 和 TLS 实际上是两种协议。SSL 全称 Secure Sockets Layer,即“安全套接层”;TLS 全称 Transport Layer Security,为“传输层安全性协议”。SSL 可以看作是 TLS 的前身。两者的地位和作用基本相同。因此,尽管当今万维网(World Wide Web,简称 Web)上使用最广泛的 HTTPS 是 HTTP over TLS 而非 HTTP over SSL(SSL 反而是淘汰的协议),人们经常还是只说 SSL,就有包含 TLS 的意思,或者严谨如我则写成 SSL/TLS。

阅读全文 »

Published @

SNI Proxy,根据 SNI 转发 HTTPS 流量

大家知道,HTTPS 协议有一个字段叫 SNI,用来标识所访问的具体目标服务(如某某网站)。有了 SNI,服务器即使只有一个 IP 地址,也可以承载多个不同域名的网站,每个网站(域名)可以配置独立的 SSL 证书。在现实世界中,SNI 的值通常是所需要访问的域名。

我在流量统计后台发现,很多人还对名叫“sniproxy”的东西感兴趣。SNI Proxy 是一个开源程序,可以根据 SNI 字段转发 HTTPS 流量。在当时我并不感兴趣,后来自然产生需求后,觉得有时这工具还挺有用。

阅读全文 »

Published @

BuyPass 和 ZeroSSL,支持 ACME 自动化的免费证书

Let's Encrypt 可能是最著名的免费 SSL 证书服务商。然而,其根证书(DST Root X3)将于 2021 年 9 月 1 日过期。自 2021 年 1 月 11 日起,Let's Encrypt 的 API 会默认使用新的根(ISRG Root X1)签发证书。而新根大概于 2016 年才引进,兼容性就不太乐观了。你可以选择修改参数再用旧根撑一阵,或者另寻其他免费证书。

比如 BuyPass,早就支持 ACME 标准,提供免费 SSL 证书申请。最近,我在 acme.sh wiki 看到,ZeroSSL 也开始提供类似服务。两家都支持 ACME,也就是说,你不需要更换现有客户端(Cerbot、acme.sh 等),只需作少许改动即可切换至新的 CA,简单签发,自动续期。

阅读全文 »

Published @

HTTPS cipher suite 配置与检测

HTTPS 即 HTTP over SSL/TLS。基本配置完成后,关键是选择合适的 cipher suite(密钥套件)。

可以用 SSL Labs 的 SSL Server Test 检测 Web 服务器的 TLS 配置是否安全,证书链是否可信、完整,浏览器兼容性如何等等。也可以用国内的 MySSL,增加了一系列国内浏览器和搜索引擎爬虫(“蜘蛛”)支持。

阅读全文 »

Published @

几个 HTTPS 相关的 Nginx 补丁

近两年追 Web 新特性,像 HTTP/2、TLS 1.3,刚好网站现在又是运行在 VPS 上的(而不是虚拟主机),相关组件都能自己定制。尝试过几个 Nginx、OpenSSL 相关的补丁(patch),本来想单独好好介绍一番,拖到现在,不如总结成简短一篇,聊胜于无。

这些补丁主要是有关 SPDY 和 chacha20 加密算法的。注意应当只用于测试,不要用于正式环境。

阅读全文 »

Published @

iOS QQ 内置浏览器 AJAX 失效的两个原因及解决方法

今天总算解决了网站的两个 BUG。症状表现都是,用 iOS 上的手机 QQ 内置浏览器,AJAX(通过 jQuery 或是原生 XMLHttpRequest 使用)出现错误。如果不用手机 QQ 内置浏览器,用 iOS 系统自带 Safari,甚至微信内置浏览器,都能正常工作。一个是 GET 请求,另一个是带数据(请求体)的 POST 请求。

后来研究发现,理论上在别的环境下也可能有错,尤其是旧版本的 Safari 等,这是后话了。我们进入正题。

阅读全文 »

Published @

CentOS 6 32位 Nginx+PHP7+MySQL 建站环境配置

虽然我已经建站多年了,但是用 VPS 自己搭环境的时间还不长。在这里记录下我最近搭建环境的全过程,敬请各位指正批评。

这篇文章展示了我从一个全新安装的 CentOS 6 32位操作系统,进行系统精简,设置 SSH 证书登录,更新 OpenSSL,编译安装 Nginx、PHP 7、MySQL 等程序,进行一点优化配置,设置数据库定时备份的全过程。搭建的网站环境支持一些前沿的东西,如 HTTP/2。

阅读全文 »

Published @