Kā izveidot pašparakstītus SSL sertifikātus un atslēgas Apache operētājsistēmai RHEL/CentOS 7.0


SSL (Secure Sockets Layer) ir kriptogrāfijas protokols, kas nodrošina drošu datu plūsmu starp serveri un tā klientiem, izmantojot simetriskas/asimetriskas atslēgas, izmantojot digitālo sertifikātu, ko parakstījusi sertifikātu pārvalde (CA).

  1. LAMP pamata instalēšana RHEL/CentOS 7.0 versijā

Šajā apmācībā ir sniegta pieeja, kā iestatīt Secure Sockets Layer (SSL) sakaru kriptogrāfijas protokolu Apache Web Server, kas instalēts Red Hat Enterprise Linux/CentOS 7.0, un ģenerēt pašparakstītus sertifikātus un atslēgas, izmantojot bash skripta palīdzība, kas ievērojami vienkāršo visu procesu.

1. darbība: instalējiet un konfigurējiet Apache SSL

1. Lai iespējotu SSL Apache HTTP serverī, izmantojiet šo komandu, lai instalētu SSL moduli un OpenSSL rīku komplektu, kas nepieciešams SSL/TLS atbalstam.

# yum install mod_ssl openssl

2. Pēc SSL moduļa instalēšanas restartējiet HTTPD dēmonu un pievienojiet jaunu ugunsmūra kārtulu, lai nodrošinātu, ka SSL ports - 443 - tiek atvērts ārējiem savienojumiem jūsu datorā klausīšanās laikā. Valsts.

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

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

3. Lai pārbaudītu SSL savienojumu, atveriet attālo pārlūku un dodieties uz sava servera IP adresi, izmantojot HTPS protokolu vietnē https:/server_IP .

2. darbība: izveidojiet SSL sertifikātus un atslēgas

4. Iepriekšējā SSL komunikācija starp serveri un klientu tika veikta, izmantojot noklusējuma sertifikātu un atslēgu, kas automātiski ģenerēta instalēšanas laikā. Lai ģenerētu jaunas privātās atslēgas un pašparakstītos sertifikātu pārus, izpildāmās sistēmas ceļā ( $PATH ) izveidojiet šādu bash skriptu.

Šai apmācībai tika izvēlēts /usr/local/bin/ ceļš, pārliecinieties, vai skriptā ir iestatīts izpildāmā bits, un pēc tam izmantojiet to kā komandu, lai izveidotu jaunus SSL pārus vietnē /etc/httpd/ssl/ kā sertifikātu un atslēgu noklusējuma atrašanās vieta.

# nano /usr/local/bin/apache_ssl

Izmantojiet šādu faila saturu.

#!/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. Tagad izveidojiet šo skriptu izpildāmu un palaidiet, lai ģenerētu jaunu Apache SSL virtuālā resursdatora sertifikātu un atslēgu pāri.

Aizpildiet to ar savu informāciju un pievērsiet uzmanību Common Name vērtībai, lai tā atbilstu jūsu servera FQDN, vai virtuālā mitināšanas gadījumā - Web adresei, kurai piekļūsit, pieslēdzoties drošai vietnei.

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

6. Pēc sertifikāta un atslēgas ģenerēšanas skripts parādīs garu sarakstu ar visiem jūsu Apache SSL pāriem, kas saglabāti /etc/httpd/ssl/ atrašanās vietā.

7. Cita pieeja SSL sertifikātu un atslēgu ģenerēšanai ir instalēt paketi crypto-utils savā sistēmā un ģenerēt pārus, izmantojot komandu genkey , kas var radīt dažas problēmas, īpaši, ja to izmanto špakteles termināla ekrāns.

Tātad, es iesaku izmantot šo metodi tikai tad, ja esat tieši savienots ar ekrāna monitoru.

# yum install crypto-utils
# genkey your_FQDN

8. Lai pievienotu jauno sertifikātu un atslēgu savai SSL vietnei, atveriet vietnes konfigurācijas failu un attiecīgi aizstājiet SSLCertificateFile un SSLCertificateKeyFile paziņojumus ar jauno pāru atrašanās vietu un nosaukumiem.

9. Ja sertifikātu izsniedz neuzticama CA - sertifikācijas iestāde vai resursdatora nosaukums no sertifikāta neatbilst resursdatora nosaukumam, kurš izveido savienojumu, jūsu pārlūkprogrammā vajadzētu parādīties kļūda, un jums ir manuāli jāpieņem sertifikāts.

Tieši tā! Tagad jūs varat izmantot apache_ssl kā komandrindu RHEL/CentOS 7.0, lai ģenerētu tik daudz nepieciešamo pašparakstīto sertifikātu un atslēgu pāru, un visi tie tiks saglabāti vietnē /etc/httpd/ssl/ ceļš ar atslēgu failu, kas aizsargāts ar 700 atļaujām.