Add new ELBv2 ssl protocols, add small helper script to fetch them (#7009)
This commit is contained in:
parent
c04ff77178
commit
5cabac5ccd
@ -7,8 +7,6 @@ from .exceptions import ListenerOrBalancerMissingError
|
|||||||
|
|
||||||
SSL_POLICIES = [
|
SSL_POLICIES = [
|
||||||
{
|
{
|
||||||
"name": "ELBSecurityPolicy-2016-08",
|
|
||||||
"ssl_protocols": ["TLSv1", "TLSv1.1", "TLSv1.2"],
|
|
||||||
"ciphers": [
|
"ciphers": [
|
||||||
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
||||||
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
||||||
@ -29,10 +27,151 @@ SSL_POLICIES = [
|
|||||||
{"name": "AES256-SHA256", "priority": 17},
|
{"name": "AES256-SHA256", "priority": 17},
|
||||||
{"name": "AES256-SHA", "priority": 18},
|
{"name": "AES256-SHA", "priority": 18},
|
||||||
],
|
],
|
||||||
|
"name": "ELBSecurityPolicy-2016-08",
|
||||||
|
"ssl_protocols": ["TLSv1", "TLSv1.1", "TLSv1.2"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ciphers": [
|
||||||
|
{"name": "TLS_AES_128_GCM_SHA256", "priority": 1},
|
||||||
|
{"name": "TLS_AES_256_GCM_SHA384", "priority": 2},
|
||||||
|
{"name": "TLS_CHACHA20_POLY1305_SHA256", "priority": 3},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 4},
|
||||||
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 5},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA256", "priority": 6},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA256", "priority": 7},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-GCM-SHA384", "priority": 8},
|
||||||
|
{"name": "ECDHE-RSA-AES256-GCM-SHA384", "priority": 9},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA384", "priority": 10},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA384", "priority": 11},
|
||||||
|
],
|
||||||
|
"name": "ELBSecurityPolicy-TLS13-1-2-2021-06",
|
||||||
|
"ssl_protocols": ["TLSv1.2", "TLSv1.3"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ciphers": [
|
||||||
|
{"name": "TLS_AES_128_GCM_SHA256", "priority": 1},
|
||||||
|
{"name": "TLS_AES_256_GCM_SHA384", "priority": 2},
|
||||||
|
{"name": "TLS_CHACHA20_POLY1305_SHA256", "priority": 3},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 4},
|
||||||
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 5},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-GCM-SHA384", "priority": 6},
|
||||||
|
{"name": "ECDHE-RSA-AES256-GCM-SHA384", "priority": 7},
|
||||||
|
],
|
||||||
|
"name": "ELBSecurityPolicy-TLS13-1-2-Res-2021-06",
|
||||||
|
"ssl_protocols": ["TLSv1.2", "TLSv1.3"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ciphers": [
|
||||||
|
{"name": "TLS_AES_128_GCM_SHA256", "priority": 1},
|
||||||
|
{"name": "TLS_AES_256_GCM_SHA384", "priority": 2},
|
||||||
|
{"name": "TLS_CHACHA20_POLY1305_SHA256", "priority": 3},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 4},
|
||||||
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 5},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA256", "priority": 6},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA256", "priority": 7},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-GCM-SHA384", "priority": 8},
|
||||||
|
{"name": "ECDHE-RSA-AES256-GCM-SHA384", "priority": 9},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA384", "priority": 10},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA384", "priority": 11},
|
||||||
|
{"name": "AES128-GCM-SHA256", "priority": 12},
|
||||||
|
{"name": "AES128-SHA256", "priority": 13},
|
||||||
|
{"name": "AES256-GCM-SHA384", "priority": 14},
|
||||||
|
{"name": "AES256-SHA256", "priority": 15},
|
||||||
|
],
|
||||||
|
"name": "ELBSecurityPolicy-TLS13-1-2-Ext1-2021-06",
|
||||||
|
"ssl_protocols": ["TLSv1.2", "TLSv1.3"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ciphers": [
|
||||||
|
{"name": "TLS_AES_128_GCM_SHA256", "priority": 1},
|
||||||
|
{"name": "TLS_AES_256_GCM_SHA384", "priority": 2},
|
||||||
|
{"name": "TLS_CHACHA20_POLY1305_SHA256", "priority": 3},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 4},
|
||||||
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 5},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA256", "priority": 6},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA256", "priority": 7},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA", "priority": 8},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA", "priority": 9},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-GCM-SHA384", "priority": 10},
|
||||||
|
{"name": "ECDHE-RSA-AES256-GCM-SHA384", "priority": 11},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA384", "priority": 12},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA384", "priority": 13},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA", "priority": 14},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA", "priority": 15},
|
||||||
|
{"name": "AES128-GCM-SHA256", "priority": 16},
|
||||||
|
{"name": "AES128-SHA256", "priority": 17},
|
||||||
|
{"name": "AES128-SHA", "priority": 18},
|
||||||
|
{"name": "AES256-GCM-SHA384", "priority": 19},
|
||||||
|
{"name": "AES256-SHA256", "priority": 20},
|
||||||
|
{"name": "AES256-SHA", "priority": 21},
|
||||||
|
],
|
||||||
|
"name": "ELBSecurityPolicy-TLS13-1-2-Ext2-2021-06",
|
||||||
|
"ssl_protocols": ["TLSv1.2", "TLSv1.3"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ciphers": [
|
||||||
|
{"name": "TLS_AES_128_GCM_SHA256", "priority": 1},
|
||||||
|
{"name": "TLS_AES_256_GCM_SHA384", "priority": 2},
|
||||||
|
{"name": "TLS_CHACHA20_POLY1305_SHA256", "priority": 3},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 4},
|
||||||
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 5},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA256", "priority": 6},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA256", "priority": 7},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA", "priority": 8},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA", "priority": 9},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-GCM-SHA384", "priority": 10},
|
||||||
|
{"name": "ECDHE-RSA-AES256-GCM-SHA384", "priority": 11},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA384", "priority": 12},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA384", "priority": 13},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA", "priority": 14},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA", "priority": 15},
|
||||||
|
{"name": "AES128-GCM-SHA256", "priority": 16},
|
||||||
|
{"name": "AES128-SHA256", "priority": 17},
|
||||||
|
{"name": "AES128-SHA", "priority": 18},
|
||||||
|
{"name": "AES256-GCM-SHA384", "priority": 19},
|
||||||
|
{"name": "AES256-SHA256", "priority": 20},
|
||||||
|
{"name": "AES256-SHA", "priority": 21},
|
||||||
|
],
|
||||||
|
"name": "ELBSecurityPolicy-TLS13-1-1-2021-06",
|
||||||
|
"ssl_protocols": ["TLSv1.1", "TLSv1.2", "TLSv1.3"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ciphers": [
|
||||||
|
{"name": "TLS_AES_128_GCM_SHA256", "priority": 1},
|
||||||
|
{"name": "TLS_AES_256_GCM_SHA384", "priority": 2},
|
||||||
|
{"name": "TLS_CHACHA20_POLY1305_SHA256", "priority": 3},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 4},
|
||||||
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 5},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA256", "priority": 6},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA256", "priority": 7},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA", "priority": 8},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA", "priority": 9},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-GCM-SHA384", "priority": 10},
|
||||||
|
{"name": "ECDHE-RSA-AES256-GCM-SHA384", "priority": 11},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA384", "priority": 12},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA384", "priority": 13},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA", "priority": 14},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA", "priority": 15},
|
||||||
|
{"name": "AES128-GCM-SHA256", "priority": 16},
|
||||||
|
{"name": "AES128-SHA256", "priority": 17},
|
||||||
|
{"name": "AES128-SHA", "priority": 18},
|
||||||
|
{"name": "AES256-GCM-SHA384", "priority": 19},
|
||||||
|
{"name": "AES256-SHA256", "priority": 20},
|
||||||
|
{"name": "AES256-SHA", "priority": 21},
|
||||||
|
],
|
||||||
|
"name": "ELBSecurityPolicy-TLS13-1-0-2021-06",
|
||||||
|
"ssl_protocols": ["TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ciphers": [
|
||||||
|
{"name": "TLS_AES_128_GCM_SHA256", "priority": 1},
|
||||||
|
{"name": "TLS_AES_256_GCM_SHA384", "priority": 2},
|
||||||
|
{"name": "TLS_CHACHA20_POLY1305_SHA256", "priority": 3},
|
||||||
|
],
|
||||||
|
"name": "ELBSecurityPolicy-TLS13-1-3-2021-06",
|
||||||
|
"ssl_protocols": ["TLSv1.3"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ELBSecurityPolicy-TLS-1-2-2017-01",
|
|
||||||
"ssl_protocols": ["TLSv1.2"],
|
|
||||||
"ciphers": [
|
"ciphers": [
|
||||||
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
||||||
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
||||||
@ -47,10 +186,34 @@ SSL_POLICIES = [
|
|||||||
{"name": "AES256-GCM-SHA384", "priority": 11},
|
{"name": "AES256-GCM-SHA384", "priority": 11},
|
||||||
{"name": "AES256-SHA256", "priority": 12},
|
{"name": "AES256-SHA256", "priority": 12},
|
||||||
],
|
],
|
||||||
|
"name": "ELBSecurityPolicy-TLS-1-2-2017-01",
|
||||||
|
"ssl_protocols": ["TLSv1.2"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"ciphers": [
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
||||||
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA256", "priority": 3},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA256", "priority": 4},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA", "priority": 5},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA", "priority": 6},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-GCM-SHA384", "priority": 7},
|
||||||
|
{"name": "ECDHE-RSA-AES256-GCM-SHA384", "priority": 8},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA384", "priority": 9},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA384", "priority": 10},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA", "priority": 11},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA", "priority": 12},
|
||||||
|
{"name": "AES128-GCM-SHA256", "priority": 13},
|
||||||
|
{"name": "AES128-SHA256", "priority": 14},
|
||||||
|
{"name": "AES128-SHA", "priority": 15},
|
||||||
|
{"name": "AES256-GCM-SHA384", "priority": 16},
|
||||||
|
{"name": "AES256-SHA256", "priority": 17},
|
||||||
|
{"name": "AES256-SHA", "priority": 18},
|
||||||
|
],
|
||||||
"name": "ELBSecurityPolicy-TLS-1-1-2017-01",
|
"name": "ELBSecurityPolicy-TLS-1-1-2017-01",
|
||||||
"ssl_protocols": ["TLSv1.1", "TLSv1.2"],
|
"ssl_protocols": ["TLSv1.1", "TLSv1.2"],
|
||||||
|
},
|
||||||
|
{
|
||||||
"ciphers": [
|
"ciphers": [
|
||||||
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
||||||
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
||||||
@ -71,34 +234,52 @@ SSL_POLICIES = [
|
|||||||
{"name": "AES256-SHA256", "priority": 17},
|
{"name": "AES256-SHA256", "priority": 17},
|
||||||
{"name": "AES256-SHA", "priority": 18},
|
{"name": "AES256-SHA", "priority": 18},
|
||||||
],
|
],
|
||||||
|
"name": "ELBSecurityPolicy-TLS-1-2-Ext-2018-06",
|
||||||
|
"ssl_protocols": ["TLSv1.2"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"ciphers": [
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
||||||
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA256", "priority": 3},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA256", "priority": 4},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA", "priority": 5},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA", "priority": 6},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-GCM-SHA384", "priority": 7},
|
||||||
|
{"name": "ECDHE-RSA-AES256-GCM-SHA384", "priority": 8},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA384", "priority": 9},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA384", "priority": 10},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA", "priority": 11},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA", "priority": 12},
|
||||||
|
],
|
||||||
|
"name": "ELBSecurityPolicy-FS-2018-06",
|
||||||
|
"ssl_protocols": ["TLSv1", "TLSv1.1", "TLSv1.2"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ciphers": [
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
||||||
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA256", "priority": 3},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA256", "priority": 4},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA", "priority": 5},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA", "priority": 6},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-GCM-SHA384", "priority": 7},
|
||||||
|
{"name": "ECDHE-RSA-AES256-GCM-SHA384", "priority": 8},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA384", "priority": 9},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA384", "priority": 10},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA", "priority": 11},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA", "priority": 12},
|
||||||
|
{"name": "AES128-GCM-SHA256", "priority": 13},
|
||||||
|
{"name": "AES128-SHA256", "priority": 14},
|
||||||
|
{"name": "AES128-SHA", "priority": 15},
|
||||||
|
{"name": "AES256-GCM-SHA384", "priority": 16},
|
||||||
|
{"name": "AES256-SHA256", "priority": 17},
|
||||||
|
{"name": "AES256-SHA", "priority": 18},
|
||||||
|
],
|
||||||
"name": "ELBSecurityPolicy-2015-05",
|
"name": "ELBSecurityPolicy-2015-05",
|
||||||
"ssl_protocols": ["TLSv1", "TLSv1.1", "TLSv1.2"],
|
"ssl_protocols": ["TLSv1", "TLSv1.1", "TLSv1.2"],
|
||||||
"ciphers": [
|
|
||||||
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
|
||||||
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
|
||||||
{"name": "ECDHE-ECDSA-AES128-SHA256", "priority": 3},
|
|
||||||
{"name": "ECDHE-RSA-AES128-SHA256", "priority": 4},
|
|
||||||
{"name": "ECDHE-ECDSA-AES128-SHA", "priority": 5},
|
|
||||||
{"name": "ECDHE-RSA-AES128-SHA", "priority": 6},
|
|
||||||
{"name": "ECDHE-ECDSA-AES256-GCM-SHA384", "priority": 7},
|
|
||||||
{"name": "ECDHE-RSA-AES256-GCM-SHA384", "priority": 8},
|
|
||||||
{"name": "ECDHE-ECDSA-AES256-SHA384", "priority": 9},
|
|
||||||
{"name": "ECDHE-RSA-AES256-SHA384", "priority": 10},
|
|
||||||
{"name": "ECDHE-RSA-AES256-SHA", "priority": 11},
|
|
||||||
{"name": "ECDHE-ECDSA-AES256-SHA", "priority": 12},
|
|
||||||
{"name": "AES128-GCM-SHA256", "priority": 13},
|
|
||||||
{"name": "AES128-SHA256", "priority": 14},
|
|
||||||
{"name": "AES128-SHA", "priority": 15},
|
|
||||||
{"name": "AES256-GCM-SHA384", "priority": 16},
|
|
||||||
{"name": "AES256-SHA256", "priority": 17},
|
|
||||||
{"name": "AES256-SHA", "priority": 18},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ELBSecurityPolicy-TLS-1-0-2015-04",
|
|
||||||
"ssl_protocols": ["TLSv1", "TLSv1.1", "TLSv1.2"],
|
|
||||||
"ciphers": [
|
"ciphers": [
|
||||||
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
||||||
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
||||||
@ -120,33 +301,68 @@ SSL_POLICIES = [
|
|||||||
{"name": "AES256-SHA", "priority": 18},
|
{"name": "AES256-SHA", "priority": 18},
|
||||||
{"name": "DES-CBC3-SHA", "priority": 19},
|
{"name": "DES-CBC3-SHA", "priority": 19},
|
||||||
],
|
],
|
||||||
|
"name": "ELBSecurityPolicy-TLS-1-0-2015-04",
|
||||||
|
"ssl_protocols": ["TLSv1", "TLSv1.1", "TLSv1.2"],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ELBSecurityPolicy-FS-1-2-Res-2020-10",
|
"ciphers": [
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
||||||
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA256", "priority": 3},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA256", "priority": 4},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-GCM-SHA384", "priority": 5},
|
||||||
|
{"name": "ECDHE-RSA-AES256-GCM-SHA384", "priority": 6},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA384", "priority": 7},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA384", "priority": 8},
|
||||||
|
],
|
||||||
|
"name": "ELBSecurityPolicy-FS-1-2-Res-2019-08",
|
||||||
"ssl_protocols": ["TLSv1.2"],
|
"ssl_protocols": ["TLSv1.2"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ciphers": [
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
||||||
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA256", "priority": 3},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA256", "priority": 4},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA", "priority": 5},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA", "priority": 6},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-GCM-SHA384", "priority": 7},
|
||||||
|
{"name": "ECDHE-RSA-AES256-GCM-SHA384", "priority": 8},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA384", "priority": 9},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA384", "priority": 10},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA", "priority": 11},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA", "priority": 12},
|
||||||
|
],
|
||||||
|
"name": "ELBSecurityPolicy-FS-1-1-2019-08",
|
||||||
|
"ssl_protocols": ["TLSv1.1", "TLSv1.2"],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ciphers": [
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
||||||
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA256", "priority": 3},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA256", "priority": 4},
|
||||||
|
{"name": "ECDHE-ECDSA-AES128-SHA", "priority": 5},
|
||||||
|
{"name": "ECDHE-RSA-AES128-SHA", "priority": 6},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-GCM-SHA384", "priority": 7},
|
||||||
|
{"name": "ECDHE-RSA-AES256-GCM-SHA384", "priority": 8},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA384", "priority": 9},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA384", "priority": 10},
|
||||||
|
{"name": "ECDHE-RSA-AES256-SHA", "priority": 11},
|
||||||
|
{"name": "ECDHE-ECDSA-AES256-SHA", "priority": 12},
|
||||||
|
],
|
||||||
|
"name": "ELBSecurityPolicy-FS-1-2-2019-08",
|
||||||
|
"ssl_protocols": ["TLSv1.2"],
|
||||||
|
},
|
||||||
|
{
|
||||||
"ciphers": [
|
"ciphers": [
|
||||||
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 1},
|
||||||
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 2},
|
||||||
{"name": "ECDHE-ECDSA-AES256-GCM-SHA384", "priority": 3},
|
{"name": "ECDHE-ECDSA-AES256-GCM-SHA384", "priority": 3},
|
||||||
{"name": "ECDHE-RSA-AES256-GCM-SHA384", "priority": 4},
|
{"name": "ECDHE-RSA-AES256-GCM-SHA384", "priority": 4},
|
||||||
],
|
],
|
||||||
},
|
"name": "ELBSecurityPolicy-FS-1-2-Res-2020-10",
|
||||||
{
|
"ssl_protocols": ["TLSv1.2"],
|
||||||
"name": "ELBSecurityPolicy-TLS13-1-2-2021-06",
|
|
||||||
"ssl_protocols": ["TLSv1.2", "TLSv1.3"],
|
|
||||||
"ciphers": [
|
|
||||||
{"name": "TLS_AES_128_GCM_SHA256", "priority": 1},
|
|
||||||
{"name": "TLS_AES_256_GCM_SHA384", "priority": 2},
|
|
||||||
{"name": "TLS_CHACHA20_POLY1305_SHA256", "priority": 3},
|
|
||||||
{"name": "ECDHE-ECDSA-AES128-GCM-SHA256", "priority": 4},
|
|
||||||
{"name": "ECDHE-RSA-AES128-GCM-SHA256", "priority": 5},
|
|
||||||
{"name": "ECDHE-ECDSA-AES128-SHA256", "priority": 6},
|
|
||||||
{"name": "ECDHE-RSA-AES128-SHA256", "priority": 7},
|
|
||||||
{"name": "ECDHE-ECDSA-AES256-GCM-SHA384", "priority": 8},
|
|
||||||
{"name": "ECDHE-RSA-AES256-GCM-SHA384", "priority": 9},
|
|
||||||
{"name": "ECDHE-ECDSA-AES256-SHA384", "priority": 10},
|
|
||||||
{"name": "ECDHE-RSA-AES256-SHA384", "priority": 11},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
41
scripts/update_ssl_policies.py
Executable file
41
scripts/update_ssl_policies.py
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
import json
|
||||||
|
|
||||||
|
import boto3
|
||||||
|
import re
|
||||||
|
|
||||||
|
CAMEL_CASE_PATTERN = re.compile(r"(?<!^)(?=[A-Z])")
|
||||||
|
|
||||||
|
KEY_BLACKLIST = ["SupportedLoadBalancerTypes"]
|
||||||
|
|
||||||
|
def camel_case_to_snake_case(name: str):
|
||||||
|
return CAMEL_CASE_PATTERN.sub("_", name).lower()
|
||||||
|
|
||||||
|
|
||||||
|
def get_ssl_elb_ssl_policies():
|
||||||
|
elbv2_client = boto3.client("elbv2")
|
||||||
|
return elbv2_client.describe_ssl_policies()["SslPolicies"]
|
||||||
|
|
||||||
|
|
||||||
|
def transform_policies(ssl_policies: dict):
|
||||||
|
if isinstance(ssl_policies, list):
|
||||||
|
return [transform_policies(item) for item in ssl_policies]
|
||||||
|
if not isinstance(ssl_policies, dict):
|
||||||
|
return ssl_policies
|
||||||
|
result = {}
|
||||||
|
for key, value in sorted(ssl_policies.items()):
|
||||||
|
if key in KEY_BLACKLIST:
|
||||||
|
continue
|
||||||
|
new_key = camel_case_to_snake_case(key)
|
||||||
|
result[new_key] = transform_policies(value)
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
policies = get_ssl_elb_ssl_policies()
|
||||||
|
transformed_policies = transform_policies(policies)
|
||||||
|
print(json.dumps(transformed_policies, indent=4))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
@ -1120,7 +1120,7 @@ def test_describe_ssl_policies():
|
|||||||
client = boto3.client("elbv2", region_name="eu-central-1")
|
client = boto3.client("elbv2", region_name="eu-central-1")
|
||||||
|
|
||||||
resp = client.describe_ssl_policies()
|
resp = client.describe_ssl_policies()
|
||||||
assert len(resp["SslPolicies"]) == 7
|
assert len(resp["SslPolicies"]) > 0
|
||||||
|
|
||||||
resp = client.describe_ssl_policies(
|
resp = client.describe_ssl_policies(
|
||||||
Names=["ELBSecurityPolicy-TLS-1-2-2017-01", "ELBSecurityPolicy-2016-08"]
|
Names=["ELBSecurityPolicy-TLS-1-2-2017-01", "ELBSecurityPolicy-2016-08"]
|
||||||
|
Loading…
Reference in New Issue
Block a user