Megosztás a következőn keresztül:


Egyéni DNS-név biztonságának biztosítása TLS-/SSL-kötéssel az App Service-ben

Ez a cikk bemutatja, hogyan biztosíthat biztonságot az egyéni tartomány számára az App Service-alkalmazásban vagy a függvényalkalmazásban egy tanúsítványkötés létrehozásával. Ha végzett, hozzáférhet az App Service-alkalmazáshoz az https:// egyéni DNS-név végpontján (például https://www.contoso.com).

Webalkalmazás egyéni TLS/SSL-tanúsítvánnyal.

Előfeltételek

A kötés hozzáadása

Az Azure Portalon:

  1. A bal oldali menüben válassza az App Services><alkalmazásnevét.>

  2. Az alkalmazás bal oldali navigációs sávjáról válassza az Egyéni tartományok lehetőséget.

  3. Az egyéni tartomány mellett válassza a Kötés hozzáadása lehetőséget.

    Képernyőkép a TLS/SSL-kötés hozzáadása párbeszédpanel elindításáról.

  4. Ha az alkalmazás már rendelkezik a kijelölt egyéni tartományhoz tartozó tanúsítvánnyal, a tanúsítványban kiválaszthatja. Ha nem, akkor egy tanúsítványt kell hozzáadnia a Forrás elem egyik kijelölésével.

    • Felügyelt App Service-tanúsítvány létrehozása – Lehetővé teszi, hogy az App Service létrehozhasson egy felügyelt tanúsítványt a kiválasztott tartományhoz. Ez a beállítás a legegyszerűbb. További információ: Ingyenes felügyelt tanúsítvány létrehozása.
    • App Service-tanúsítvány importálása – Az App Service-tanúsítványban válassza ki a kiválasztott tartományhoz vásárolt App Service-tanúsítványt.
    • Tanúsítvány feltöltése (.pfx) – Kövesse a magántanúsítvány feltöltésekor a munkafolyamatot, és töltsön fel egy PFX-tanúsítványt a helyi gépről, és adja meg a tanúsítvány jelszavát.
    • Importálás a Key Vaultból – Válassza a Key Vault-tanúsítvány kiválasztása lehetőséget, és válassza ki a tanúsítványt a párbeszédpanelen.
  5. TLS/SSL típus esetén válassza az SNI SSL vagy az IP-alapú SSL lehetőséget.

    • SNI SSL: Több SNI SSL-kötés is hozzáadható. Ez a beállítás lehetővé teszi, hogy több TLS/SSL-tanúsítvány több tartományt is biztonságossá tegye ugyanazon az IP-címen. A legtöbb modern böngésző (például a Microsoft Edge, a Chrome, a Firefox és az Opera) támogatja az SNI-t. (További információ: Kiszolgálónév jelzése.)
    • IP-alapú SSL: Csak egy IP SSL-kötés adható hozzá. Ez a beállítás csak egy TLS/SSL-tanúsítványt engedélyez a dedikált nyilvános IP-cím biztonságossá tételéhez. A kötés konfigurálása után kövesse az IP-alapú SSL rekordjainak újraképezése lépéseit.
      Az IP-alapú SSL csak standard vagy magasabb szinten támogatott.
  6. Új tanúsítvány hozzáadásakor az Ellenőrzés gombra kattintva ellenőrizze az új tanúsítványt.

  7. Válassza a Hozzáadás lehetőséget.

    A művelet befejezése után az egyéni tartomány TLS-/SSL-állapota védettre változik.

    Képernyőkép a tanúsítványkötéssel védett egyéni tartományról.

Feljegyzés

Az egyéni tartományokban a biztonságos állapot azt jelenti, hogy egy tanúsítvány biztonságot nyújt, de az App Service nem ellenőrzi, hogy a tanúsítvány önaláírt vagy lejárt-e, például a böngészőkben hiba vagy figyelmeztetés jelenhet meg.

IP-alapú SSL rekordjainak újraképe

Erre a lépésre csak IP-alapú SSL esetén van szükség. SNI SSL-kötés esetén ugorjon a HTTPS tesztelésére.

Lehetséges, hogy két módosítást kell végrehajtania:

  • Az alkalmazás alapértelmezés szerint megosztott nyilvános IP-címet használ. Ha egy tanúsítványt IP SSL-sel köt meg, az App Service létrehoz egy új, dedikált IP-címet az alkalmazás számára. Ha egy A rekordot hozzárendelt az alkalmazáshoz, frissítse a tartományregisztrációs adatbázist ezzel az új, dedikált IP-címmel.

    Az alkalmazás egyéni tartománylapja frissül az új, dedikált IP-címmel. Másolja ki ezt az IP-címet, majd másolja újra az A rekordot erre az új IP-címre.

  • Ha SNI SSL-kötéssel <app-name>.azurewebsites.netrendelkezik, a CNAME-megfeleltetések átképezése helyett mutasson rá sni.<app-name>.azurewebsites.net . (Adja hozzá az sni előtagot.)

HTTPS tesztelése

Tallózással https://<your.custom.domain> ellenőrizze, hogy megjelenik-e az alkalmazás a különböző böngészőkben.

Képernyőkép az egyéni tartomány böngészéséről. A contoso.com URL-cím ki van emelve.

Az alkalmazáskód a fejlécen keresztül ellenőrizheti a protokollt x-appservice-proto . A fejléc értéke vagy httpsértéke http .

Feljegyzés

Ha az alkalmazás tanúsítványérvényesítési hibákat jelez, valószínűleg önaláírt tanúsítványt használ.

Ha ez nem így van, előfordulhat, hogy kihagyta a köztes tanúsítványokat, amikor exportálta a tanúsítványt a PFX-fájlba.

Gyakori kérdések

Hogyan győződjön meg arról, hogy az alkalmazás IP-címe nem változik a tanúsítványkötés módosításakor?

A bejövő IP-cím akkor is változhat, ha töröl egy kötést, még akkor is, ha a kötés IP SSL. Ez különösen akkor fontos, ha egy már IP SSL-kötésben lévő tanúsítványt újít meg. Az alkalmazás IP-címének módosításának elkerülése érdekében kövesse az alábbi lépéseket:

  1. Töltse fel az új tanúsítványt.
  2. Kösse az új tanúsítványt a kívánt egyéni tartományhoz anélkül, hogy törölné a régit. Ez a művelet lecserélni a kötést ahelyett, hogy eltávolítaná a régit.
  3. Törölje a régi tanúsítványt.

Letilthatom a HTTP-ről HTTPS-be történő kényszerített átirányítást?

Az App Service alapértelmezés szerint átirányítja a HTTP-kérelmeket a HTTPS-hez. A viselkedés letiltásához tekintse meg az általános beállítások konfigurálását.

Hogyan módosíthatom az alkalmazás minimális TLS-verzióit?

Az alkalmazása alapértelmezés szerint a TLS 1.2-t engedélyezi, amely az iparági szabványok, például a PCI DSS szerint ajánlott TLS-szint. A különböző TLS-verziók kényszerítéséhez lásd az általános beállítások konfigurálását.

Hogyan kezelni a TLS-leállítást az App Service-ben?

Az App Service-ben a TLS-leállítás a hálózati terheléselosztóknál történik, így minden HTTPS-kérés titkosítatlan HTTP-kérésként éri el az alkalmazást. Ha az alkalmazáslogikának ellenőriznie kell, hogy a felhasználói kérések titkosítva vannak-e, vizsgálja meg a fejlécet X-Forwarded-Proto .

A nyelvspecifikus konfigurációs útmutatók, például a Linux Node.js konfigurációs útmutatója bemutatják, hogyan észlelhet HTTPS-munkameneteket az alkalmazáskódban.

Automatizálás szkriptekkel

Azure CLI

Egyéni TLS/SSL-tanúsítvány kötése webalkalmazáshoz

PowerShell

$fqdn="<Replace with your custom domain name>"
$pfxPath="<Replace with path to your .PFX file>"
$pfxPassword="<Replace with your .PFX password>"
$webappname="mywebapp$(Get-Random)"
$location="West Europe"

# Create a resource group.
New-AzResourceGroup -Name $webappname -Location $location

# Create an App Service plan in Free tier.
New-AzAppServicePlan -Name $webappname -Location $location `
-ResourceGroupName $webappname -Tier Free

# Create a web app.
$webapp = New-AzWebApp -Name $webappname -Location $location -AppServicePlan $webappname `
-ResourceGroupName $webappname

Write-Host "Sign in to your domain provider's website and configure the following records:"
Write-Host "A CNAME record that maps $fqdn to $webappname.azurewebsites.net"
Write-Host "A TXT record that maps asuid.$fqdn to the domain verification ID $($webapp.CustomDomainVerificationId)"
Read-Host "Press [Enter] key when ready ..."

# Before continuing, go to your DNS configuration UI for your custom domain and follow the 
# instructions at https://aka.ms/appservicecustomdns to configure a CNAME record for the 
# hostname "www" and point it your web app's default domain name.

# Upgrade App Service plan to Basic tier (minimum required by custom SSL certificates)
Set-AzAppServicePlan -Name $webappname -ResourceGroupName $webappname `
-Tier Basic

# Add a custom domain name to the web app. 
Set-AzWebApp -Name $webappname -ResourceGroupName $webappname `
-HostNames @($fqdn,"$webappname.azurewebsites.net")

# Upload and bind the SSL certificate to the web app.
New-AzWebAppSSLBinding -WebAppName $webappname -ResourceGroupName $webappname -Name $fqdn `
-CertificateFilePath $pfxPath -CertificatePassword $pfxPassword -SslState SniEnabled