Kaip sukurti savarankiškai pasirašytus SSL sertifikatus ir „Apache“ raktus naudojant RHEL/CentOS 7.0


SSL („Secure Sockets Layer“) yra kriptografinis protokolas, leidžiantis saugiai perduoti duomenis tarp serverio ir jo klientų, naudojant simetriškus/asimetrinius raktus, naudojant skaitmeninį sertifikatą, pasirašytą sertifikato tarnybos (CA).

  1. Pagrindinis LAMP diegimas RHEL/CentOS 7.0

Šioje pamokoje pateikiamas metodas, kaip nustatyti „Secure Sockets Layer “ (SSL) ryšio kriptografinį protokolą „Apache“ žiniatinklio serveryje, įdiegtame „Red Hat Enterprise Linux/CentOS 7.0“, ir sugeneruoti pačių pasirašytus sertifikatus ir raktus naudojant „bash“ scenarijaus pagalba, kuris labai supaprastina visą procesą.

1 veiksmas: įdiekite ir konfigūruokite „Apache SSL“

1. Norėdami įjungti SSL „Apache“ HTTP serveryje, naudokite šią komandą, kad įdiegtumėte SSL modulį ir „OpenSSL“ įrankių rinkinį, reikalingus SSL/TLS palaikymui.

# yum install mod_ssl openssl

2. Įdiegę SSL modulį, iš naujo paleiskite HTTPD demoną ir pridėkite naują užkardos taisyklę, kad įsitikintumėte, jog SSL prievadas - 443 - atidarytas išoriniams jūsų kompiuterio ryšiams klausantis. valstija.

# systemctl restart httpd
# firewall-cmd --add-service=https   ## On-fly rule

# firewall-cmd --permanent  --add-service=https   ## Permanent rule – needs firewalld restart

3. Norėdami išbandyti SSL ryšį, atidarykite nuotolinę naršyklę ir eikite į savo serverio IP adresą naudodami HTPS protokolą https:/server_IP .

2 žingsnis: sukurkite SSL sertifikatus ir raktus

4. Ankstesnė SSL komunikacija tarp serverio ir kliento buvo vykdoma naudojant numatytąjį sertifikatą ir raktą, automatiškai sugeneruotą diegiant. Norėdami sukurti naujus asmeninius raktus ir savarankiškai pasirašytas sertifikatų poras, sukurkite šį „bash“ scenarijų vykdomojo sistemos kelyje ( $PATH ).

Šiai pamokai pasirinktas /usr/local/bin/ kelias, įsitikinkite, kad scenarijuje nustatytas vykdomasis bitas, tada naudokite jį kaip komandą, kad sukurtumėte naujas SSL poras /etc/httpd/ssl/ kaip numatytoji pažymėjimų ir raktų vieta.

# nano /usr/local/bin/apache_ssl

Naudokite šį failo turinį.

#!/bin/bash
mkdir /etc/httpd/ssl
cd /etc/httpd/ssl

echo -e "Enter your virtual host FQDN: \nThis will generate the default name for Apache SSL Certificate and Key!"
read cert

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out $cert.key
chmod 600 $cert.key
openssl req -new -key $cert.key -out $cert.csr
openssl x509 -req -days 365 -in $cert.csr -signkey $cert.key -out $cert.crt

echo -e " The Certificate and Key for $cert has been generated!\nPlease link it to Apache SSL available website!"
ls -all /etc/httpd/ssl
exit 0

5. Dabar padarykite šį scenarijų vykdomuoju ir paleiskite, kad sugeneruotumėte naują „Apache SSL“ virtualaus pagrindinio kompiuterio pažymėjimo ir rakto porą.

Užpildykite savo informaciją ir atkreipkite dėmesį į Bendrojo vardo reikšmę, kad ji atitiktų jūsų serverio FQDN, arba jei virtualusis priegloba atitinka interneto adresą, kurį pasieksite prisijungdami prie saugios svetainės.

# chmod +x /usr/local/bin/apache_ssl
# apache_ssl

6. Sugeneravus sertifikatą ir raktą, scenarijus pateiks ilgą visų jūsų „Apache“ SSL porų, saugomų /etc/httpd/ssl/, sąrašą.

7. Kitas SSL sertifikatų ir raktų generavimo būdas yra įdiegti crypto-utils paketą savo sistemoje ir generuoti poras naudojant komandą genkey , kuri gali sukelti tam tikrų problemų, ypač kai naudojama glaisto terminalo ekraną.

Taigi, šį metodą siūlau naudoti tik tada, kai esate tiesiogiai prisijungę prie ekrano monitoriaus.

# yum install crypto-utils
# genkey your_FQDN

8. Jei norite pridėti naują sertifikatą ir raktą prie savo SSL svetainės, atidarykite savo svetainės konfigūracijos failą ir atitinkamai pakeiskite teiginius SSLCertificateFile ir SSLCertificateKeyFile naujomis porų vietomis ir pavadinimais.

9. Jei sertifikatą neišdavė patikima CA - sertifikavimo institucija arba pagrindinio kompiuterio vardas iš sertifikato neatitinka pagrindinį kompiuterį, užmezgantį ryšį, jūsų naršyklėje turėtų pasirodyti klaida ir jūs turite rankiniu būdu priimti sertifikatą.

Viskas! Dabar galite naudoti apache_ssl kaip komandinę eilutę RHEL/CentOS 7.0, kad sugeneruotumėte kuo daugiau sau pasirašytų sertifikatų ir raktų porų, ir visi jie bus laikomi /etc/httpd/ssl/ kelias su rakto failu, apsaugotu 700 leidimais.