12 maaliskuun, 2022

make then make install

SSL: n ensisijainen tehtävä Internetissä on helpottaa salausta ja luottamusta, jonka avulla verkkoselain voi vahvistaa verkkosivuston aitouden. SSL toimii kuitenkin myös toisinpäin-asiakkaan SSL-varmenteita voidaan käyttää asiakkaan todentamiseen www-palvelimelle. Ajattele SSH julkinen / yksityinen avain paria, jos se on tuttu sinulle. Tässä blogikirjoituksessa hahmottelen vaiheet varmenteiden auktoriteettivarmenteen luomiseksi, palvelimen varmenteen allekirjoittamiseksi ja sen asentamiseksi Apacheen sekä client CERTin luomiseksi verkkoselainten käyttämässä muodossa.

käyttöjärjestelmän ja Apachen asentaminen ei kuulu blogikirjoituksen piiriin ja oletan, että sinulla on toimiva Apache-asennus ennen kuin aloitamme. Käytän Ubuntu 12.04.4-järjestelmää tässä blogikirjoituksessa.

luo varmenneviranomainen (CA) Cert

ensimmäinen vaihe on CA-varmenteen luominen. Tätä CA-varmennetta ei tarvitse luoda www – palvelimellasi-se voi istua millä tahansa koneella, jota käytät SSL-varmenteiden luomiseen. Kun luotu, CA cert toimii luotettu viranomainen sekä palvelimen ja asiakkaan Cert. Se on sama kuin Verisign tai Comodos todellisessa maailmassa SSL, mutta et halua käyttää CA cert suuren julkisen sivuston, koska sen luottamus ei ole tarkoitus rakentaa selaimiin kaikkialla.

luo CA-varmenne tällä komennolla:

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

pidä ne salassa ja turvassa. Jos joku olisi saada käsiinsä nämä tiedostot he voisivat luoda palvelimen ja asiakkaan certs että luotetaan web-palvelin, koska se on määritetty alla.

luo Apache-palvelimen SSL-avain ja sertifikaatti

nyt kun meillä on CA-sertifikaattimme, voimme luoda SSL-sertifikaatin, jota Apache käyttää.

  1. luo palvelimen yksityinen avain.
    openssl genrsa -out server.key 4096
  2. käytä palvelimen yksityistä avainta varmenteen generointipyynnön luomiseen.
    openssl req -new -key server.key -out server.req -sha256
  3. käytä varmenteen generointipyyntöä ja CA cert: tä palvelimen cert: n luomiseen.
    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. Siivoa – nyt kun cert on luotu, emme enää tarvitse pyyntöä.
    rm server.req

Asenna palvelinvarmenne Apache

palvelimessani on Ubuntu 12.04.4, joten kaikki tässä viitatut polut ja komennot ovat kyseiselle käyttöjärjestelmälle.

  1. Kopioi CA cert pysyvään paikkaan. Meidän täytyy määrittää CA cert Apache koska se on itse luotu CA eikä yksi, joka sisältyy käyttöjärjestelmissä kaikkialla.
    cp ca.cer /etc/ssl/certs/
  2. Kopioi palvelimen cert ja yksityinen avain pysyvään paikkaan.
    cp server.cer /etc/ssl/certs/server.crtcp server.key /etc/ssl/private/server.key
  3. aktivoi SSL-moduuli Apachessa.
    a2enmod ssl
  4. aktivoi SSL-sivusto Apachessa ja poista HTTP-sivusto käytöstä.
    a2ensite default-ssla2dissite default
  5. Edit/etc / apache2 / sites-enabled / 000-default-ssl (SSL-käytössä olevan sivuston asetustiedosto) ja lisää:
    SSLCACertificateFile /etc/ssl/certs/ca.cerSSLCertificateFile /etc/ssl/certs/server.crtSSLCertificateKeyFile /etc/ssl/private/server.key
  6. aseta asetukset Apacheen.
    service apache2 restart

juuri nyt jos käyt https-sivustollasi, saat SSL-virheen, joka on samanlainen kuin ” SSL peer ei pystynyt neuvottelemaan hyväksyttäviä turvallisuusparametreja.”Se on hyvä – se tarkoittaa, että sivustosi ei hyväksy yhteyttä, ellei selaimesi käytä luotettua client certiä. Luomme sellaisen nyt.

luo asiakkaan SSL-varmenne

  1. luo yksityinen avain SSL-asiakkaalle.
    openssl genrsa -out client.key 4096
  2. käytä asiakkaan yksityistä avainta cert-pyynnön luomiseen.
    openssl req -new -key client.key -out client.req
  3. anna asiakkaan varmenne käyttäen CERT-pyyntöä ja CA cert/ – avainta.
    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. Muunna asiakkaan varmenne ja yksityinen avain PKCS#12-muotoon selainten käyttöön.
    openssl pkcs12 -export -inkey client.key -in client.cer -out client.p12
  5. Siivoa – poista asiakkaan yksityinen avain, client cert ja client request-tiedostot, sillä pkcs12: ssa on kaikki tarvittava.
    rm client.key client.cer client.req

näyttää aika samanlaiselta prosessilta kuin palvelimen varmenteen luominen.

lopuksi tuo .p12-tiedosto selaimeesi. Windows voit kaksoisnapsauttaa tiedostoa tuoda käyttöjärjestelmän keystore, jota IE ja Chrome käyttävät. Firefox avaa Asetukset – > Advanced – > varmenteet – > Näytä varmenteet – > varmenteesi ja tuo varmenne.

käy nyt verkkosivustollasi selaimella, johon olet tuonut asiakasvarmenteen. Sinulta todennäköisesti kysytään, mitä asiakasvarmennetta käytetään-valitse se. Sitten sinut todistetaan oikeaksi ja päästetään sisään!

Vastaa

Sähköpostiosoitettasi ei julkaista.