ats 安全
Controlling Access
ats可以配置为仅允许某些客户端使用代理缓存.
1. 为ip_allow.config添加一行,以获取允许访问ats的每个IP地址或IP地址范围;
2. traffic_ctl config reload;
SSL Termination
通过ats ssl 终止选项,可以在客户端和ats或ats和源服务器之间以反向代理模式连接。
以下部分介绍了如何启用和配置SSL终止选项:
1. 客户端和流量服务器连接启用和配置SSL终止;
2. ats和origin服务器连接启用和配置ssl终止;
Client and Traffic Server Connections
下图说明了启用SSL终止选项并仅为客户端/流量服务器连接配置时客户端与流量服务器
之间(以及流量服务器和源服务器之间)之间的通信.

1.客户端发送https请求内容。ats接受请求并执行SSL握手以验证客户端(取决于
配置的身份验证选项)并确定将使用的加密方法。如果允许客户端访问,则
ats会检查其缓存中是否有所请求的内容;
2. 如果请求是缓存命中且内容是新鲜的,则ats会加密内容并将其发送到客户端。客户端
解密内容(使用握手期间确定的方法)并显示它。
3. 如果请求是缓存未命中或缓存内容过时,则ats通过http与源服务器通信,并获取
内容的纯文本版本。ats将内容的纯文本保存在其缓存中,加密内容并将其发送到
客户端。客户端解密并显示内容。
要将ats配置为使用客户端/流量服务器连接的SSL终止选项,必须执行以下操作:
1.从公认的证书颁发机构获取并安装SSL服务器证书。SSL服务器证书包含使客户端
能够对ats进行身份验证并交换密钥的信息;
2. 使用records.config中的proxy.config.http.server_ports设置用于SSL通信的端口号;
3. 在records.config中为SSL证书和私钥设置适当的路径:
CONFIG proxy.config.ssl.server.sert.path STRING "/opt/ts/etc/ssl/certs/"
CONFIG proxy.config.ssl.server.private_key.path STRING "/opt/ts/etc/ssl/keys/"
4. 为ssl_multicert.config添加一个条目,用于ats系统将用于终止与客户端的SSL连接
的每个证书和密钥;
ip_dest=1.2.3.4 ssl_cert_name=example.com.pem
ip_dest=* ssl_cert_name=default.pem
5. 可选:
使用records.config中的变量proxy.config.ssl.client.certification_level配置客户端证书
的使用。如果将ats配置为需要客户端证书, 则ats会在ssl握手期间验证客户端证书,以验证
客户端。如果将ats配置为不需要客户端证书,或者将证书配置可选,并且连接客户端不提
供证书,则可以通过已设置的其它ats选项管理对ats的访问ip_allow.config).
CONFIG proxy.config.ssl.client.certification_level INT 0
0: client certificates not required;
1: client ceritficates optional. if present, will be used to validate;
2: client certficates required, and must validate based on configured CAs.
6. 可选: 配置证书颁发机构(CA)的使用。CA通过验证气你去证书的人员的身份来增加
安全性。可接受的CA签名者列表使用的records.config中的
proxy.config.ssl.CA.cert.path进行配置。
7. traffic_ctl server restart
Traffic Server and Origin Server Connections
下图说明了为ats/origin服务器连接启用ssl终止选项时ats和源服务器之间的通信;

1.如果客户端请求是缓存未命中或过时,则ats会将内容的https请求发送到源服务器.源服务
接收请求并执行SSL握手以验证ats并确定要使用的加密方法;
2. 如果允许ats访问,则源服务器对内容进行加密并将其发送到ats, 在ats中解密(使用握手
期间确定的方法).如果ats认为内容可缓存,则内容的纯文本版本将保存在缓存中;
3. 如果客户端/流量服务器连接启用了SSL终止,则ats会重新加密内容并通过https 将其发送
到客户端,并在其中对其进行解密和显示。如果未对客户端、流量服务器连接启用SSL
终止,则ats会通过http将内容的纯文本版本发送到客户端。
要将ats配置为对ats和源服务器连接使用SSL终止选项,需要执行以下操作:
1. 首先确保您的源服务器正确响应SSL请求,并将其配置为客户端证书验证(如果您打算
将其用作访问控制方案的一部分);
如果源服务器是另一个ats系统,则可以按照客户端和流量服务器连接中概述的步骤
配置源服务器以验证客户端证书。
2. 可选项: 如果源服务器需要客户端证书验证以进行访问控制,需要从公认的证书颁发机构
获取并安装SSL客户端证书。客户端证书必须由源服务器识别的证书颁发机构签名。
如果使用的是客户端证书,则必须将其位置添加到设置中的records.config.
proxy.config.ssl.client.cert.path 和proxy.config.ssl.client.cert.filename
CONFIG proxy.config.ssl.client.cert.path STRING "/opt/ts/etc/ssl/certs/"
CONFIG proxy.config.ssl.client.cert.filename STRING "client.pem"
还必须提供此证书的私钥路径,除非该密钥与证书包含在同一文件中,
使用proxy.config.ssl.client.private_key.path和proxy.config.ssl.client.private_key.filename
CONFIG proxy.config.ssl.client.private_key.path STRING "/opt/ts/etc/ssl/keys/"
CONFIG proxy.config.ssl.client.private_key.filename STRING "client.pem"
3. 根据安全策略启用或禁用服务器SSL证书验证:
CONFIG proxy.config.ssl.client.verify.server INT 1
4. 使用设置proxy.config.ssl.client.CA.cert.path和proxy.config.ssl.client.CA.cert.filename 将
使用授权证书颁发机构的集合添加到records.config 中的ats配置中;
CONFIG proxy.config.ssl.client.CA.cert.path STRING "/opt/ts/etc/ssl/certs/"
CONFIG proxy.config.ssl.client.CA.cert.filename STRING "CAs.pem"
5. traffic_ctl server restart
Rotating TLS Session Ticket Keys
可以通过会话票证恢复TLS会话,会话票证使用会话票证密钥加密并存储在客户端上。
为了更好的安全性,可以定期轮换票证密钥,例如每24小时轮换一次。票证密钥作为48字节
块中的反向队列存储在票证密钥文件中。
1. 生成新的故障单密钥并将其推送到故障单密钥文件的开头;
2. 可选项: 从故障单密钥文件中删除最后一个故障单密钥;
3. 触摸ssl_multicert.config以指示SSL配置已过时;
4. traffic_ctl config reload
Split DNS
通过拆分DNS选项,可以根据安全要求将ats配置为使用多个DNS服务器。eg, 可以将ats配
置为使用一组DNS服务器来解析内部网络上的主机名,同时允许防火墙外的DNS服务器解析
Internet上的主机。可以维护Intranet的安全性,同时继续提供对组织外部站点的直接访问。
配置拆分DNS:
1. 根据目标域,目标主机或URL正则表达式指定执行DNS服务器选择的规则。这些规则位于
splitdns.config中;
2. 通过调整records.config中的proxy.config.dns.splitDNS.enabled启用拆分DNS选项:
CONFIG proxy.config.dns.splitDNS.enabled INT 1
3. traffic_ctl config reload
ats 安全的更多相关文章
- iOS的ATS配置 - 2017年前ATS规定的适配
苹果规定 从2017年1月1日起,新提交的 app 不允许使用NSAllowsArbitraryLoads来绕过ATS(全称:App Transport Security)的限制. 以前为了能兼容ht ...
- iOS 升级HTTPS通过ATS你所要知道的
由于苹果规定2017年1月1日以后,所有APP都要使用HTTPS进行网络请求,否则无法上架,因此研究了一下在iOS中使用HTTPS请求的实现.网上搜索了一些比较有用资料,大家可以参考下 苹果强制升级的 ...
- iOS9网络适配(ATS)
[转]iOS9 new_001:iOS9网络适配(ATS) 下载Xcode7打开APP后大家都发现自己的APP无法联网了,why? 苹果官方文档介绍如下: App Transport Security ...
- Apache Traffic Server(ats)
零.前言1.官网 http://trafficserver.apache.org/2.国内社区 https://blog.zymlinux.net3.简洁明了的配置:http://blog.csdn. ...
- tomcat部署https+TLS 1.2+Apple ATS支持
因为苹果ATS的要求, tomcat服务器要求上https+TLS1.2, 前面搞定了https,但是tls一直是1.0, 甚至把跑了一年的服务器重启了, 不解决问题. 思路如下: 1. 将openJ ...
- ATS
一) 起因:由于苹果规定2017年1月1日以后,所有APP都要使用HTTPS进行网络请求. 之前,可以在Info.plist中禁用ATS功能,按如下设置即可. <key>NSAppTran ...
- AFNetwork ATS 网络层改造
最近一直做项目的ATS改造,期间遇到了种种问题,各种坑都记录下来, 比如iOS版本.afnetwork版本.证书(是否为自签证书).域名验证.TLS版本等等,我们项目更复杂,还使用了域名到IP映射的路 ...
- 关于 iOS 10 中 ATS 的问题
本文于 2016 年 11 月 28 日按照 Apple 最新的文档和 Xcode 8 中的表现进行了部分更新. WWDC 15 提出的 ATS (App Transport Security) 是 ...
- 如何排查APP服务端和客户端是否支持ATS
服务端排查 取得客户端直接连接的服务端域名及端口,例如mob.com.cn,端口443,即HTTPS默认端口.针对公网可访问的生产环境地址,建议使用的在线监测工具.https://wosign.ssl ...
- Apache和Nginx配置支持苹果ATS方法
什么是ATS功能? ATS是iOS9和OS X El Capitan的一个新特性.开启该功能后,ATS对使用NSURLConnection, CFURL或NSURLSession 等APIs 进行的网 ...
随机推荐
- Django2.0路由层-URLconf
目录 DJango2.0路由层-URLconf 概述 urlpatterns 实例 path转换器 自定义path转换器 使用正则表达式 命名组(有名分组) URLconf匹配请求URL中的哪些部分 ...
- Innodb存储引擎的缓存命中率计算
数据库的慢查询是我们在生产环境中必须经常检测的,如果慢查询语句过多,说明我们应该增加buffer_pool的大小了.常常检查的指标就是查看缓存命中率是否过低. mysql> show statu ...
- 配置好jdk后,cmd编写java -version还是报找不到jdk
找了好长时间没查出问题在哪,配置的都没有问题,最后搜了搜网上发现,jdk的这两行得在最上面才行.
- 3675: [Apio2014]序列分割
Description 小H最近迷上了一个分隔序列的游戏.在这个游戏里,小H需要将一个长度为n的非负整数序列分割成k+1个非空的子序列.为了得到k+1个子序列,小H需要重复k次以下的步骤: 1.小H首 ...
- [POI2007]MEG-Megalopolis
传送门:嘟嘟嘟 第一反应是树链剖分,但是太长懒得写,然后就想出了一个很不错的做法. 想一下,如果我们改一条边,那么影响的只有他的子树,只要先搞一个dfs序,为什么搞出这个呢?因为有一个性质:一个节点的 ...
- 服务器 一 MQTT服务器硬件
目的: 实现手机4G网络控制单片机,需要搭建服务器,手机或者各种控制端远程控制. 本教程 1 MQTT服务器硬件模块 2 MQTT服务器电脑搭建 2.1自己搭建 2.2租阿里云服务器 2 MQTT服 ...
- day2-课堂代码
# 字符串常用属性和操作 # a = 'aa' # b = 'bb' # c = 'cc' # d = a + b + c # print(d) # age = 50 # print('田老师的年龄是 ...
- Python2.7-robotparser
robotparser 模块,用于解析网站的 robots.txt 文件,robots.txt 文件是用于指定搜索引擎爬虫的访问权限的,此模块在 python3 中重命名为 urllib.robotp ...
- lvs 最常用算法 + tcpdump vrrp 抓包
1.SH: source hash, 源地址散列. 将请求的目标IP地址换成请求的源IP地址:实现session保持的机制:将来自于同一个IP的请求始终调度至同一RS: 源地址散列调度算法正好与目标地 ...
- 简单叨叨bootstrap按钮无限层级下拉菜单的实现
0.写在前面的话 最近看书都懈怠了,又正值新项目,虽说并不是忙得不可开交,好吧我老实交待,我就是偷懒了其实,博客也没更.言归正传,对于前端的不熟悉现在确实是个让我头疼的事情,以至于一些功能要在网络上漫 ...