Egyéni DNS-név védelme TLS-/SSL-kötéssel a Azure App Service

Ez a cikk bemutatja, hogyan védheti meg az egyéni tartományt a App Service alkalmazásban vagy függvényalkalmazásban tanúsítványkötés létrehozásával. Ha végzett, elérheti a App Service alkalmazást 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

1. A kötés hozzáadása

A Azure Portal:

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

  2. Az alkalmazás bal oldali navigációs sávjában 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 tanúsítvánnyal a kijelölt egyéni tartományhoz, a Tanúsítvány területen kiválaszthatja. Ha nem, akkor egy tanúsítványt kell hozzáadnia a Forrás elem egyik kijelölésével.

    • Felügyelt tanúsítvány létrehozása App Service – Lehetővé teszi, App Service hozzon létre felügyelt tanúsítványt a kiválasztott tartományhoz. Ez a legegyszerűbb lehetőség. További információ: Ingyenes felügyelt tanúsítvány létrehozása.
    • App Service tanúsítvány importálása – A App Service tanúsítványban válasszon egy App Service tanúsítványt, amit a kiválasztott tartományhoz vásárolt.
    • Tanúsítvány feltöltése (.pfx) – Kövesse a privát tanúsítvány feltöltése a PFX-tanúsítvány helyi gépről való feltöltéséhez és a tanúsítvány jelszavának megadásához című témakör munkafolyamatát.
    • Importálás Key Vault - 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. A TLS/SSL típusban válasszon az SNI SSL és az IP-alapú SSL között.

    • 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ő (beleértve az Internet Explorert, a Chrome-ot, a Firefoxot és az Opera-t) 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 egy dedikált nyilvános IP-cím biztonságossá tételéhez. A kötés konfigurálása után kövesse a 2. lépésben leírt lépéseket . IP-alapú SSL-rekordok újraképe.
        Az IP SSL csak alapszintű vagy magasabb szinten támogatott.
  6. Új tanúsítvány hozzáadásakor ellenőrizze az új tanúsítványt az Ellenőrzés gombra kattintva.

  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 Biztonságosra változik.

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

Megjegyzés

Az egyéni tartományokbiztonságos állapota azt jelenti, hogy tanúsítvány védi, de App Service nem ellenőrzi, hogy a tanúsítvány önaláírt vagy lejárt-e, ami a böngészőkben hiba vagy figyelmeztetés megjelenítését is okozhatja.

2. Az 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 az egyéni tartomány HTTPS-tesztjéhez.

Két módosítást kell végrehajtania, amelyek lehetségesek:

  • Alapértelmezés szerint az alkalmazás megosztott nyilvános IP-címet használ. Amikor egy tanúsítványt IP SSL-vel köt, App Service létrehoz egy új, dedikált IP-címet az alkalmazáshoz. Ha leképezett egy A rekordot 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ány lapja 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 rendelkezik a következőhöz: <app-name>.azurewebsites.net, a CNAME-megfeleltetések újraképezésével mutasson sni.<app-name>.azurewebsites.net rá (adja hozzá az sni előtagot).

3. A HTTPS tesztelése

A különböző böngészőkben https://<your.custom.domain> tallózással ellenőrizheti, hogy az szolgálja-e ki az alkalmazást.

Képernyőkép az egyéni tartományra való böngészésről a contoso.com URL-cím kiemelésével.

Az alkalmazáskód az "x-appservice-proto" fejlécen keresztül tudja megvizsgálni a protokollt. A fejléc értéke http vagy https.

Megjegyzé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 nem így van, előfordulhat, hogy kihagyott néhány köztes tanúsítványt, amikor a tanúsítványt a PFX-fájlba exportálta.

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 megvá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. Annak érdekében, hogy az alkalmazás IP-címe ne változzon, kövesse sorrendben 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 KÉNYSZERÍTETT ÁTIRÁNYÍTÁSt HTTP-ről HTTPS-be?

Alapértelmezés szerint App Service a HTTP-kérések https-be való átirányítását kényszeríti. A viselkedés letiltásához lásd: Általános beállítások konfigurálása.

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: Általános beállítások konfigurálása.

Hogyan kezeli a TLS-megszakítást App Service?

A App Service TLS-leállítása 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 az X-Forwarded-Proto fejlécet.

A nyelvspecifikus konfigurációs útmutatók, például a Linux Node.js konfigurációs útmutatója bemutatja, 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

További erőforrások