限制TLS版本以保护通信安全
使用场景
OBS广泛应用于企业数据存储、备份、静态网站托管、视频点播等场景,客户端与OBS之间的数据传输过程依赖TLS协议实现加密防护,保障数据传输安全。OBS支持多个TLS版本(包括TLS 1.0、TLS 1.1、TLS1.2、TLS1.3),同时支持使用桶策略限制访问OBS的TLS版本。
背景介绍
在进行TLS相关配置操作前,您可能需要了解TLS及其版本的相关知识。
TLS(传输层安全协议)是一种用于加密网络通信、保障数据机密性与完整性,并验证通信双方身份的标准化安全协议。如表1所示,不同TLS版本在安全特性和应用场景上存在差异,TLS协议本身默认优先使用高版本进行TLS版本协商。
| 协议 | 适用场景 |
|---|---|
| TLS 1.0 | TLS 1.0和TLS 1.1存在安全漏洞,不推荐广泛使用,建议升级到更安全的TLS版本。 |
| TLS 1.1 | |
| TLS 1.2 | 主流的安全通信协议,应用于大多数常规的网络数据传输场景,包括网站访问、电商交易、电子邮件等。 |
| TLS 1.3 | 应用于对安全性、性能有较高要求场景,比如移动端APP通信、视频会议、实时支付,也适用于政府机构、大型互联网平台等对数据安全有严格要求的领域。 TLS1.3支持的加密套件:
|
注意事项
- 并行文件系统不支持配置 TlsVersion 条件键约束客户端请求使用的 TLS 协议版本。
- 如果客户端使用控制台、SDK、OBS Browser+ 访问,约束 TLS 协议版本时需至少允许 1.2 版本的 TLS 协议访问,否则请求会被拒绝。注意,用户通过控制台访问时,不会携带用户原始链接的 TLS 协议版本,OBS感知到的是控制台系统使用的 TLS 协议版本。
- TlsVersion可以应用于桶策略和IAM策略,不能应用于VPCEP终端节点策略。
- getBucketLocation(获取桶区域位置)接口不支持通过 TlsVersion 约束请求。
- 如果您的自定义域名绑定了国密证书,那么基于国密证书的访问请求不支持桶策略、IAM策略、VPC策略使用TlsVersion条件键进行访问控制。
使用桶策略限制TLS版本
为了增强安全性,您可以根据业务场景需要,使用桶策略中的TlsVersion条件键限制请求的TLS协议版本。
以下桶策略示例展示了如何使用TlsVersion条件键拒绝TLS版本低于1.2的请求(其中“YourBucketName”是您的桶名,请根据实际情况替换):
{
"Sid": "TLSTest01",
"Effect": "Deny",
"Principal": {
"ID": [
"*"
]
},
"Action": [
"*",
"Get*",
"Put*",
"List*"
],
"Resource": [
"YourBucketName",
"YourBucketName/*"
],
"Condition": {
"NumericLessThan": {
"TlsVersion": [
"1.2"
]
}
}
} 以下桶策略示例展示了如何使用TlsVersion条件键允许TLS版本高于1.1的请求(其中“YourBucketName”是您的桶名,请根据实际情况替换):
{
"Sid": "TLSTest02",
"Effect": "Allow",
"Principal": {
"ID": [
"*"
]
},
"Action": [
"*",
"Get*",
"Put*",
"List*"
],
"Resource": [
"YourBucketName",
"YourBucketName/*"
],
"Condition": {
"NumericGreaterThan": {
"TlsVersion": [
"1.1"
]
}
}
}