Deprecated: Function split() is deprecated in /home/www/static/linuxsoft.ro/www.linuxsoft.ro/public_html/wiki/inc/auth.php on line 146 Warning: Cannot modify header information - headers already sent by (output started at /home/www/static/linuxsoft.ro/www.linuxsoft.ro/public_html/wiki/inc/auth.php:146) in /home/www/static/linuxsoft.ro/www.linuxsoft.ro/public_html/wiki/inc/auth.php on line 236 Warning: Cannot modify header information - headers already sent by (output started at /home/www/static/linuxsoft.ro/www.linuxsoft.ro/public_html/wiki/inc/auth.php:146) in /home/www/static/linuxsoft.ro/www.linuxsoft.ro/public_html/wiki/inc/actions.php on line 128 administrare:apache_ssl [Linux Soft Wiki]
 

Un tutorial despre configurarea corectă a accesului securizat (HTTPS) pentru un server Apache.

Configurare Apache

Suse

Pentru Suse 9.x modificaţi următoarele fişiere:

  1. /etc/sysconfig/apache2
     # your settings
    -APACHE_MODULES="access actions alias auth autoindex cgi dir include log_config mime negotiation setenvif status userdir asis imap php4 perl python suexec"
    +APACHE_MODULES="access actions alias auth autoindex cgi dir include log_config mime negotiation setenvif status userdir asis imap php4 perl python suexec ssl"
    
     # Example:
     #      "SSL STATUS AWSTATS SVN_VIEWCVS no_subversion_today"
     #
    -APACHE_SERVER_FLAGS=""
    +APACHE_SERVER_FLAGS="SSL"
     #
     # Increase it, if you use mod_ssl and your certificate is passphrase protected!
    -APACHE_START_TIMEOUT="2"
    +APACHE_START_TIMEOUT="5"
    
  2. /etc/apache2/default-server.conf eliminaţi comentariile (caracterul diez) din secţiunea următoare:
    #<IfDefine SSL>
    # SSLEngine off
    #</IfDefine>

RedHat

Manualul de la RedHat descrie într-un mod foarte clar procedura de configurare a serverului Apache.

Certificate

Pot fi de mai multe tipuri

  1. semnate de o autoritate, in aceasta categorie mai avem
    1. comerciale - costă în general câteva sute de dolari pe an.
    2. gratuite - CAcert sau StartCom oferă certificate care sunt acceptate de anumite browsere, în special Firefox, mai puţin IE.
  2. autosemnat - modalitatea de generare a unui astfel de certificat este descrisa in paragraful urmator.

Autosemnat

Avantajul acestui tip de certificat este ca nu costă bani în schimb utilizatorul va fi atenţionat de faptul că certificatul respectiv nu a fost semnat de o autoritate în domeniu. Link-uri utile:

  1. Documentaţie în engleză, sursa informaţiilor din această pagină.

Exemplu
Certificatul creat in exemplul de mai jos este pentru domeniul www.prolix.ro ceea ce înseamnă că este bun pentru orice subdomeniu *.www.prolix.ro dar nu şi pentru *.prolix.ro.
Paşii de urmat:
1. ca.key
Se crează cheia pentru autoritatea de certificare (CA):

openssl genrsa -des3 -out ca.key 4096

Va trebui să introduceţi o parolă pentru această cheie.

2. ca.crt
Generaţi certificatul autorităţii, în exemplul următor valid pe 2 ani:

openssl req -new -x509 -days 730 -key ca.key -out ca.crt
Enter pass phrase for ca.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:RO
State or Province Name (full name) [Some-State]:Bihor
Locality Name (eg, city) []:Oradea
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Prolix CA
Organizational Unit Name (eg, section) []:Software Development CA
Common Name (eg, YOUR name) []:www.prolix.ro CA
Email Address []:info@prolix.ro

Foarte important ca valorile Common Name (CN), Organization (O) şi Organizational Unit (OU) al CA şi al certificatului pentru domeniu să fie diferit. Am rezolvat asta prin adăugarea CA la aceste valori.

3. www.prolix.ro.key
Generăm cheia securizată pentru domeniul nostru:

openssl genrsa -des3 -out www.prolix.ro.key 4096

Aceasta cheie necesită introducerea unei parole la fiecare pornire a serverului Apache. Pentru a evita acest lucru vom crea o versiune care nu necesită introducerea parolei. Faceţi aceasta modificare doar după ce a-ţi completat toţi paşii:

mv www.prolix.ro.key www.prolix.ro.key.secure
openssl rsa -in www.prolix.ro.key.secure -out www.prolix.ro.key

4. www.prolix.ro.csr
Generaţi cererea de semnătura pentru www.prolix.ro:

openssl req -new -key www.prolix.ro.key -out www.prolix.ro.csr
Enter pass phrase for www.prolix.ro.key:
You are about to be asked to enter information that will be incorporated 
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:RO
State or Province Name (full name) [Some-State]:Bihor
Locality Name (eg, city) []:Oradea
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Prolix
Organizational Unit Name (eg, section) []:Software Development
Common Name (eg, YOUR name) []:www.prolix.ro
Email Address []:info@prolix.ro

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

5. www.prolix.ro.crt
Semnează cererea (fişierul .csr) cu autoritatea proprie creată anterior:

openssl x509 -req -days 730 -in www.prolix.ro.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out www.prolix.ro.crt
Signature ok
subject=/C=RO/ST=Bihor/L=Oradea/O=Prolix/OU=Software Development/CN=www.prolix.ro/emailAddress=info@prolix.ro
Getting CA Private Key
Enter pass phrase for ca.key:

Pentru a examina fisierele create anterior folosiţi următoarele comenzi:

openssl rsa -noout -text -in www.prolix.ro.key
openssl req -noout -text -in www.prolix.ro.csr
openssl rsa -noout -text -in ca.key
openssl x509 -noout -text -in ca.crt

Copierea fişierelor

Fişierele astfel create trebuiesc plasate:

Distributie www.prolix.ro.crt www.prolix.ro.key
Suse /etc/apache2/ssl.crt/ /etc/apache2/ssl.key

www.prolix.ro.key e cheia care nu e protejată de o parolă.

Asiguraţi-vă că dreptul de acces pentru aceste două fişiere este 400, folosind chmod:

chmod 400 www.prolix.ro.crt
chmod 400 www.prolix.ro.key
 
administrare/apache_ssl.txt · Last modified: 2008/03/02 17:38 by pghoratiu
 
Publicaţi pe acest Wiki doar conţinut original, nu se acceptă copierea articolelor de pe alte site-uri. Se recomandă folosirea link-urilor in acest caz.
Recent changes RSS feed