12 března, 2022

make pak provést instalaci

primární funkcí SSL na internetu je usnadnit šifrování a důvěru, která umožňuje webovému prohlížeči ověřit pravost webové stránky. SSL však funguje i opačně-klientské SSL certifikáty lze použít k ověření klienta na webovém serveru. Myslete na páry veřejných / soukromých klíčů SSH, pokud je vám to známo. V tomto příspěvku na blogu nastíním kroky k vytvoření certifikátu certifikační autority, podepsání certifikátu serveru a jeho instalace v Apache a vytvoření klientského cert ve formátu používaném webovými prohlížeči.

instalace operačního systému a Apache je mimo rozsah blogu a předpokládám, že máte fungující instalaci Apache, než začneme. V tomto blogu používám systém Ubuntu 12.04.4.

Vygenerujte certifikační autoritu (CA) cert

prvním krokem je vygenerování certifikátu CA. Tento certifikát CA nemusí být generován na vašem webovém serveru-může sedět na jakémkoli počítači, který použijete ke generování certifikátů SSL. Po vytvoření bude ca cert fungovat jako důvěryhodná autorita pro vaše serverové i klientské certifikáty. Je to ekvivalent Verisign nebo Comodos v reálném světě SSL, nicméně byste nechtěli používat svůj CA cert pro hlavní veřejné webové stránky, protože jeho důvěra nebude zabudována do prohlížečů všude.

Vygenerujte certifikát CA pomocí tohoto příkazu:

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

pak je udržujte v tajnosti-udržujte je v bezpečí. Pokud by se někdo zmocnil těchto souborů, byl by schopen generovat serverové a klientské certifikáty, kterým by náš webový server důvěřoval, protože bude nakonfigurován níže.

vygenerujte svůj SSL klíč a certifikát Apache server

Nyní, když máme náš ca cert, můžeme vygenerovat certifikát SSL, který bude používán Apache.

  1. Vygenerujte soukromý klíč serveru.
    openssl genrsa -out server.key 4096
  2. pomocí privátního klíče serveru Vygenerujte požadavek na generování certifikátu.
    openssl req -new -key server.key -out server.req -sha256
  3. pro vygenerování serveru cert použijte požadavek na generování certifikátu a ca cert.
    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. vyčištění-nyní, když byl cert vytvořen, již požadavek nepotřebujeme.
    rm server.req

nainstalujte certifikát serveru v Apache

můj server běží Ubuntu 12.04.4, takže všechny cesty a příkazy, na které se odkazuje, jsou pro tento operační systém.

  1. zkopírujte ca cert na trvalé místo. Budeme muset specifikovat náš ca cert v Apache, protože se jedná o vlastní generovaný CA a ne ten, který je součástí operačních systémů všude.
    cp ca.cer /etc/ssl/certs/
  2. zkopírujte server cert a soukromý klíč na trvalé místo.
    cp server.cer /etc/ssl/certs/server.crtcp server.key /etc/ssl/private/server.key
  3. aktivujte modul SSL v Apache.
    a2enmod ssl
  4. aktivujte web SSL v Apache a deaktivujte web HTTP.
    a2ensite default-ssla2dissite default
  5. upravit / etc / apache2 / sites-enabled / 000-default-ssl (konfigurační soubor pro web s podporou SSL) a přidat:
    SSLCACertificateFile /etc/ssl/certs/ca.cerSSLCertificateFile /etc/ssl/certs/server.crtSSLCertificateKeyFile /etc/ssl/private/server.key
  6. použijte konfiguraci v Apache.
    service apache2 restart

právě teď, pokud navštívíte svůj web https, dostanete chybu SSL podobnou “ SSL peer nebyl schopen vyjednat přijatelnou sadu bezpečnostních parametrů.“To je dobré-to znamená, že váš web nepřijme připojení, pokud váš prohlížeč nepoužívá důvěryhodný klientský cert. Teď ho vygenerujeme.

Vygenerujte klientský certifikát SSL

  1. Vygenerujte soukromý klíč pro klienta SSL.
    openssl genrsa -out client.key 4096
  2. pomocí privátního klíče klienta Vygenerujte požadavek cert.
    openssl req -new -key client.key -out client.req
  3. vydá certifikát klienta pomocí požadavku cert a CA cert/klíče.
    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. převeďte klientský certifikát a soukromý klíč do formátu pkcs # 12 pro použití v prohlížečích.
    openssl pkcs12 -export -inkey client.key -in client.cer -out client.p12
  5. Clean up-odstraňte klientský soukromý klíč, klientský cert a soubory požadavků klienta, protože pkcs12 má vše potřebné.
    rm client.key client.cer client.req

vypadá to docela podobný proces jako generování certifikátu serveru, Co?

nakonec importujte .P12 soubor do prohlížeče. V systému Windows můžete dvakrát kliknout na soubor a importovat do úložiště klíčů operačního systému, který budou používat IE a Chrome. Pro Firefox otevřete Možnosti -> upřesnit -> certifikáty -> Zobrazit certifikáty -> certifikáty a importovat certifikát.

nyní navštivte své webové stránky s prohlížečem, do kterého jste importovali klientský certifikát. Pravděpodobně budete vyzváni k zadání certifikátu klienta, který chcete použít – vyberte jej. Pak budete ověřeni a povoleni dovnitř!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.