Overzicht van SSL-beëindiging en end-to-end SSL met Application GatewayOverview of SSL termination and end to end SSL with Application Gateway

Secure Sockets Layer (SSL) is de standaard beveiligings technologie voor het tot stand brengen van een versleutelde koppeling tussen een webserver en een browser.Secure Sockets Layer (SSL) is the standard security technology for establishing an encrypted link between a web server and a browser. Deze koppeling zorgt ervoor dat alle gegevens die tussen de webserver en de browsers worden door gegeven, privé en versleuteld blijven.This link ensures that all data passed between the web server and browsers remain private and encrypted. Application Gateway ondersteunt zowel SSL-beëindiging op de gateway als end-to-end SSL-versleuteling.Application gateway supports both SSL termination at the gateway as well as end to end SSL encryption.

SSL-beëindigingSSL termination

Application Gateway ondersteunt SSL-beëindiging op de gateway, waarna het verkeer normaal gesproken onversleuteld naar de back-endservers wordt doorgeleid.Application Gateway supports SSL termination at the gateway, after which traffic typically flows unencrypted to the backend servers. Er zijn een aantal voor delen van het uitvoeren van SSL-beëindiging op de Application Gateway:There are a number of advantages of doing SSL termination at the application gateway:

  • Verbeterde prestaties : de grootste prestaties bij het uitvoeren van SSL-ontsleuteling is de initiële handshake.Improved performance – The biggest performance hit when doing SSL decryption is the initial handshake. Om de prestaties te verbeteren, voert de server die de ontsleuteling uitvoert SSL-sessie-Id's uit en beheert TLS-sessie tickets.To improve performance, the server doing the decryption caches SSL session IDs and manages TLS session tickets. Als dit gebeurt in de toepassings gateway, kunnen alle aanvragen van dezelfde client de in de cache opgeslagen waarden gebruiken.If this is done at the application gateway, all requests from the same client can use the cached values. Als de server op de back-endservers wordt uitgevoerd, gaat de client telkens wanneer de aanvragen van de client naar een andere servers worden geverifieerd.If it’s done on the backend servers, then each time the client’s requests go to a different server the client has to re‑authenticate. Het gebruik van TLS-tickets kan helpen om dit probleem te verhelpen, maar ze worden niet door alle clients ondersteund en kunnen lastig zijn om te configureren en te beheren.The use of TLS tickets can help mitigate this issue, but they are not supported by all clients and can be difficult to configure and manage.
  • Verbeterd gebruik van de back-endservers – SSL/TLS-verwerking is zeer CPU-intensief, en wordt veel meer intensief naarmate de sleutel grootten toenemen.Better utilization of the backend servers – SSL/TLS processing is very CPU intensive, and is becoming more intensive as key sizes increase. Door dit werk van de back-endservers te verwijderen, kunnen ze zich richten op wat ze het meest efficiënt zijn om inhoud te leveren.Removing this work from the backend servers allows them to focus on what they are most efficient at, delivering content.
  • Intelligente route ring : door het verkeer te ontsleutelen, heeft de Application Gateway toegang tot de aanvraag inhoud, zoals HEADERS, URI, enzovoort, en kan deze gegevens gebruiken om aanvragen te routeren.Intelligent routing – By decrypting the traffic, the application gateway has access to the request content, such as headers, URI, and so on, and can use this data to route requests.
  • Certificaat beheer : certificaten hoeven alleen te worden aangeschaft en geïnstalleerd op de toepassings gateway en niet op alle back-endservers.Certificate management – Certificates only need to be purchased and installed on the application gateway and not all backend servers. Dit bespaart tijd en geld.This saves both time and money.

Als u SSL-beëindiging wilt configureren, moet u een SSL-certificaat toevoegen aan de listener om de toepassings gateway in te scha kelen voor het afleiden van een symmetrische sleutel volgens SSL-protocol specificatie.To configure SSL termination, an SSL certificate is required to be added to the listener to enable the application gateway to derive a symmetric key as per SSL protocol specification. De symmetrische sleutel wordt vervolgens gebruikt voor het versleutelen en ontsleutelen van het verkeer dat naar de gateway wordt verzonden.The symmetric key is then used to encrypt and decrypt the traffic sent to the gateway. Het SSL-certificaat moet de PFX-indeling (Personal Information Exchange) hebben.The SSL certificate needs to be in Personal Information Exchange (PFX) format. Met deze bestands indeling kunt u de persoonlijke sleutel exporteren die is vereist voor de toepassings gateway om de versleuteling en ontsleuteling van verkeer uit te voeren.This file format allows you to export the private key that is required by the application gateway to perform the encryption and decryption of traffic.

Notitie

Application Gateway biedt geen mogelijkheid voor het maken van een nieuw certificaat of het verzenden van een certificaat aanvraag naar een certificerings instantie.Application gateway does not provide any capability to create a new certificate or send a certificate request to a certification authority.

Voor een goede werking van de SSL-verbinding moet u controleren of het SSL-certificaat voldoet aan de volgende voor waarden:For the SSL connection to work, you need to ensure that the SSL certificate meets the following conditions:

  • Of de huidige datum en tijd binnen het datum bereik geldig van en geldig tot zijn voor het certificaat.That the current date and time is within the "Valid from" and "Valid to" date range on the certificate.
  • De algemene naam (CN) van het certificaat komt overeen met de host-header in de aanvraag.That the certificate's "Common Name" (CN) matches the host header in the request. Als de client bijvoorbeeld een aanvraag indient bij https://www.contoso.com/, moet de algemene naam www.contoso.com zijn.For example, if the client is making a request to https://www.contoso.com/, then the CN must be www.contoso.com.

Certificaten die worden ondersteund voor SSL-beëindigingCertificates supported for SSL termination

Application Gateway ondersteunt de volgende typen certificaten:Application gateway supports the following types of certificates:

  • CA-certificaat (certificerings instantie): Een CA-certificaat is een digitaal certificaat dat is uitgegeven door een certificerings instantie (CA)CA (Certificate Authority) certificate: A CA certificate is a digital certificate issued by a certificate authority (CA)
  • EV-certificaat (Extended validatie): Een EV-certificaat is een industrie standaard certificaat richtlijnen.EV (Extended Validation) certificate: An EV certificate is an industry standard certificate guidelines. Hiermee wordt de browser-Locator-balk groen en wordt de bedrijfs naam ook gepubliceerd.This will turn the browser locator bar green and publish company name as well.
  • Joker certificaat: Dit certificaat ondersteunt een wille keurig aantal subdomeinen op basis van *. site.com, waarbij uw subdomein de * vervangen.Wildcard Certificate: This certificate supports any number of subdomains based on *.site.com, where your subdomain would replace the *. Het biedt echter geen ondersteuning voor site.com, dus als de gebruikers toegang hebben tot uw website zonder de toonaangevende ' www ' te hoeven typen, heeft het Joker certificaat hier geen betrekking op.It doesn’t, however, support site.com, so in case the users are accessing your website without typing the leading "www", the wildcard certificate will not cover that.
  • Zelfondertekende certificaten: Client browsers vertrouwen deze certificaten niet en de gebruiker wordt gewaarschuwd dat het certificaat van de virtuele service geen deel uitmaakt van een vertrouwens keten.Self-Signed certificates: Client browsers do not trust these certificates and will warn the user that the virtual service’s certificate is not part of a trust chain. Zelfondertekende certificaten zijn geschikt voor testen of omgevingen waarin beheerders de clients beheren en de beveiligings waarschuwingen van de browser veilig kunnen passeren.Self-signed certificates are good for testing or environments where administrators control the clients and can safely bypass the browser’s security alerts. Werk belastingen voor productie moeten nooit zelfondertekende certificaten gebruiken.Production workloads should never use self-signed certificates.

Zie voor meer informatie SSL-beëindiging configureren met Application Gateway.For more information, see configure SSL termination with application gateway.

Grootte van het certificaatSize of the certificate

Controleer de sectie limieten van Application Gateway om de maximale grootte van SSL-certificaten te bepalen die wordt ondersteund.Check the Application Gateway limits section to know the maximum SSL certificate size supported.

End-to-end SSL-versleutelingEnd to end SSL encryption

Sommige klanten willen mogelijk niet-versleutelde communicatie met de back-endservers.Some customers may not desire unencrypted communication to the backend servers. Dit kan komen door de beveiligings- of nalevingsvereisten, of misschien kan de toepassing alleen worden gebruikt via een beveiligde verbinding.This could be due to security requirements, compliance requirements, or the application may only accept a secure connection. Voor zulke toepassingen ondersteunt Application Gateway end-to-end SSL-versleuteling.For such applications, application gateway supports end to end SSL encryption.

Met end-to-end SSL kunt u veilig gevoelige gegevens versleuteld verzenden naar de back-endserver, terwijl u gebruik blijft maken van de voordelen van de Layer 7-taakverdelingsfuncties die Application Gateway te bieden heeft.End to end SSL allows you to securely transmit sensitive data to the backend encrypted while still taking advantage of the benefits of Layer 7 load-balancing features which application gateway provides. Voorbeelden van deze functies zijn: sessieaffiniteit op basis van cookies, routering op basis van een URL, ondersteuning voor routering op basis van sites en de mogelijkheid om X-Forwarded-*-headers in te voegen.Some of these features are cookie-based session affinity, URL-based routing, support for routing based on sites, or ability to inject X-Forwarded-* headers.

Wanneer Application Gateway is geconfigureerd met de communicatiemodus voor end-to-end SSL, worden door Application Gateway de SSL-sessies op de gateway beëindigd en wordt het gebruikersverkeer ontsleuteld.When configured with end to end SSL communication mode, application gateway terminates the SSL sessions at the gateway and decrypts user traffic. Vervolgens worden de geconfigureerde regels toegepast voor het selecteren van het juiste exemplaar van de back-endgroep waarnaar het verkeer moet worden doorgeleid.It then applies the configured rules to select an appropriate backend pool instance to route traffic to. Application Gateway initieert vervolgens een nieuwe SSL-verbinding met de back-endserver en versleutelt de gegevens opnieuw met het openbare-sleutelcertificaat van de back-endserver, voordat de aanvraag naar de back-endserver wordt verstuurd.Application gateway then initiates a new SSL connection to the backend server and re-encrypts data using the backend server's public key certificate before transmitting the request to the backend. Reacties van de webserver ondergaan hetzelfde proces terug naar de eindgebruiker.Any response from the web server goes through the same process back to the end user. End-to-end SSL wordt ingeschakeld door de protocol instelling in de back-end-HTTP-instelling in te stellen op https, die vervolgens wordt toegepast op een back-end-groep.End to end SSL is enabled by setting protocol setting in Backend HTTP Setting to HTTPS, which is then applied to a backend pool.

Het SSL-beleid is van toepassing op zowel frontend-als back-end-verkeer.The SSL policy applies to both frontend and backend traffic. Op de front-end Application Gateway fungeren als de server en wordt het beleid afgedwongen.On the front end, Application Gateway acts as the server and enforces the policy. Op de backend fungeert Application Gateway als de client en verzendt de protocol/cipher-informatie als voor keur tijdens de SSL-handshake.On the backend, Application Gateway acts as the client and sends the protocol/cipher information as the preference during the SSL handshake.

Application Gateway communiceert alleen met de back-end-exemplaren die hun certificaat hebben white list met de toepassings gateway of waarvan de certificaten zijn ondertekend door bekende CA-instanties waarbij de certificaat-CN overeenkomt met de hostnaam in de HTTP back-end-instellingen.Application gateway only communicates with those backend instances that have either whitelisted their certificate with the application gateway or whose certificates are signed by well known CA authorities where the certificate CN matches the host name in the HTTP backend settings. Dit zijn onder andere de vertrouwde Azure-Services, zoals Azure-app service-Web-apps en Azure API Management.These include the trusted Azure services such as Azure App service web apps and Azure API Management.

Als de certificaten van de leden in de back-end-groep niet zijn ondertekend met bekende CA-instanties, moet elke instantie in de back-end-groep met end-to-end SSL ingeschakeld zijn geconfigureerd met een certificaat om beveiligde communicatie toe te staan.If the certificates of the members in the backend pool are not signed by well known CA authorities, then each instance in the backend pool with end to end SSL enabled must be configured with a certificate to allow secure communication. Door het certificaat toe te voegen, zorgt u ervoor dat de Application Gateway alleen communiceert met bekende back-end-exemplaren.Adding the certificate ensures that the application gateway only communicates with known back-end instances. Hiermee wordt de end-to-end-communicatie verder beveiligd.This further secures the end-to-end communication.

Notitie

De installatie van het verificatie certificaat is niet vereist voor vertrouwde Azure-Services, zoals Azure-app Services Web apps en Azure API Management.Authentication certificate setup is not required for trusted Azure services such as Azure App service web apps and Azure API Management.

Notitie

Het certificaat dat is toegevoegd aan de back-end-HTTP-instelling voor authenticatie van de back-end-servers, kan hetzelfde zijn als het certificaat dat aan de listener is toegevoegd voor SSL-beëindiging op Application Gateway of op een andere manier voor verbeterde beveiliging.The certificate added to Backend HTTP Setting to authenticate the backend servers can be the same as the certificate added to the listener for SSL termination at application gateway or different for enhanced security.

end-to-end SSL-scenario

In dit voorbeeld worden-aanvragen via TLS1.2 doorgestuurd naar de back-endservers in Pool1 met behulp van end-to-end SSL.In this example, requests using TLS1.2 are routed to backend servers in Pool1 using end to end SSL.

End-to-end SSL en het opnemen van certificaten in een lijst van toegestane certificatenEnd to end SSL and whitelisting of certificates

Application Gateway communiceert alleen met bekende back-endexemplaren waarvan het certificaat is opgenomen in een lijst van toegestane certificaten voor de Application Gateway.Application gateway only communicates with known backend instances that have whitelisted their certificate with the application gateway. Als u het opnemen van certificaten in een lijst van toegestane certificaten wilt inschakelen, moet u de openbare sleutel van de back-endservercertificaten uploaden naar de Application Gateway (niet het basiscertificaat).To enable whitelisting of certificates, you must upload the public key of backend server certificates to the application gateway (not the root certificate). Alleen verbindingen met bekende en goedgekeurde back-ends zijn vervolgens toegestaan.Only connections to known and whitelisted backends are then allowed. De resterende back-ends hebben een gatewayfout als resultaat.The remaining backends results in a gateway error. Zelfondertekende certificaten zijn uitsluitend bedoeld voor testdoeleinden en het wordt afgeraden om deze in een productieomgeving te gebruiken.Self-signed certificates are for test purposes only and not recommended for production workloads. Dergelijke certificaten moeten worden white list met de Application Gateway, zoals beschreven in de voor gaande stappen voordat ze kunnen worden gebruikt.Such certificates must be whitelisted with the application gateway as described in the preceding steps before they can be used.

Notitie

De installatie van het verificatie certificaat is niet vereist voor vertrouwde Azure-Services, zoals Azure App Service.Authentication certificate setup is not required for trusted Azure services such as Azure App Service.

End-to-end-SSL met de v2-SKUEnd to end SSL with the v2 SKU

Verificatie certificaten zijn afgeschaft en vervangen door vertrouwde basis certificaten in de Application Gateway v2-SKU.Authentication Certificates have been deprecated and replaced by Trusted Root Certificates in the Application Gateway v2 SKU. Ze werken op dezelfde manier als verificatie certificaten met enkele belang rijke verschillen:They function similarly to Authentication Certificates with a few key differences:

  • Voor certificaten die zijn ondertekend door bekende CA-instanties waarvan de naam overeenkomt met de hostnaam in de HTTP-back-end-instellingen, is geen extra stap vereist voor end-to-end-SSL om te werken.Certificates signed by well known CA authorities whose CN matches the host name in the HTTP backend settings do not require any additional step for end to end SSL to work.

    Als de back-end-certificaten bijvoorbeeld zijn uitgegeven door een bekende CA en een CN van contoso.com hebben en het veld host van de back-end-http-instelling ook is ingesteld op contoso.com, zijn er geen aanvullende stappen vereist.For example, if the backend certificates are issued by a well known CA and has a CN of contoso.com, and the backend http setting’s host field is also set to contoso.com, then no additional steps are required. U kunt het http-instellings Protocol van de back-end instellen op HTTPS en zowel voor de status test als voor het gegevenspad is SSL ingeschakeld.You can set the backend http setting protocol to HTTPS and both the health probe and data path would be SSL enabled. Als u Azure App Service of andere Azure-webservices als uw back-end gebruikt, worden deze impliciet vertrouwd en zijn er geen verdere stappen vereist voor end-to-end SSL.If you're using Azure App Service or other Azure web services as your backend, then these are implicitly trusted as well and no further steps are required for end to end SSL.

Notitie

Een SSL-certificaat kan alleen worden vertrouwd als het certificaat van de back-endserver is uitgegeven door een CA die is opgenomen in het vertrouwde archief van de Application Gateway. als het certificaat niet is uitgegeven door een vertrouwde certificerings instantie, wordt de Application Gateway vervolgens gecontroleerd om te controleren of het certificaat van de verlenende CA is uitgegeven door een vertrouwde certificerings instantie, enzovoort, totdat een vertrouwde CERTIFICERINGs instantie wordt gevonden (op welk moment een vertrouwde, beveiligde verbinding wordt ingesteld) of geen vertrouwde certificerings instantie kan worden gevonden (op welk punt bevindt het Application Gateway de back-end te markeren slecht).In order for an SSL certificate to be trusted, that certificate of the backend server must have been issued by a CA that is included in the trusted store of the Application Gateway.If the certificate was not issued by a trusted CA, the Application Gateway will then check to see if the certificate of the issuing CA was issued by a trusted CA, and so on until either a trusted CA is found (at which point a trusted, secure connection will be established) or no trusted CA can be found (at which point the Application Gateway will mark the backend unhealthy). Daarom wordt aanbevolen het back-endserver certificaat zowel de root-als de intermidiate-certificerings instantie te bevatten.Therefore, it is recommended the backend server certificate contain both the root and intermidiate CAs.

  • Als het certificaat zelfondertekend is of door onbekende tussen personen is ondertekend, moet u een vertrouwd basis certificaat instellen om end-to-end SSL in v2 SKU in te scha kelen.If the certificate is self-signed, or signed by unknown intermediaries, then to enable end to end SSL in v2 SKU a trusted root certificate must be defined. Application Gateway communiceert alleen met back-ends waarvan het basis certificaat van het server certificaat overeenkomt met een van de lijst met vertrouwde basis certificaten in de back-end-http-instelling die aan de groep is gekoppeld.Application Gateway will only communicate with backends whose Server certificate’s root certificate matches one of the list of trusted root certificates in the backend http setting associated with the pool.

Notitie

Het zelfondertekende certificaat moet deel uitmaken van een certificaat keten.The self-signed certificate must be a part of a certificate chain. Eén zelfondertekend certificaat zonder keten wordt niet ondersteund in v2 SKU.A single self-signed certificate with no chain is not supported in V2 SKU.

  • Naast het overeenkomende basis certificaat wordt Application Gateway ook gevalideerd als de host-instelling die is opgegeven in de back-end-http-instelling overeenkomt met die van de algemene naam (CN) die wordt gepresenteerd door het SSL-certificaat van de back-endserver.In addition to root certificate match, Application Gateway also validates if the Host setting specified in the backend http setting matches that of the common name (CN) presented by the backend server’s SSL certificate. Wanneer u probeert een SSL-verbinding met de back-end tot stand te brengen, stelt Application Gateway de uitbrei ding Servernaamindicatie (SNI) in op de host die is opgegeven in de back-end-http-instelling.When trying to establish an SSL connection to the backend, Application Gateway sets the Server Name Indication (SNI) extension to the Host specified in the backend http setting.
  • Als de optie hostnaam uit het back-mailadres kiezen wordt gekozen in plaats van het veld host in de http-instelling van de back-end, wordt de SNI-header altijd ingesteld op de FQDN-naam van de back-endserver en de CN op het back-endserver SSL-certificaat moet overeenkomen met de FQDN.If pick hostname from backend address is chosen instead of the Host field in the backend http setting, then the SNI header is always set to the backend pool FQDN and the CN on the backend server SSL certificate must match its FQDN. Back-end-groeps leden met IP-adressen worden niet ondersteund in dit scenario.Backend pool members with IPs aren't supported in this scenario.
  • Het basis certificaat is een base64-gecodeerd basis certificaat van de back-end-server certificaten.The root certificate is a base64 encoded root certificate from the backend Server certificates.

Volgende stappenNext steps

Nadat u hebt leren over end-to-end SSL, gaat u naar end- to-end SSL configureren met behulp van Application Gateway met Power shell om een toepassings gateway te maken met end-to-end SSL.After learning about end to end SSL, go to Configure end to end SSL by using Application Gateway with PowerShell to create an application gateway using end to end SSL.