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. 如何在linux centos 环境下运行.exe文件

    linux是不能运行window下的可执行文件的,必须借助于wine.百度了以下wine如下:   Wine (“Wine Is Not an Emulator” 的递归缩写)是一个能够在多种 POS ...

  2. Skype 服务器客户端策略参数优化

    1.skype通讯录原理 对于skype客户端的通讯录同步,首先说说原理,通讯簿信息是从AD同步的skype前端服务器(每天1:30),在从前端服务器同步的客户端(大概1小时内同步一次). skype ...

  3. 面向对象程序设计_Task7_Summary

    Summary of the ... 题目链接:第七次作业 终于还是迎来了这学期的最后一次作业,唠叨话还是放最后说,先说说计算器这玩意儿吧 贯穿了整个学期的计算器,要是让我对自己做个评价,顶多只是还好 ...

  4. 网络唤醒(WOL)全解指南:原理篇

    什么是网络唤醒 网络唤醒(Wake-on-LAN,WOL)是一种计算机局域网唤醒技术,使局域网内处于关机或休眠状态的计算机,将状态转换成引导(Boot Loader)或运行状态.无线唤醒(Wake-o ...

  5. 很不错的关于依赖注入和AOP的系列文章

    http://blog.csdn.net/tittop/article/details/6716033

  6. [python] 在 python2和3中关于类继承的 super方法简要说明

    下面举一个例子,同样的代码使用 python2 和 python3 写的,大家注意两段程序中红色加粗的部分: python2的类继承使用super方法: #-*- coding:utf-8 -*- ' ...

  7. 详解Web请求中的DNS域名解析

    当我们打开浏览器,输入一个URL去请求我们需要的资源,但是URL是需要解析成对应的IP地址才能与远程主机建立连接,如何将URL解析成IP就是DNS的工作范畴,即使作为开发人员,这个过程我们也感觉不到, ...

  8. BZOJ4894:天赋(矩阵树定理)

    Description 小明有许多潜在的天赋,他希望学习这些天赋来变得更强.正如许多游戏中一样,小明也有n种潜在的天赋,但有一些天赋必须是要有前置天赋才能够学习得到的. 也就是说,有一些天赋必须是要在 ...

  9. lucene查询语法简介

    为什么要介绍lucene:我们在ELK中搜索相关日志的时候,搜索语言需要遵循Lucene才可以匹配到需要的信息 什么是Lucene:Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件 ...

  10. apache-httpd工作模式

    [root@app1 conf]# ../bin/apachectl -lCompiled in modules: core.c mod_access.c mod_auth.c mod_include ...