Configurare mod_ssl (Apache)

Apache, cel mai popular server de web opensource este folosit pe scara larga pentru a gazdui site-uri web statice sau dinamice, pentru servicii web sau pentru orice altceva poate fi implementat folosind HTTP. La momentul scrierii acestui articol Apache-ul era folosit pentru a servi mai mult de jumatate din site-urile web de pe planeta. De asemenea, Apache este serverul web implicit in toate distributiile de Linux.

mod_ssl, este modulul din Apache ce este responsabil cu criptarea traficului HTTP. Prin criptarea canalului de comunicatii acest modul face posibila transmiterea in siguranta a informatiilor sensibile pentru parole, date confidentiale, etc. Din pacate, configuratia implicita a acestui modul este extrem de permisiva si permite folosirea unor metode slabe de criptare, lucru care in final duce la un fals sentiment de siguranta a datelor transmise prin retea. Motivul pentru care configurarea implicita a mod_ssl permite folosirea metodelor slabe de criptare este flexibilitatea, el permitand astfel chiar si echipamentelor mai vechi ce nu implementeaza standarde inalte de securitate si criptare sa foloseasca conexiuni SSL. In cazul in care in organizatia dvs nu exista astfel de echipamente, va recomandam sa utilizati pentru mod_ssl urmatoarea configuratie:

<IfModule mod_ssl.c>
    SSLCipherSuite ECDHE-RSA-AES256-SHA384:AES256-SHA256:HIGH:!RC4:!MD5:!aNULL:!EDH:!AESGCM
    SSLHonorCipherOrder On
    SSLProtocol -ALL +SSLv3 +TLSv1
    SSLOptions -OptRenegotiate

    CustomLog /var/log/apache2/ssl_request_log \
      "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</IfModule>

In acelasi timp, este recomandat sa inlaturati din fisierele de configurare urmatoarele directive:

        SetEnvIf User-Agent ".*MSIE.*" \
                 nokeepalive ssl-unclean-shutdown \
                 downgrade-1.0 force-response-1.0

Optiunile de mai sus reconfigureaza mod_ssl astfel incat:

  1. Parametrii negociati pentru conexiunea SSL sa fie negociati incepand de la cel mai puternic/sigur pana la un minim acceptabil de siguranta;
  2. Nu permite renegocierea parametrilor pentru o conexiune deja existenta.

Informatiile din acest articol au rolul de a intari configuratia implicita a mod_ssl si de a creste gradul de siguranta al datelor ce sunt transmise prin conexiuni criptate cu SSL/TLS la nivelul serverului de web. Aceste directive nu va ajuta insa in cazul in care aplicatia web care este accesata prin intermediul Apache are probleme de securitate sau este configurata necorespunzator. Este intotdeauna recomandat sa cititi, si acolo unde este posibil sa implementati, masurile de siguranta specificate de producator/autor.

 

Comments are closed.