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 安全的更多相关文章

  1. iOS的ATS配置 - 2017年前ATS规定的适配

    苹果规定 从2017年1月1日起,新提交的 app 不允许使用NSAllowsArbitraryLoads来绕过ATS(全称:App Transport Security)的限制. 以前为了能兼容ht ...

  2. iOS 升级HTTPS通过ATS你所要知道的

    由于苹果规定2017年1月1日以后,所有APP都要使用HTTPS进行网络请求,否则无法上架,因此研究了一下在iOS中使用HTTPS请求的实现.网上搜索了一些比较有用资料,大家可以参考下 苹果强制升级的 ...

  3. iOS9网络适配(ATS)

    [转]iOS9 new_001:iOS9网络适配(ATS) 下载Xcode7打开APP后大家都发现自己的APP无法联网了,why? 苹果官方文档介绍如下: App Transport Security ...

  4. Apache Traffic Server(ats)

    零.前言1.官网 http://trafficserver.apache.org/2.国内社区 https://blog.zymlinux.net3.简洁明了的配置:http://blog.csdn. ...

  5. tomcat部署https+TLS 1.2+Apple ATS支持

    因为苹果ATS的要求, tomcat服务器要求上https+TLS1.2, 前面搞定了https,但是tls一直是1.0, 甚至把跑了一年的服务器重启了, 不解决问题. 思路如下: 1. 将openJ ...

  6. ATS

    一) 起因:由于苹果规定2017年1月1日以后,所有APP都要使用HTTPS进行网络请求. 之前,可以在Info.plist中禁用ATS功能,按如下设置即可. <key>NSAppTran ...

  7. AFNetwork ATS 网络层改造

    最近一直做项目的ATS改造,期间遇到了种种问题,各种坑都记录下来, 比如iOS版本.afnetwork版本.证书(是否为自签证书).域名验证.TLS版本等等,我们项目更复杂,还使用了域名到IP映射的路 ...

  8. 关于 iOS 10 中 ATS 的问题

    本文于 2016 年 11 月 28 日按照 Apple 最新的文档和 Xcode 8 中的表现进行了部分更新. WWDC 15 提出的 ATS (App Transport Security) 是 ...

  9. 如何排查APP服务端和客户端是否支持ATS

    服务端排查 取得客户端直接连接的服务端域名及端口,例如mob.com.cn,端口443,即HTTPS默认端口.针对公网可访问的生产环境地址,建议使用的在线监测工具.https://wosign.ssl ...

  10. Apache和Nginx配置支持苹果ATS方法

    什么是ATS功能? ATS是iOS9和OS X El Capitan的一个新特性.开启该功能后,ATS对使用NSURLConnection, CFURL或NSURLSession 等APIs 进行的网 ...

随机推荐

  1. VPC见解

    VPC是什么? VPC:Virtual  Private  Cloud,即虚拟私有云.讨论VPC时,我们可以从两个方面来讨论: 从服务的角度来看:VPC是一种云,但是这个云不属于我们常见的公有云.私有 ...

  2. saxbuilder用法

    xml为我们在网络交换数据带来很大方便,在java中可以使用saxbuilder来操作xml格式文件,下面介绍一下saxbuilder的常用方法. import org.jdom.Document; ...

  3. win10管理员已阻止你运行此应用”解决方法

    方法/步骤 1 按WIN+R键,打开“运行”,然后输入“gpedit.msc",就是打开组策略,这个在控制面板中也可以打开. 2 在组策略里找到“计算机配置”-“Windows设置”-“安全 ...

  4. P3324 [SDOI2015]星际战争

    传送门:https://www.luogu.org/problemnew/show/P3324 首先瞅一眼数据范围,发现m, n都很小,所以就可以初步断定这是一道网络流的题. 因为题中说每一个武器只能 ...

  5. 问题解决:Apache: You don't have permission to access / on this server

    虚拟主机(Virtual Host)是指在一个机器上运行多个网络站点 (比如:www.company1.com和www.company2.com). 如果每个网络站点拥有不同的IP地址,则虚拟主机可以 ...

  6. Apache Commons Fileupload 反序列化漏洞分析

    下面是k8脚本. # -*- coding: utf-8 -*- # Oracle Weblogic Server (10.3.6.0, 12.1.3.0, 12.2.1.2, 12.2.1.3) D ...

  7. .netcore部署Linux并结合Nginx反向代理 get started

    一..NetCore网站准备与发布 首先准备好一个ASP.NET Core Web应用程序,我这里就使用新建的示例站点作为demo演示,使用dotnet publish 命令发布网站. 或者使用VS的 ...

  8. Mysql 调优2个语句

    一.explain 语句 查看语句的执行计划 二.查看具体每一步耗时 .; .执行SQL .show profiles; 获取2执行SQL的query_id .show profile for que ...

  9. 基于jmxtrans+influxdb+grafana实现对canal监控

    最近在调研canal数据同步系统的监控方案,网上关于jmxtrans+influxdb+grafana监控kafka的文档很多,没有监控canal的.通过几天的摸索,大致明白了来龙去脉.监控流程基本是 ...

  10. multi-voltage design apr

    在先进制程中,为了降低芯片功耗,经常会采用 muti-voltage design,在一颗芯片内部划分出多个 power domain,不同 domain 采用不同的电压,有时候还会将其中某些 pow ...