NGINX et NGINX Plus fournissent un certain nombre de fonctionnalités qui lui permettent de gérer la plupart des exigences SSL/TLS. Ils utilisent OpenSSL et la puissance des puces de processeur standard pour fournir des performances SSL/TLS rentables. À mesure que la puissance des puces de processeur standard continue d’augmenter et que les fournisseurs de puces ajoutent la prise en charge de l’accélération cryptographique, l’avantage de coût de l’utilisation de puces de processeur standard par rapport aux puces SSL/TLS spécialisées continue également de s’élargir.
Il existe trois principaux cas d’utilisation pour NGINX et NGINX Plus avec SSL/TLS.
Lorsque NGINX est utilisé comme proxy, il peut décharger le traitement de décryptage SSL des serveurs back-end. Le décryptage au niveau du proxy présente de nombreux avantages :
Pour plus de détails, consultez la section Terminaison SSL NGINX dans le Guide d'administration NGINX Plus.
Il peut arriver que vous ayez besoin de NGINX pour crypter le trafic qu'il envoie aux serveurs back-end. Ces requêtes peuvent arriver au serveur NGINX sous forme de texte brut ou sous forme de trafic chiffré que NGINX doit déchiffrer afin de prendre une décision de routage. L'utilisation d'un pool de connexions keepalive aux serveurs backend minimise le nombre de connexions SSL/TLS et maximise ainsi les performances SSL/TLS. Cela se fait très simplement en configurant NGINX pour qu'il utilise un proxy sur « https » afin qu'il crypte automatiquement le trafic qui n'est pas déjà crypté.
Étant donné que NGINX peut effectuer à la fois le déchiffrement et le chiffrement, vous pouvez obtenir un chiffrement de bout en bout de toutes les requêtes, NGINX prenant toujours les décisions de routage de couche 7. Dans ce cas, les clients communiquent avec NGINX via HTTPS, et il décrypte les requêtes puis les recrypte avant de les envoyer aux serveurs backend. Cela peut être souhaitable lorsque le serveur proxy n'est pas colocalisé dans un centre de données avec les serveurs principaux. Alors que de plus en plus de serveurs sont déplacés vers le cloud, il devient de plus en plus nécessaire d'utiliser HTTPS entre un proxy et les serveurs back-end.
NGINX peut gérer les certificats clients SSL/TLS et peut être configuré pour les rendre facultatifs ou obligatoires . Les certificats clients sont un moyen de restreindre l'accès à vos systèmes aux seuls clients pré-approuvés sans nécessiter de mot de passe, et vous pouvez contrôler les certificats en ajoutant des certificats révoqués à une liste de révocation de certificats (CRL), que NGINX vérifie pour déterminer si un certificat client est toujours valide.
Il existe un certain nombre d'autres fonctionnalités qui aident à prendre en charge ces cas d'utilisation, notamment (mais sans s'y limiter) les suivantes :
Pour plus de détails, consultez ces ressources :
Voici quelques exemples de fonctionnalités de sécurité de NGINX. Ces exemples supposent une compréhension de base de la configuration NGINX.
La configuration suivante gère le trafic HTTP pour www.example.com et le transmet à un groupe en amont :
backends en amont {
serveur 192.168.100.100:80;
serveur 192.168.100.101:80;
}
serveur {
écoute 80;
nom_serveur www.exemple.com;
emplacement / {
pass_proxy http://backends;
}
}
Ajoutez maintenant la prise en charge HTTPS, afin que NGINX déchiffre le trafic à l'aide du certificat et de la clé privée et communique avec les serveurs back-end via HTTP :
backends en amont { server 192.168.100.100:80; server 192.168.100.101:80; } server { listen 80; listen 443 ssl ; # Le paramètre 'ssl' indique à NGINX de décrypter le trafic server_name www.example.com; ssl_certificate www.example.com.crt ; # Le fichier de certificat ssl_certificate_key www.example.com.key ; # L'emplacement du fichier de clé privée / { proxy_pass http://backends; } }
Ou si vous recevez plutôt du trafic via HTTP et l'envoyez aux serveurs backend via HTTPS :
backends en amont { serveur 192.168.100.100:443; serveur 192.168.100.101:443; } serveur { écoute 80; nom_serveur www.exemple.com; emplacement / { proxy_pass https ://backends; # Le préfixe 'https' indique à NGINX de crypter le trafic } }
Pour essayer NGINX Plus, démarrez votre essai gratuit de 30 jours dès aujourd'hui ou contactez-nous pour discuter de vos cas d'utilisation.
« Cet article de blog peut faire référence à des produits qui ne sont plus disponibles et/ou qui ne sont plus pris en charge. Pour obtenir les informations les plus récentes sur les produits et solutions F5 NGINX disponibles, explorez notre famille de produits NGINX . NGINX fait désormais partie de F5. Tous les liens NGINX.com précédents redirigeront vers un contenu NGINX similaire sur F5.com."