Giunsa Paghimo ang Self-Signed SSL Certificates ug Keys para sa Apache sa RHEL/CentOS 7.0


Ang SSL (Secure Sockets Layer) usa ka cryptographic protocol nga nagtugot sa luwas nga pagdagayday sa datos tali sa server ug sa mga kliyente niini gamit ang simetriko/asymmetric nga mga yawe pinaagi sa paggamit sa digital nga sertipiko nga gipirmahan sa Certificate Authority (CA).

  1. Basic LAMP Installation sa RHEL/CentOS 7.0

Kini nga pagtulun-an naghatag ug pamaagi kon unsaon pag-set up ang Secure Sockets Layer (SSL) communication cryptographic protocol sa Apache Web Server nga gi-install sa Red Hat Enterprise Linux/CentOS 7.0, ug pagmugna og self-signed Certificates ug Keys gamit ang tabang sa usa ka bash script nga labi nga nagpayano sa tibuuk nga proseso.

Lakang 1: I-install ug I-configure ang Apache SSL

1. Aron mahimo ang SSL sa Apache HTTP Server gamita ang mosunod nga sugo sa pag-instalar sa SSL Module ug OpenSSL tool-kit nga gikinahanglan alang sa SSL/TLS nga suporta.

# yum install mod_ssl openssl

2. Human ma-install ang SSL module, i-restart ang HTTPD daemon ug idugang ang bag-ong lagda sa Firewall aron masiguro nga ang SSL port – 443 – maablihan kini sa gawas nga koneksyon sa imong makina sa pagpaminaw estado.

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

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

3. Aron sulayan ang koneksyon sa SSL, ablihi ang layo nga browser ug navigate sa imong server IP address gamit ang HTPS protocol sa https://server_IP.

Lakang 2: Paghimo SSL Certificates ug Keys

4. Ang miaging SSL nga komunikasyon tali sa server ug kliyente gihimo gamit ang default nga Sertipiko ug Key nga awtomatikong namugna sa pag-instalar. Aron makamugna ug bag-ong mga pribado nga yawe ug gipirmahan-sa-kaugalingon nga mga pares sa sertipiko paghimo sa mosunod nga bash script sa usa ka executable system path (PATH).

Alang niini nga panudlo /usr/local/bin/ ang dalan gipili, siguroha nga ang script adunay executable bit set ug, unya, gamita kini isip command sa paghimo og bag-ong SSL nga mga pares sa /etc/ httpd/ssl/ isip mga Certificate ug Keys nga default nga lokasyon.

# nano /usr/local/bin/apache_ssl

Gamita ang mosunod nga sulod sa file.

#!/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. Karon himoa kini nga script nga executable ug ilunsad kini aron makamugna og bag-ong pares sa Certificate ug Key para sa imong Apache SSL Virtual Host.

Pun-a kini sa imong impormasyon ug hatagi og pagtagad ang Common Name value aron mohaum sa imong server nga FQDN o sa kaso sa Virtual Hosting aron mohaum sa Web address nga imong ma-access sa dihang magkonektar sa usa ka luwas nga website.

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

6. Human mamugna ang Certificate ug Key, ang script magpresentar ug taas nga listahan sa tanan nimong mga pares sa Apache SSL nga gitipigan sa /etc/httpd/ssl/ nga lokasyon.

7. Ang uban nga pamaagi sa pagmugna og SSL Certificates ug Keys mao ang pag-instalar og crypto-utils nga pakete sa imong sistema ug pagmugna og mga pares gamit ang genkey nga sugo, nga makapahamtang og pipila ka mga problema ilabi na kon gamiton sa usa ka Putty terminal screen.

Mao nga, gisugyot nako nga gamiton kini nga pamaagi kung direkta ka nga konektado sa usa ka monitor sa screen.

# yum install crypto-utils
# genkey your_FQDN

8. Aron idugang ang bag-ong Certificate ug Key sa imong SSL website, ablihi ang configuration file sa imong website ug ilisan ang SSLCertificateFile ug SSLCertificateKeyFile nga mga pahayag sa bag-ong mga pares nga lokasyon ug mga ngalan sumala niana.

9. Kung ang Sertipiko wala gihatag sa usa ka kasaligan nga CA - Awtoridad sa Sertipikasyon o ang hostname gikan sa sertipiko dili motakdo sa hostname nga nagtukod sa koneksyon, usa ka sayup kinahanglan nga makita sa imong browser ug kinahanglan nimo nga mano-mano nga dawaton ang sertipiko.

Mao na! Karon mahimo nimong gamiton ang apache_sslbilang command line sa RHEL/CentOS 7.0 para makamugna ug daghang pares sa self-signed Certificates ug Keys nga imong gikinahanglan, ug ang tanan ibutang sa /etc/httpd/ ssl/ dalan nga adunay Key file nga giprotektahan sa 700 nga permiso.