Hvordan lage selvsignerte SSL-sertifikater og nøkler for Apache på RHEL/CentOS 7.0
SSL (Secure Sockets Layer) er en kryptografisk protokoll som tillater sikker dataflyt mellom en server og dens klienter ved å bruke symmetriske/asymmetriske nøkler ved å bruke et digitalt sertifikat signert av en Certificate Authority (CA).
- Grunnleggende LAMPE-installasjon på RHEL/CentOS 7.0
Denne opplæringen gir en tilnærming til hvordan du setter opp Secure Sockets Layer (SSL) kommunikasjonskryptografisk protokoll på Apache Web Server installert i Red Hat Enterprise Linux/CentOS 7.0, og genererer selvsignerte sertifikater og nøkler med hjelp av et bash-skript som i stor grad forenkler hele prosessen.
Trinn 1: Installer og konfigurer Apache SSL
1. For å aktivere SSL på Apache HTTP Server, bruk følgende kommando for å installere SSL-modulen og OpenSSL-verktøysettet som er nødvendig for SSL/TLS-støtte.
# yum install mod_ssl openssl
2. Etter at SSL-modulen er installert, start HTTPD-demonen på nytt og legg til en ny brannmurregel for å sikre at SSL-porten – 443 – åpnes for eksterne tilkoblinger på maskinen din når du lytter stat.
# systemctl restart httpd # firewall-cmd --add-service=https ## On-fly rule # firewall-cmd --permanent --add-service=https ## Permanent rule – needs firewalld restart
3. For å teste SSL-tilkoblingen, åpne en ekstern nettleser og naviger til serverens IP-adresse ved hjelp av HTPS-protokollen på https://server_IP.
Trinn 2: Opprett SSL-sertifikater og nøkler
4. Den forrige SSL-kommunikasjonen mellom serveren og klienten ble utført med et standard sertifikat og nøkkel som ble generert automatisk ved installasjon. For å generere nye private nøkler og selvsignerte sertifikater oppretter par følgende bash-skript på en kjørbar systembane (PATH).
For denne veiledningen /usr/local/bin/ ble banen valgt, sørg for at skriptet har kjørbare bit satt og bruk det deretter som en kommando for å lage nye SSL-par på /etc/ httpd/ssl/ som standardplassering for sertifikater og nøkler.
# nano /usr/local/bin/apache_ssl
Bruk følgende filinnhold.
#!/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. Gjør nå dette skriptet kjørbart og start det for å generere et nytt par sertifikater og nøkkel for din Apache SSL Virtual Host.
Fyll den med informasjonen din og vær oppmerksom på Common Name-verdien for å matche serverens FQDN eller i tilfelle Virtual Hosting samsvarer med nettadressen du får tilgang til når du kobler til et sikkert nettsted.
# chmod +x /usr/local/bin/apache_ssl # apache_ssl
6. Etter at sertifikatet og nøkkelen er generert, vil skriptet presentere en lang liste over alle dine Apache SSL-par som er lagret /etc/httpd/ssl/.
7. En annen tilnærming til å generere SSL-sertifikater og -nøkler er å installere crypto-utils-pakken på systemet ditt og generere par ved å bruke genkey-kommandoen, noe som kan skape noen problemer, spesielt når det brukes på en Putty-terminalskjerm.
Så jeg foreslår at du bare bruker denne metoden når du er direkte koblet til en skjermmonitor.
# yum install crypto-utils # genkey your_FQDN
8. For å legge til det nye sertifikatet og nøkkelen til SSL-nettstedet ditt, åpne konfigurasjonsfilen for nettstedet og erstatt SSLCertificateFile- og SSLCertificateKeyFile-setningene med de nye parplasseringene og navnene tilsvarende.
9. Hvis sertifikatet ikke er utstedt av en klarert CA – sertifiseringsinstans eller vertsnavnet fra sertifikatet ikke samsvarer med vertsnavnet som opprettet forbindelsen, skal det vises en feil i nettleseren din, og du må manuelt godta sertifikatet.
Det er det! Nå kan du bruke apache_sslsom en kommandolinje på RHEL/CentOS 7.0 for å generere så mange par med selvsignerte sertifikater og nøkler du trenger, og alle vil bli beholdt på /etc/httpd/ ssl/-bane med nøkkelfilen beskyttet med 700-tillatelser.