március 12, 2022

make then make install

az SSL elsődleges funkciója az interneten a Titkosítás és a bizalom megkönnyítése, amely lehetővé teszi a webböngésző számára a webhely hitelességének ellenőrzését. Az SSL azonban fordítva is működik-az ügyfél SSL tanúsítványai felhasználhatók az ügyfél hitelesítésére a webkiszolgálóra. Gondoljon az SSH nyilvános / privát kulcspárokra, ha ez ismerős Önnek. Ebben a blogbejegyzésben felvázolom a certificate authority tanúsítvány létrehozásának lépéseit, aláírja a szerver tanúsítványt, és telepíti azt az Apache-ba, és létrehoz egy kliens cert-t a webböngészők által használt formátumban.

az operációs rendszer és az Apache telepítése kívül esik a blogbejegyzés hatókörén, és feltételezem, hogy van egy működő Apache telepítése, mielőtt elkezdenénk. Ubuntu 12.04.4 rendszert használok ebben a blogbejegyzésben.

hitelesítésszolgáltató (CA) tanúsítvány létrehozása

az első lépés egy hitelesítésszolgáltató tanúsítvány létrehozása. Ezt a CA tanúsítványt nem kell generálni a webszerveren – bármilyen gépen ülhet, amelyet SSL tanúsítványok előállításához használ. A létrehozás után a CA cert megbízható hatóságként fog működni mind a szerver, mind az ügyfél tanúsítványok számára. Ez egyenértékű a Verisign vagy Comodos a valós világban az SSL, azonban nem szeretné használni a CA cert egy nagy nyilvános honlapján, mint a bizalom nem fog beépülni böngészők mindenhol.

a CA tanúsítvány generálása ezzel a paranccsal:

openssl req -newkey rsa:4096 -keyform PEM -keyout ca.key -x509 -days 3650 -outform PEM -out ca.cer

akkor tartsa titokban – tartsa őket biztonságban. Ha valaki megszerezné ezeket a fájlokat, képes lenne olyan szerver-és kliens tanúsítványokat generálni, amelyekben a webszerverünk megbízik, mivel az alább lesz konfigurálva.

generálja az Apache server SSL kulcsát és tanúsítványát

most, hogy megvan a CA cert, létrehozhatjuk az Apache által használt SSL tanúsítványt.

  1. szerver privát kulcs létrehozása.
    openssl genrsa -out server.key 4096
  2. használja a kiszolgáló privát kulcsát tanúsítványgenerálási kérelem létrehozásához.
    openssl req -new -key server.key -out server.req -sha256
  3. használja a tanúsítványgenerálási kérelmet és a CA cert-t a kiszolgáló cert létrehozásához.
    openssl x509 -req -in server.req -CA ca.cer -CAkey ca.key -set_serial 100 -extensions server -days 1460 -outform PEM -out server.cer -sha256
  4. Tisztítás – most, hogy a cert létrejött, már nincs szükségünk a kérésre.
    rm server.req

telepítse a kiszolgálói tanúsítványt Apache

a kiszolgálóm Ubuntu 12.04.4-et futtat, így az itt hivatkozott összes útvonal és parancs az adott operációs rendszerre vonatkozik.

  1. másolja a CA cert-et állandó helyre. Meg kell adnunk a CA cert-t az Apache-ban, mivel ez egy saját generált CA, és nem olyan, amely mindenhol megtalálható az operációs rendszerekben.
    cp ca.cer /etc/ssl/certs/
  2. másolja a szerver cert-jét és a privát kulcsot állandó helyre.
    cp server.cer /etc/ssl/certs/server.crtcp server.key /etc/ssl/private/server.key
  3. aktiválja az SSL modult az Apache-ban.
    a2enmod ssl
  4. aktiválja az SSL webhelyet az Apache-ban és tiltsa le a HTTP webhelyet.
    a2ensite default-ssla2dissite default
  5. Edit /etc/apache2/sites-enabled/000-default-ssl (Az SSL-enabled webhely konfigurációs fájlja) és add hozzá:
    SSLCACertificateFile /etc/ssl/certs/ca.cerSSLCertificateFile /etc/ssl/certs/server.crtSSLCertificateKeyFile /etc/ssl/private/server.key
  6. alkalmazza a konfigurációt az Apache-ban.
    service apache2 restart

most, ha ellátogat a https webhelyére, SSL hibát kap, amely hasonló: “az SSL peer nem tudott tárgyalni elfogadható biztonsági paraméterekről.”Ez jó – ez azt jelenti, hogy webhelye csak akkor fogad el kapcsolatot, ha böngészője megbízható ügyfél-tanúsítványt használ. Most létrehozunk egyet.

ügyfél SSL tanúsítvány létrehozása

  1. privát kulcs létrehozása az SSL ügyfél számára.
    openssl genrsa -out client.key 4096
  2. használja az ügyfél privát kulcsát egy cert kérés létrehozásához.
    openssl req -new -key client.key -out client.req
  3. adja ki az ügyféltanúsítványt a CERT kéréssel és a CA cert/kulccsal.
    openssl x509 -req -in client.req -CA ca.cer -CAkey ca.key -set_serial 101 -extensions client -days 365 -outform PEM -out client.cer
  4. konvertálja az ügyféltanúsítványt és a privát kulcsot PKCS#12 formátumba a böngészők számára.
    openssl pkcs12 -export -inkey client.key -in client.cer -out client.p12
  5. Tisztítás – távolítsa el az ügyfél privát kulcsát, az ügyfél cert és az ügyfél kérési fájljait, mivel a pkcs12 mindent tartalmaz.
    rm client.key client.cer client.req

úgy néz ki, mint egy nagyon hasonló folyamat generáló szerver tanúsítvány, huh?

végül importálja a .p12 fájlt a böngészőbe. Windows rendszeren duplán kattintva importálhatja a fájlt az operációs rendszer kulcstárába, amelyet az IE és a Chrome használ. Firefox esetén nyissa meg a -> speciális -> Tanúsítványok -> Tanúsítványok megtekintése -> a tanúsítványokat, és importálja a tanúsítványt.

most keresse fel webhelyét azzal a böngészővel, ahová az ügyféltanúsítványt importálta. Valószínűleg a rendszer kéri, hogy melyik ügyféltanúsítványt használja – válassza ki. Akkor lesz hiteles, illetve engedélyezett!

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.