Sécuriser votre application avec TLS minimal (environnement standard)

Pour renforcer la sécurité, App Engine active automatiquement TLS version 1.2 et ultérieure, avec les suites de chiffrement compatibles, pour votre application. Il peut également bloquer définitivement le trafic non sécurisé avec TLS version 1.1 et antérieure. Pour les domaines appspot.com, ce blocage se produit au niveau de la connexion. Pour les domaines personnalisés, la connexion peut aboutir, mais les requêtes sont bloquées.

Si votre projet est définitivement bloqué et ne peut plus utiliser TLS version 1.1 ni les versions antérieures, et que vous avez besoin de plus de temps pour passer à TLS version 1.2 ou ultérieure, contactez l'assistance.

Par défaut, pour les nouvelles applications, App Engine n'autorise que le trafic sécurisé avec TLS version 1.2 et ultérieure, avec les suites de chiffrement compatibles. Si votre application ne nécessite que la version 1.2 ou ultérieure de TLS avec les suites de chiffrement compatibles par défaut, vous n'avez pas besoin de configurer un équilibreur de charge d'application externe global pour acheminer les requêtes. Toutefois, si vous devez prendre en charge un autre ensemble de suites de chiffrement ou si vous avez besoin d'un refus au niveau de la connexion (handshake) des versions TLS non sécurisées pour les domaines personnalisés, configurez un équilibreur de charge d'application externe global.

Versions TLS et suites de chiffrement compatibles

La sécurité des connexions TLS dépend de la suite de chiffrement négociée, qui est une combinaison d'algorithmes cryptographiques. Ces suites de chiffrement sont identifiées par des valeurs IANA, comme indiqué dans le tableau suivant :

Version TLS Valeur IANA Suite de chiffrement
TLS v1.3 0x1301 TLS_AES_128_GCM_SHA256
0x1302 TLS_AES_256_GCM_SHA384
0x1303 TLS_CHACHA20_POLY1305_SHA256
TLS v1.2 0xCCA9 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
0xCCA8 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
0xC02B TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
0xC02F TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
0xC02C TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
0xC030 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
0xC009 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
0xC013 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
0xC00A TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
0xC014 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

Si vous devez utiliser une suite de chiffrement différente ou moins restrictive, nous vous recommandons d'utiliser un équilibreur de charge d'application externe global. Pour en savoir plus, consultez les pages Configurer un équilibreur de charge d'application classique avec App Engine et Règles SSL pour les protocoles SSL et TLS dans la documentation Cloud Load Balancing.

Mettre à jour les versions TLS autorisées pour votre application

App Engine peut bloquer définitivement le trafic non sécurisé avec la version 1.1 de TLS et les versions antérieures. Pour les projets dans lesquels les anciennes versions de TLS ont été bloquées de manière permanente, vous ne pouvez pas utiliser les paramètres suivants pour passer à une ancienne version de TLS. Si votre projet nécessite des versions TLS plus anciennes, contactez l'assistance.

Lorsque vous créez ou mettez à jour votre application, utilisez l'option --ssl-policy pour spécifier la version TLS minimale autorisée.

Pour définir une version TLS minimale lors de la création de votre application :

gcloud app create --ssl-policy=TLS_VERSION

Pour définir une version TLS minimale lorsque vous mettez à jour votre application :

gcloud app update --ssl-policy=TLS_VERSION

Remplacez TLS_VERSION par TLS_VERSION_1_2. Cela n'autorise que TLS version 1.2 et ultérieure, avec des suites de chiffrement modernes.

Désactiver les versions et algorithmes de chiffrement TLS personnalisés

Si vous utilisez Cloud Load Balancing et des NEG sans serveur pour acheminer le trafic vers votre application App Engine, vous pouvez restreindre davantage les versions ou les algorithmes de chiffrement TLS en définissant une règle de sécurité SSL sur votre équilibreur de charge.

Étapes suivantes