search
HomeDatabaseMysql Tutorial浅谈邮局全程SSL保护的实现
浅谈邮局全程SSL保护的实现Jun 07, 2016 pm 04:30 PM
sslProtectaccomplishServeat present

目前多数邮局服务提供商,就安全性保障来讲,仅仅局限于HTTPS登录,对于登录成功之后,用户的所有请求,均采用普通的HTTP模式。三五邮局从 用户的安全性考虑,对邮局产品进行了重大升级,提供用户从登录服务开始,直至访问服务结束,全程采用SSL保护模式功能

目前多数邮局服务提供商,就安全性保障来讲,仅仅局限于HTTPS登录,对于登录成功之后,用户的所有请求,均采用普通的HTTP模式。三五邮局从 用户的安全性考虑,对邮局产品进行了重大升级,提供用户从登录服务开始,直至访问服务结束,全程采用SSL保护模式功能。下面一起分享下关于三五邮局产品 全程SSL保护解决方案。

??一、众所周知,要实现全程HTTPS访问,首先就要解决SSL证书的问题。对于普通的应用服务来说,一个域名对应于一个服务,那么购 买、配置SSL证书完成HTTPS全程访问,并不是一件复杂的事情。而对于像我司这种专注于SAAS服务的公司来说,大多数客户都是通过自己的域名来登录 自己购买的服务的。所以多个域名就必须共享一个SSL证书(一个域名用户购买一个证书不可行)。所以按照类似多域名单SSL证书登录的模式,我们采用 HTTPS全程通过统一地址进行访问。

例如:mail.a.com访问webmail,mail.b.com访问webmail,则两个域名登录之后统一采用https://mail.serverhost.com进行访问。

二、我们的所有的产品线基于CAS的单点登录。所以在实现邮局产品的全程HTTPS访问时,就主要需要对Jasig?CAS?进行一定的业务处理。首先简单介绍下CAS实现的原理(详细的CAS知识,请自行google了解)。

1、CAS的核心思想是基于客户端Cookie服务共享机制。

2、CAS两个核心对象TGT,ST。TGT是CAS封装了客户端的Cookie对象,写入浏览器客户端的Cookie。ST是CAS服务端为每一个CAS客户端创建的一个票据。

3、所有的客户端服务的登录认证均跳转至CAS服务端,CAS服务端通过TGT判断用户是否完成登录验证。若没有TGT,则会到登陆页要求用户输入信息验 证,验证成功之后,CAS服务端会产生一个TGT对象,并写到浏览器客户端。同时为对应的服务创建ST,并作为参数跳转回请求认证的服务。对应的服务获取 到ST,再次到CAS服务端验证ST的有效性,若有效,即允许访问服务。

以上简单介绍了CAS的实现原理和流程,那么在需要HTTPS全程访问,我们就需要在ST上下功夫。

通过分析CAS的源码可以发现,CAS在验证成功之后,跳转到对应的服务时,是根据请求的参数Service,而同时其内部优先支持目标服务 (targetService)参数,因此我们采用了在登录验证时,若选择全程SSL保护,则会携带targetService参数引导CAS服务端跳转 到targetService(验证成功之后),并且以targetService生成ST。其中参数targetService参数即我们每一台服务器 HTTPS配置serverHost,这一步是关键。

完成上述targetService(HTTPS)的引导,即成功引导用户使用HTTPS访问邮局服务。

三、实现多个服务切换之后,切入邮局系统,仍然保持HTTPS访问。

我们主要采用了Cookie机制,当然你也可以采用Session机制,条条大道通罗马。在CAS服务端验证请求时,我们会根据 用户的选择,记录当前是否HTTPS全程访问到Cookie中,注意此时的Cookie,我们会记录到邮局服务下(而并非CAS服务下),并且是根目录, 有效期设置为浏览器的会话时效。这样,当用户切换不同服务之后,切回邮局,我们才能记住当前用户的SSL保护状态。

四、最后,谈谈HTTPS访问邮局服务过程,出现的一些问题。浏览器安全限制的问题,在IE8版本以下,HTTPS应用下,若是访问HTTP资源,则浏览器会提示安全限制。这个真的很影响用户的交互,你怎么看?必须解除。

因为三五邮局已经是一个非常庞大、成熟的系统,当然内部不免某些配置HTTP的资源,这就决定了我们接下来的工作是,消除系统内部所有的这些HTTP请 求。一是尽量把所有的资源请求路径相对化,采用相对路径;二是对于无法相对化的请求,尽量在客户端采用获取ServerName的方式来替代;当然,还有 一些外部系统嵌套的,那就要保证它也支持HTTPS咯,实在没办法的话,那就只能忍痛割爱。

以上为个人整个SSL保护实现的愚见,供诸君吐槽。

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
等不及通用控制?现在通过 Barrier 在 Mac、PC 之间共享键盘和鼠标等不及通用控制?现在通过 Barrier 在 Mac、PC 之间共享键盘和鼠标Apr 14, 2023 pm 12:04 PM

如何使用 Barrier 在 Mac / PC 之间共享键盘和鼠标您需要确保要与其共享鼠标和键盘的计算机都在同一个网络上,并且在初始设置期间您将在不同的 Mac 之间来回切换。在此处获取最新版本的 Barrier(适用于 Mac 的 DMG,适用于 Windows 的 exe)– 将其下载到您希望能够使用键盘和鼠标的每台计算机上将 Barrier 从 DMG(或使用 exe 安装到 Windows)复制到您打算使用它的每台 Mac 上的 /Applications 文件夹,然后右键单击 Barr

Java8(291)之后禁用了TLS1.1使JDBC无法用SSL连接SqlServer2008怎么解决Java8(291)之后禁用了TLS1.1使JDBC无法用SSL连接SqlServer2008怎么解决May 16, 2023 pm 11:55 PM

Java8-291之后,禁用了TLS1.1,使JDBC无法用SSL连接SqlServer2008怎么办,以下是解决办法修改java.security文件1.找到jre的java.security文件如果是jre,在{JAVA_HOME}/jre/lib/security中,比如????C:\ProgramFiles\Java\jre1.8.0_301\lib\security如果是Eclipse绿色免安装便携版在安装文件夹搜索java.security,比如????xxx\plugins\org

MySQL: SSL 连接简介及设置步骤MySQL: SSL 连接简介及设置步骤Sep 08, 2023 pm 03:51 PM

MySQL:SSL连接简介及设置步骤摘要:MySQL提供了SSL(SecureSocketsLayer)连接来加密在客户端和服务器之间传输的数据。本文将介绍SSL连接的概念和作用,并提供在MySQL中设置SSL连接的步骤以及相关的代码示例。导语:随着网络和数据传输的不断扩大,数据安全性变得越来越重要。通过使用SSL连接,我们可以加

Nginx与SSL:配置HTTPS保护Web服务器Nginx与SSL:配置HTTPS保护Web服务器Jun 09, 2023 pm 09:24 PM

Nginx是一个高性能的Web服务器软件,同时也是一款强大的反向代理服务器和负载均衡器。随着互联网的迅速发展,越来越多的网站开始采用SSL协议保护敏感用户数据,而Nginx也提供了强大的SSL支持,使得Web服务器的安全性能更进一步。本文将介绍如何配置Nginx以支持SSL协议,并保护Web服务器的安全性能。什么是SSL协议?SSL(SecureSocke

修复:Windows PC 上 Chrome 中的 ERR_CERT_WEAK_SIGNATURE_ALGORITHM 错误修复:Windows PC 上 Chrome 中的 ERR_CERT_WEAK_SIGNATURE_ALGORITHM 错误Apr 18, 2023 am 09:41 AM

许多Windows用户最近开始抱怨一个问题,即他们在浏览chrome浏览器发现不安全的网页时收到错误消息并抛出错误消息YourconnectionisnotprivatewithaerrorcodeNET::ERR_CERT_WEAK_SIGNATURE_ALGORITHMonWindows11系统。现在Windows用户不确定是什么原因导致了这个问题,以及他们如何解决这个问题以便轻松浏览网页。下面提到了可能导致此错误消息的一些原因。SSL证书缓存问题损坏的浏览数据

如何使用Nginx代理服务器实现Web服务的动态SSL证书生成?如何使用Nginx代理服务器实现Web服务的动态SSL证书生成?Sep 05, 2023 pm 02:24 PM

如何使用Nginx代理服务器实现Web服务的动态SSL证书生成?Nginx是一款高性能的开源Web服务器,可以用于代理服务器、反向代理和负载均衡等多种用途。它的灵活性使得我们可以利用其强大的功能实现动态SSL证书生成,以提供更安全、更灵活的Web服务。本文将详细介绍如何利用Nginx代理服务器实现动态SSL证书生成。首先,我们需要生成一个自签名的根证书和私钥

Windows环境下Nginx服务器SSL证书怎么安装部署Windows环境下Nginx服务器SSL证书怎么安装部署May 15, 2023 am 09:37 AM

Nginx类型的服务器证书压缩包证书压缩文件夹内容如下(这里使用baidu.com的域名作为示例):baidu.com_bundle.crt证书文件baidu.com_bundle.pem证书文件(可忽略该文件)baidu.com.key私钥文件baidu.com.csrCSR文件拷贝证书文件和私钥文件将已获取到的baidu.com_bundle.crt证书文件和baidu.com.key私钥文件从本地目录拷贝到Nginx根目录下的conf目录修改nginx.conf配置编辑Nginx根目录下的

Nginx怎么配置SSL证书监听443端口Nginx怎么配置SSL证书监听443端口May 13, 2023 am 09:19 AM

一、准备证书文件我使用的是阿里云symantec免费版ssl证书。将证书文件下载后解压得到如下文件在nginx–>cert目录中建一个ssl目录,将上面的所有文件拷贝到ssl目录中二、修改nginx.conf文件在nginx.conf的http{}中填下如下内容server{listen443;server_namewww.httpstest.com;sslon;roothtml;indexindex.htmlindex.htm;#这里的.pem/.key文件替换成自己对应的文件名ssl_

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.