Kako ustvariti samopodpisana potrdila SSL in ključe za Apache na RHEL/CentOS 7.0
SSL (Secure Sockets Layer) je kriptografski protokol, ki omogoča varen pretok podatkov med strežnikom in njegovimi odjemalci s pomočjo simetričnih/asimetričnih ključev z uporabo digitalnega potrdila, podpisanega s strani overitelja potrdil (CA).
- Osnovna namestitev LAMP na RHEL/CentOS 7.0
Ta vadnica ponuja pristop k nastavitvi kriptografskega protokola Secure Sockets Layer (SSL) na spletnem strežniku Apache, nameščenem v Red Hat Enterprise Linux/CentOS 7.0, in ustvarjanju samopodpisanih potrdil in ključev z pomoč bash skripta, ki močno poenostavi celoten postopek.
1. korak: Namestite in konfigurirajte Apache SSL
1. Če želite omogočiti SSL na strežniku HTTP Apache, z naslednjim ukazom namestite modul SSL in komplet orodij OpenSSL, ki sta potrebna za podporo SSL/TLS.
# yum install mod_ssl openssl
2. Po namestitvi modula SSL znova zaženite demon HTTPD in dodajte novo pravilo požarnega zidu, da zagotovite, da so vrata SSL - 443 - odprta za zunanje povezave na vaši napravi med poslušanjem. država.
# systemctl restart httpd # firewall-cmd --add-service=https ## On-fly rule # firewall-cmd --permanent --add-service=https ## Permanent rule – needs firewalld restart
3. Če želite preizkusiti povezavo SSL, odprite oddaljeni brskalnik in po protokolu HTPS na https:/server_IP pojdite do naslova IP strežnika.
2. korak: Ustvarite potrdila SSL in ključe
4. Prejšnja komunikacija SSL med strežnikom in odjemalcem je bila izvedena z uporabo privzetega potrdila in ključa, ki sta bila samodejno ustvarjena ob namestitvi. Če želite ustvariti nove zasebne ključe in samopodpisane pare potrdil, na izvršljivi sistemski poti ( $PATH ) ustvarite naslednji bash skript.
Za to vadnico je bila izbrana pot /usr/local/bin/, se prepričajte, da ima skript nastavljiv izvršni bit, nato pa ga uporabite kot ukaz za ustvarjanje novih parov SSL na /etc/httpd/ssl/ kot privzeto mesto potrdil in ključev.
# nano /usr/local/bin/apache_ssl
Uporabite naslednjo vsebino datoteke.
#!/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. Zdaj naredite ta skript izvedljiv in ga zaženite, da ustvarite nov par potrdila in ključa za vašo virtualno gostiteljico Apache SSL.
Izpolnite ga s svojimi podatki in bodite pozorni na vrednost Common Name , da se ujema z FQDN vašega strežnika, ali v primeru navideznega gostovanja, da se ujema s spletnim naslovom, do katerega boste dostopali pri povezovanju z varnim spletnim mestom.
# chmod +x /usr/local/bin/apache_ssl # apache_ssl
6. Potem ko sta potrdilo in ključ generirana, bo skript prikazal dolg seznam vseh vaših parov Apache SSL, shranjenih na lokaciji /etc/httpd/ssl/.
7. Drugi pristop pri ustvarjanju potrdil in ključev SSL je namestitev paketa kripto-uporab v sistem in ustvarjanje parov z ukazom genkey , kar lahko povzroči nekatere težave, zlasti če se uporablja na zaslon terminala Putty .
Torej predlagam, da to metodo uporabite le, če ste neposredno povezani z zaslonom.
# yum install crypto-utils # genkey your_FQDN
8. Če želite na svoje spletno mesto SSL dodati novo potrdilo in ključ, odprite konfiguracijsko datoteko spletnega mesta in v tem primeru zamenjajte stavka SSLCertificateFile in SSLCertificateKeyFile z novimi lokacijami in imeni parov.
9. Če potrdila ne izda zaupanja vreden CA - overitelj ali se ime gostitelja iz potrdila ne ujema z imenom gostitelja, ki vzpostavi povezavo, se mora v vašem brskalniku prikazati napaka in potrditev morate sprejeti ročno.
To je to! Zdaj lahko apache_ssl uporabite kot ukazno vrstico na RHEL/CentOS 7.0, da ustvarite toliko parov samopodpisanih potrdil in ključev, ki jih potrebujete, in vsi bodo shranjeni na /etc/httpd/pot ssl/ z datoteko Key, zaščiteno z dovoljenji 700 .