TLS konfigurálása alkalmazáshoz az Azure-ban

Fontos

Cloud Services (klasszikus) mostantól elavult az új ügyfelek számára, és 2024. augusztus 31-én megszűnik minden ügyfél számára. Az új üzemelő példányoknak az új Azure Resource Manager-alapú Azure Cloud Services (kiterjesztett támogatás) üzemi modellt kell használniuk.

A Transport Layer Security (TLS), korábbi nevén Secure Socket Layer (SSL) titkosítás a leggyakrabban használt módszer az interneten keresztül küldött adatok védelmére. Ez a gyakori feladat azt ismerteti, hogyan adhatja meg a HTTPS-végpontot egy webes szerepkörhöz, és hogyan tölthet fel TLS-/SSL-tanúsítványt az alkalmazás biztonságossá tételéhez.

Megjegyzés

Az ebben a feladatban szereplő eljárások az Azure Cloud Services vonatkoznak; az App Services esetében lásd ezt.

Ez a feladat éles üzembe helyezést használ. Az átmeneti üzembe helyezés használatáról a témakör végén talál információt.

Először olvassa el ezt a cikket, ha még nem hozott létre felhőszolgáltatást.

1. lépés: TLS-/SSL-tanúsítvány lekérése

A TLS alkalmazáshoz való konfigurálásához először be kell szereznie egy TLS-/SSL-tanúsítványt, amelyet egy hitelesítésszolgáltató (CA) írt alá, amely egy megbízható harmadik fél, aki erre a célra tanúsítványokat bocsát ki. Ha még nem rendelkezik ilyen tanúsítvánnyal, be kell szereznie egyet egy TLS-/SSL-tanúsítványokat értékesítő vállalattól.

A tanúsítványnak meg kell felelnie a TLS-/SSL-tanúsítványok következő követelményeinek az Azure-ban:

  • A tanúsítványnak tartalmaznia kell egy nyilvános kulcsot.
  • A tanúsítványt kulcscsere céljából kell létrehozni, amely exportálható egy személyes információcsere (.pfx) fájlba.
  • A tanúsítvány tulajdonosának nevének meg kell egyeznie a felhőszolgáltatás eléréséhez használt tartománnyal. A cloudapp.net tartomány hitelesítésszolgáltatójától (CA) nem szerezhet be TLS-/SSL-tanúsítványt. A szolgáltatás eléréséhez egyéni tartománynevet kell beszereznie. Amikor tanúsítványt kér egy hitelesítésszolgáltatótól, a tanúsítvány tulajdonosának meg kell egyeznie az alkalmazás eléréséhez használt egyéni tartománynévvel. Ha például az egyéni tartománynév contoso.com a hitelesítésszolgáltatótól *.contoso.com vagy www.contoso.com igényelne tanúsítványt.
  • A tanúsítványnak legalább 2048 bites titkosítást kell használnia.

Tesztelési célokra önaláírt tanúsítványt hozhat létre és használhat. Az önaláírt tanúsítvány hitelesítése nem hitelesítésszolgáltatón keresztül történik, és a webhely URL-címeként használhatja a cloudapp.net tartományt. Az alábbi feladat például egy önaláírt tanúsítványt használ, amelyben a tanúsítványban használt köznapi név (CN) sslexample.cloudapp.net.

Ezután meg kell adnia a tanúsítványra vonatkozó információkat a szolgáltatásdefinícióban és a szolgáltatáskonfigurációs fájlokban.

2. lépés: A szolgáltatásdefiníció és a konfigurációs fájlok módosítása

Az alkalmazást konfigurálni kell a tanúsítvány használatára, és hozzá kell adni egy HTTPS-végpontot. Ennek eredményeképpen frissíteni kell a szolgáltatásdefiníciót és a szolgáltatáskonfigurációs fájlokat.

  1. A fejlesztési környezetben nyissa meg a szolgáltatásdefiníciós fájlt (CSDEF), adjon hozzá egy Tanúsítvány szakaszt a WebRole szakaszban, és adja meg a következő információkat a tanúsítványról (és köztes tanúsítványokról):

    <WebRole name="CertificateTesting" vmsize="Small">
    ...
        <Certificates>
            <Certificate name="SampleCertificate"
                        storeLocation="LocalMachine"
                        storeName="My"
                        permissionLevel="limitedOrElevated" />
            <!-- IMPORTANT! Unless your certificate is either
            self-signed or signed directly by the CA root, you
            must include all the intermediate certificates
            here. You must list them here, even if they are
            not bound to any endpoints. Failing to list any of
            the intermediate certificates may cause hard-to-reproduce
            interoperability problems on some clients.-->
            <Certificate name="CAForSampleCertificate"
                        storeLocation="LocalMachine"
                        storeName="CA"
                        permissionLevel="limitedOrElevated" />
        </Certificates>
    ...
    </WebRole>
    

    A Tanúsítványok szakasz határozza meg a tanúsítvány nevét, helyét és annak az áruháznak a nevét, ahol található.

    Az engedélyek (permissionLevel attribútum) az alábbi értékek egyikére állíthatók be:

    Engedély értéke Description
    limitedOrElevated (Alapértelmezett) Minden szerepkörfolyamat hozzáférhet a titkos kulcshoz.
    Emelkedett Csak emelt szintű folyamatok férhetnek hozzá a titkos kulcshoz.
  2. A szolgáltatásdefiníciós fájlban adjon hozzá egy InputEndpoint elemet a Végpontok szakaszban a HTTPS engedélyezéséhez:

    <WebRole name="CertificateTesting" vmsize="Small">
    ...
        <Endpoints>
            <InputEndpoint name="HttpsIn" protocol="https" port="443"
                certificate="SampleCertificate" />
        </Endpoints>
    ...
    </WebRole>
    
  3. A szolgáltatásdefiníciós fájlban adjon hozzá egy Kötés elemet a Helyek szakaszban. Ez az elem hozzáad egy HTTPS-kötést a végpontnak a webhelyhez való leképezéséhez:

    <WebRole name="CertificateTesting" vmsize="Small">
    ...
        <Sites>
            <Site name="Web">
                <Bindings>
                    <Binding name="HttpsIn" endpointName="HttpsIn" />
                </Bindings>
            </Site>
        </Sites>
    ...
    </WebRole>
    

    A szolgáltatásdefiníciós fájl összes szükséges módosítása befejeződött; de továbbra is hozzá kell adnia a tanúsítványadatokat a szolgáltatás konfigurációs fájljába.

  4. A szolgáltatáskonfigurációs fájlban (CSCFG), a ServiceConfiguration.Cloud.cscfg fájlban adjon hozzá egy tanúsítványértéket a tanúsítványhoz. Az alábbi kódminta a Tanúsítványok szakasz részleteit tartalmazza, kivéve az ujjlenyomat értékét.

    <Role name="Deployment">
    ...
        <Certificates>
            <Certificate name="SampleCertificate"
                thumbprint="9427befa18ec6865a9ebdc79d4c38de50e6316ff"
                thumbprintAlgorithm="sha1" />
            <Certificate name="CAForSampleCertificate"
                thumbprint="79d4c38de50e6316ff9427befa18ec6865a9ebdc"
                thumbprintAlgorithm="sha1" />
        </Certificates>
    ...
    </Role>
    

(Ez a példa sha1-et használ az ujjlenyomat-algoritmushoz. Adja meg a tanúsítvány ujjlenyomat-algoritmusának megfelelő értéket.)

Most, hogy frissítette a szolgáltatásdefiníciókat és a szolgáltatáskonfigurációs fájlokat, csomagolja be az üzemelő példányt az Azure-ba való feltöltéshez. Cspack használata esetén ne használja a /generateConfigurationFile jelzőt, mert az felülírja az imént beszúrt tanúsítványadatokat.

3. lépés: Tanúsítvány feltöltése

Csatlakozzon a Azure Portal és...

  1. A Portál Minden erőforrás szakaszában válassza ki a felhőszolgáltatást.

    A felhőszolgáltatás közzététele

  2. Kattintson a Tanúsítványok gombra.

    Kattintson a tanúsítványok ikonra

  3. Kattintson a Feltöltés gombra a Tanúsítványok terület tetején.

    Kattintson a Feltöltés menüelemre

  4. Adja meg a Fájl, Jelszó, majd az adatbeviteli terület alján található Feltöltés lehetőséget.

4. lépés: Csatlakozás a szerepkörpéldányhoz HTTPS használatával

Most, hogy az üzembe helyezés már működik az Azure-ban, https használatával csatlakozhat hozzá.

  1. A webhely URL-címére kattintva nyissa meg a webböngészőt.

    Kattintson a webhely URL-címére

  2. A webböngészőben módosítsa a hivatkozást úgy, hogy http helyett https-t használjon, majd keresse fel a lapot.

    Megjegyzés

    Ha önaláírt tanúsítványt használ, az önaláírt tanúsítványhoz társított HTTPS-végpont megkeresésekor tanúsítványhiba jelenhet meg a böngészőben. Ha megbízható hitelesítésszolgáltató által aláírt tanúsítványt használ, azzal kiküszöböli ezt a problémát; addig is figyelmen kívül hagyhatja a hibát. (Egy másik lehetőség az önaláírt tanúsítvány hozzáadása a felhasználó megbízható hitelesítésszolgáltatói tanúsítványtárolójába.)

    Webhely előnézete

    Tipp

    Ha éles üzemelő példány helyett átmeneti üzembe helyezéshez szeretné használni a TLS-t, először meg kell határoznia az átmeneti üzembe helyezéshez használt URL-címet. A felhőszolgáltatás üzembe helyezése után az átmeneti környezet URL-címét az üzembehelyezési azonosító GUID-azonosítója határozza meg ebben a formátumban: https://deployment-id.cloudapp.net/

    Hozzon létre egy tanúsítványt, amelynek köznapi neve (CN) megegyezik a GUID-alapú URL-címmel (például 328187776e774ceda8fc57609d404462.cloudapp.net). A portál használatával adja hozzá a tanúsítványt a szakaszos felhőszolgáltatáshoz. Ezután adja hozzá a tanúsítványadatokat a CSDEF- és CSCFG-fájlokhoz, csomagolja újra az alkalmazást, és frissítse a szakaszos üzembe helyezést az új csomag használatára.

Következő lépések