Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >加密,防止网站证书私钥泄露

加密,防止网站证书私钥泄露

作者头像
用户U2
发布于 2022-06-02 07:41:12
发布于 2022-06-02 07:41:12
1.1K00
代码可运行
举报
运行总次数:0
代码可运行

【风险与背景】


如果网站使用的数字证书私钥文件泄露,会造成什么后果呢?

黑客就可以构建假冒的钓鱼网站,借助DNS劫持,将用户引导到假网站上面去,可窃取用户的口令等敏感信息;或者黑客执行中间人攻击。

微软2015年12月就曾出现*.xboxlive.com证书私钥泄露事件,所幸及时发现,吊销了证书,事件未造成进一步损失。

【现状】


当前,各大主流Web服务器在配置证书的时候,均使用文件形式的证书及私钥文件,在配置文件中设置2个证书文件的路径。

以Nginx为例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
    listen  443 ssl;
    ssl_certificate /path/to/fullchain.pem;
    ssl_certificate_key  /path/to/privkey.pem;

    ...
}

可以看出,私钥文件直接明文存储在文件系统

如果黑客进入到了这台主机,就可以拿到证书的私钥了。

【改进思路】


将证书明文保存在文件系统中,不是一个好的实践,那么可以怎么改进呢?

笔者在设计Janusec Application Gateway时,采取的方法是将证书文件和私钥文件都存储在数据库中,并且在写入数据库之前,先对私钥文件的内容进行加密。

【实践】


基于Golang打造WAF网关一文中,提到了Janusec Application Gateway采用基于Web的统一的证书管理器来统一管理各业务的证书,并对证书私钥采取了AES256的加密措施,加密后写入数据库,而不再使用文件形式存储。

使用psql登录进Janusec所使用的PostgreSQL数据库,查询私钥的结果看上去是这样的(二进制密文):

由于私钥使用了加密技术存放于数据库(不同的部署实例使用不同的加密密钥),大大降低了私钥泄露的风险。

这是一款基于Golang打造的应用安全网关,具备WAF(Web应用防火墙)功能、CC攻击防御、组合策略配置,天然支持HTTPS,无需Agent,私钥加密存储在数据库,提供负载均衡和统一的Web化管理入口。

这款产品已经开源,如果有兴趣,可到Github查看:

https://github.com/Janusec/janusec

( --完--)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-08-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据安全架构与治理 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
打造一款开源的WAF网关
在互联网行业,Google将安全做到基础设施里面,素来是各大公司学习的榜样,在Web方面,通过GFE (Google Front-End) 统一对外发布,业务只需要在GFE登记,GFE就会调取正确的证书,保障用户到GFE的TLS连接安全。
用户U2
2022/06/02
9300
打造一款开源的WAF网关
30亿条个人信息被盗,全站HTTPS迫在眉睫
据新华网报道,日前,浙江绍兴市越城区公安分局侦破一起特大流量劫持案,涉案主角瑞智华胜,涉嫌非法窃取用户个人信息30亿条,涉及百度、腾讯、阿里、京东、新浪和今日头条等全国96家互联网公司产品,几乎涵盖了国内主要互联网企业。
用户U2
2022/06/02
3560
30亿条个人信息被盗,全站HTTPS迫在眉睫
使用 Certbot 安装 Letsencrypt 证书
1、拥有一个域名,例如 mydomain.com 2、在域名服务器创建一条A记录,指向云主机的公网IP地址。例如 demo.mydomain.com 指向 192.168.0.1 的IP地址 3、要等到新创建的域名解析能在公网上被解析到
SkyRiN
2018/11/20
4.6K0
快速给内部网站添加身份认证
一些企业内部管理网站,往往为了快速上线,没有做身份认证,这就给内部数据泄露带来了很大的风险。但是,要想修复这个问题,却不是那么容易,有可能开发这个网站的同事早就转岗或离职了。
用户U2
2022/06/02
7750
快速给内部网站添加身份认证
如何使用Certbot独立模式检索我们在Ubuntu 18.04上加密SSL证书
Let's Encrypt是一种通过自动API提供免费SSL证书的服务。最受欢迎的Let's Encrypt客户端是EFF的Certbot。
丰一川
2018/10/25
1.6K0
你的网站HTTPS了吗 | Let’s Encrypt
前言 下午,图书馆闭馆了了、得找一个安全的地方上网(o)/~,一直听说着Let’s Encrypt。前几天玩了一下,但是本地运行Let’s Encrypt不能生成证书,Maybe School DNS question :-D,那就在腾讯云服务器玩玩。 ---- Let’s Encrypt Let's Encrypt是由EFF、Mozilla、Cisco、Akamai、IdenTrust与密西根大学研究人员共同创立的免费的凭证中心,目的在于推动全球所有的网站都使用HTTPS加密传输,创建一个更安全、更具
AlicFeng
2018/06/08
2.4K0
JANUSEC应用网关1.0发布,提供一站式安全交付能力
好久没有更新公众号文章了,也极少发圈,经常被朋友问起在忙啥?其实,笔者业余时间大多用来完善JANUSEC应用网关这款开源产品了,这不,历经多年打造和实战磨合,我也不藏着掖着了,端出1.0版本,供各位客官品鉴。你可能会疑惑,JANUSEC应用网关到底是个什么产品?解决什么痛点问题?到底有哪些特色?让我们逐一揭晓。
用户U2
2022/06/02
8910
JANUSEC应用网关1.0发布,提供一站式安全交付能力
如何使用CentOS 7上的CloudFlare验证来检索让我们加密SSL通配符证书
Let's Encrypt是一个证书颁发机构(CA),它为传输层安全性(TLS)加密供免费证书。它提供了一个名为Certbot的软件客户端,它简化了证书创建,验证,签名,安装和续订的过程。
圣人惠好可爱
2018/11/05
3.6K0
非对称加密与OpenSSL
随着个人隐私越来越受重视, HTTPS也渐渐的流行起来, 甚至有许多网站都做到了全站HTTPS, 然而这种加密和信任机制也不断遭遇挑战,比如戴尔根证书携带私钥,Xboxlive证书私钥泻露, 还有前一段时间的沃通错误颁发Github根域名SSL证书事件. 因此本文从非对称加密说起, 介绍了证书的签证流程, 并且通过openssl的命令行工具对这些过程都转化为相对具体的命令, 也算是一个温故知新的简要记录吧.
evilpan
2023/02/12
9840
非对称加密与OpenSSL
使用Let's Encrypt -- 免费的https证书
老高的证书快过期了(2016-12-11),本着节约资(R)源(MB)的精神,准备使用Let's Encrypt。
老高的技术博客
2022/12/27
1.1K0
使用Let's Encrypt  -- 免费的https证书
域名数字证书安全漫谈(1)-证书长什么样子?
大家在电脑上登录网银、使用搜索引擎、使用网上支付的时候,会留意到浏览器的地址栏有个小锁标志(根据浏览器类型和版本的不同,小锁所显示的位置也有所不同):
用户U2
2022/06/02
1.9K0
域名数字证书安全漫谈(1)-证书长什么样子?
如何使用CentOS 7上的CloudFlare验证来检索让我们加密SSL通配符证书
Let's Encrypt 是一个证书颁发机构(CA),它为传输层安全性(TLS)加密提供免费证书。它提供了一个名为Certbot的软件客户端,它简化了证书创建,验证,签名,安装和续订的过程。
彼岸轮回
2018/10/19
3.4K1
免费升级网站启用HTTPS
HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。HTTPS相当于在HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
一条老狗
2019/12/26
6.3K0
网站显示不是私密连接怎么加 https 进行加密?(在Nginx或Tengine服务器上安装证书)
前段时间我网站的加密证书到期了,刚好趁着这个时间教一下大家如何给自己的网站添加SSL 证书
海拥
2022/10/04
2.4K0
网站显示不是私密连接怎么加 https 进行加密?(在Nginx或Tengine服务器上安装证书)
Nginx同一个IP上多个域名配置安装SSL证书
在同一台服务器上配置多个带有SSL证书的HTTPS网站时,每个网站确实需要使用不同的端口号,以避免冲突。这是因为SSL/TLS协议通常是在特定的端口上运行的,默认情况下是443端口。
Tinywan
2024/03/20
2.6K0
Nginx同一个IP上多个域名配置安装SSL证书
openssl生成证书和公私钥_openssl查看证书信息
生成的文件:server_rsa_private.pem、server.csr、server_rsa_private.pem.unsecure。
全栈程序员站长
2022/11/05
2K0
如何在Ubuntu 16.04上使用Let加密SSL证书配置GoCD
GoCD是一个功能强大的持续集成和交付平台,旨在自动化测试和发布流程。GoCD具有许多高级功能,例如比较构建,可视化复杂工作流以及自动构建版本跟踪,是一种灵活的工具,可以帮助团队将经过良好测试的软件提供给生产环境。
编程男孩
2018/09/21
1.2K0
如何为Nginx 配置SSL证书?
用户通过http协议访问网站时,浏览器和服务器之间是明文传输,这就意味着用户填写的密码、帐号、交易记录等机密信息都是明文,随时可能被泄露、窃取、篡改,被黑客加以利用。
用户1560186
2019/11/19
3.9K0
利用let's encrypt为网站免费启用https
概览 Let’s Encrypt旨在为每个站点提供免费的基于SSL证书,以加速HTTP向HTTPS的过渡,恰逢上周HTTP2的发布,对于HTTPS的优化,其速度显著优于HTTP1.x(某些应用场景) 特点 免费:任何站点都可以免费申请一个针对其域名的有效证书 自动:证书的申请以及配置在web服务器上整个过程完全自动化, 并且支持后台更新 安全:提供业内最新的安全技术和最好的实践 透明:所有证书的签发与撤销记录均对需要调查的人员开放 开放:自动化执行的发放与更新将遵循开放标准,并且允许自定义插件 合作:对整
小小科
2018/05/04
9180
如何使用CentOS 7上的Let's Encrypt来保护HAProxy
我们的加密是一个新的证书颁发机构(CA),它提供了一种获取和安装免费TLS / SSL证书的简便方法,从而在Web服务器上启用加密的HTTPS。它通过提供软件客户端Certbot来简化流程,该客户端尝试自动执行大多数所需步骤。目前,获取和安装证书的整个过程仅在Apache Web服务器上完全自动化。但是,无论您选择哪种Web服务器软件,都可以使用Certbot轻松获取免费的SSL证书,该证书可以手动安装。
尘埃
2018/10/15
2.2K0
推荐阅读
相关推荐
打造一款开源的WAF网关
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验