Hvordan Apache Med SSL På CentOS 6,4

Sikring av Apache-serveren er en av de viktigste oppgavene til webmaster. I dette eksemplet vil vi vise deg hvordan du skal bruke SSL tastene med en Apache webserver

Opprett Sertifikater

Endre til følgende katalog:.

 # cd /etc /pki /TLS /cert 

Kjør følgende kommando for å gjøre serveren nøkkelfilen:

 [root @ unixmen-Centos64 konserter] # gjøre server.keyumask 77; \\ /usr /bin /openssl genrsa -aes128 2 048 > server.keyGenerating RSA privat nøkkel, 2048 litt lang modulus .................. +++ .................. ........................ +++ e er 65 537 (0x10001) Angi passordfrasen: Bekrefter - Skriv pass setning: 

Fjern frasen fra private key:

 [root @ unixmen-Centos64 konserter] # openssl rsa -i server.nøkkel utsjekking server.keyEnter passfrase for server.nøkkel: skrive RSA nøkkel 

generere CSR nøkkelfilen
< pre> [root @ unixmen-Centos64 konserter] # gjøre server.csr umask 77; \\ /usr /bin /openssl req -utf8 -new -tasten server.nøkkel utsjekking server.csrYou er i ferd med å bli bedt om å oppgi informasjon som vil være incorporatedinto sertifikatet request.What du er i ferd med å gå inn er det som kalles en Distinguished navn eller en DN.There er ganske mange felt, men du kan la noen blankFor noen felt vil det være en standardverdi, hvis du skriver ".", vil feltet være tomt .----- Land Navn (2 bokstav code) [XX]: NLState eller provinsen Name (fullt navn) []: AmsterdamLocality navn (f.eks by) [Default By]: AmsterdamOrganization navn (f.eks selskap) [Default Company Ltd]: UnixmenOrganizational Unit Name (f.eks seksjon) []: UnixmenCommon navn (for eksempel navnet ditt eller serverens vertsnavn) []: Centos6-UnixmenEmail Adresse []: [email protected]~~MD~~aux oppgi følgende "ekstra" attributesto sendes med sertifikat requestA utfordring passord []: En valgfri firmanavn []: [root @ unixmen-Centos64 konserter] #

Signer nøkkelen og gjøre Utløps dager:

 [root @ unixmen-Centos64 konserter] # openssl x509 -in server.csr utsjekking server .crt -req -signkey server.nøkkel -Days 10000Signature oksubject=/C=NL/ST=Amsterdam/L=Amsterdam/O=Unixmen/OU=Unixmen/CN=Centos6-Unixmen/[email protected] Private nøkkelen [root @ unixmen-Centos64 konserter] # 

Konfigurer SSL tastene med Apache

 # yum -y install httpd mod_ssl 

Konfigurer '/etc/httpd/conf.d/ssl.conf'

Din ssl.conf skal være som dette:

 [root @ unixmen-Centos64 conf.d] # cat /etc/httpd/conf.d/ssl.conf | grep -v "#" LoadModule ssl_module moduler /mod_ssl.soListen 443SSLPassPhraseDialog builtinSSLSessionCache shmcb: /var /cache /mod_ssl /scache (512000) SSLSessionCacheTimeout 300SSLMutex defaultSSLRandomSeed oppstart file: /dev /urandom 256SSLRandomSeed koble builtinSSLCryptoDevice innebygd < virtuellverten *: 443 > Document " SSLv2:: /var /www /html "Server 127.0.0.1:443ErrorLog~~number=plural logger /ssl_error_logTransferLog logger /ssl_access_logLogLevel warnSSLEngine onSSLProtocol alle -SSLv2SSLCipherSuite ALLE:! ADH: EXPORT! RC4 + RSA: + HIGH: + MEDIUM: + LOWSSLCertificateFile /etc /pki /TLS /konserter /server.crtSSLCertificateKeyFile /etc/pki/tls/certs/server.key<Files ~ "\\ (cgi | Shtml | PHTML | php3?) $." > SSLOptions + StdEnvVars < /Files > < katalogen "/var /www /cgi-bin" > SSLOptions + StdEnvVars < /Directory > SetEnvIf User-Agent \\ nokeepalive ssl-uren-nedleggelse \\ nedgradere-1.0 kraft-respons-1.0CustomLog logger /"* MSIE *.." ssl_request_log \\ "% t% h% {SSL_PROTOCOL} x% {SSL_CIPHER} x \\"% r \\ "% b" < /virtuellverten > [root @ unixmen-Centos64 conf.d] # 

Restart Apache Anmeldelser

Sjekk om portene 80 og 443 lytter:

 [root @ unixmen-Centos64 conf.d] # netstat -an | grep 443tcp 0 0 ::: 443 ::: * Lytt [root @ unixmen-Centos64 conf.d] # netstat -an | grep 80tcp 0 0 ::: 80 ::: * LYTTE unix 3 [] STREAM KOBLET 12580 [root @ unixmen-Centos64 conf.d] # 

Tillat portene 80 og 443 via iptables:

 VI /etc /sysconfig /iptables-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 - j ACCEPTReload og start iptables 

Start på nytt ip tabeller:

 tjenesteleverandører iptables start 

Åpne nettleseren og sjekke https:. //IP-adresse