Configurează Apache HTTP securizat pentru CentOS 7
Configurează Apache HTTP securizat pentru CentOS 7
Securizarea server-ului Apache reprezintă una dintre cele mai importante sarcini ale unui webmaster. În acest articol, vă vom arăta un tutorial pentru configurarea securizată a server-ului HTTP Apache și cum să folosiți chei ssl pentru server-ul web Apache pe un sistem cu Centos7. Această metodă ar trebui să funcționeze pe toate sistemele bazate pe Fedora sau Redhat.
Pentru început, să aflăm detalii despre sistem:
Crearea certificatelor
Trebuie să ajungem în directorul următor folosind comanda cd:
# cd /etc/pki/tls/certs
Vom rula comanda următoare pentru a crea un fișier cu cheia server-ului:
Se creează cheia RSA
# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:
writing RSA key
Se generează fișierul cu cheia CSR
Se semnează cheia și se specifică data de expirare:
# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 1000
Signature ok
subject=/C=NL/ST=Amsterdam/L=Default City/O=Unixmen/OU=Unixmen Hosting/CN=storage-server.unixmen.com/emailAddress=Pirat9@unixmen.com
Getting Private key
Se configurează cheile SSL pentru a conlucra cu Apache
# yum -y install httpd mod_ssl
Activați și porniți Apache
Se configurează ‘/etc/httpd/conf.d/ssl.conf’
Fișierul ssl.conf ar trebui să arate astfel:
#mv /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.orig
#vi /etc/httpd/conf.d/ssl.conf
LoadModule ssl_module modules/mod_ssl.so
Listen 443
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
<VirtualHost *:443>
DocumentRoot "/var/www/html"
ServerName 127.0.0.1:443
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/certs/server.key
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
Salvați și ieșiți
Reporniți Apache
Verificați dacă porturile 80 și 443 sunt active:
Oferiți permisiuni pentru porturile 80 și 443 în 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 ACCEPT
Reload and restart iptables
Dacă folosiți Firewalld, executați comenzile următoare:
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
Reporniți iptables sau reîncărcați firewall-ul:
service iptables restart
sau
firewall-cmd --reload
Deschideți navigatorul web și verificați adresa https://IP-Address.
Felicitări!
N.R. În acest exemplu, certificatul nu este generat de o autoritate recunoscută, așadar la accesarea site-ului veți primi o atenționare că certificatul nu poate fi verificat.
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License by unixmen.com