Apache şi SSL

În trecut am vorbit despre câteva modalităţi prin care vă puteţi securiza distribuţia linux favorită. În cadrul acestui articol vă voi prezenta şi cum să vă securizaţi propriul server HTTP ce foloseşte Apache, pentru a evita problemele ce apar atunci când vă accesaţi serverul de la distanţă folosind WWW (world wide web).

Înainte de a începe cu elementele găsite de mine, pentru aceia dintre voi care încă sunteţi începători în ceea ce privește serverul HTTP ce foloseşte Apache, vă aduc în vedere câteva link-uri utile ce vă vor defini câţiva termeni, şi anume:

WWW: http://ro.wikipedia.org/wiki/World_Wide_Web
HTTP: http://ro.wikipedia.org/wiki/HTTP
HTTPS: http://ro.wikipedia.org/wiki/HTTPS
SSL: http://ro.wikipedia.org/wiki/Ssl

Înainte să ne apucăm de securizarea serverului nostru este necesar să avem instalate programele de bază folosind YaST, şi anume: apache şi openSSL desigur se rezolvă şi dependinţele ce apar. Luaţi în vedere faptul că pe lângă cele două programe este bine să aveţi instalat php şi mysql plus o interfaţă pentru MySQL cum ar fi phpMyAdmin. Acum că programele sunt instalate şi configurate trebuie să ştiţi că protocolul HTTP foloseşte portul 80 (conexiunea standart oferită de orice site de pe internet, nesecurizată) şi protocolul HTTPS foloseşte portul 443 (conexiunea securizată ce foloseşte un certificat generat folosind openSSL). Cu ajutorul motorului de căutare Google am reuşit să găsesc două căi prin care vă puteţi bucura de beneficiile oferite de HTTPS, şi anume:

metoda 1 cea care se adresează cu precădere începătorilor implică crearea şi folosirea unui script al cărui conţinut îl puteţi obţine de la această adresă http://en.opensuse.org/Apache_SSL_CA_Generator După care sunt necesari următorii paşi:
*activarea modulului SSL în Apache, din YaST – Network Services – HTTP Server – Server Modules – click pe SSL din lista si se dă Toggle Status astfel încât să apară Enabled în dreptul modulului după care se dă Finish
*se deschide consola (logat ca root) si se navighează în /etc/apache2/vhosts.d aici se redenumeste vhost-ssl.template în vhost-ssl.conf
*testarea certificatului se face deschizând un browser unde se tastează https://localhost
metoda 2 un pic mai complexă ce permite utilizatorului să îşi construiască certificatul asa cum doreşte şi implică următorii paşi:
*generarea cheii propriu-zise prin comanda openssl genrsa -des3 -out server.key 1024
*generarea CSR (Certificate Signing Request) prin comanda openssl req -new -key server.key -out server.csr ; în timpul acestui pas se vor completa câteva câmpuri
*eliminarea parolei de la cheia generată prin comenzile cp server.key server.key.org urmată de openssl rsa -in server.key.org -out server.key
*generarea certificatului prin comanda openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
*instalarea certificatului generat în folderele specifice apache: cp server.key /etc/apache2/ssl.key cp server.crt /etc/apache2/ssl.crt cp server.csr /etc/apache2/ssl.csr
*activarea modulului SSL în Apache, din YaST – Network Services – HTTP Server – Server Modules – click pe SSL din lista si se dă Toggle Status astfel încât să apară Enabled în dreptul modulului după care se dă Finish
*se deschide consola (logat ca root) si se navighează în /etc/apache2/vhosts.d aici se redenumeste vhost-ssl.template în vhost-ssl.conf
*testarea certificatului se face deschizând un browser unde se tastează https://localhost

Indiferent de metoda folosită este bine să deschideţi porturile 80 şi 443 în Firewall numai după ce site-ul şi certificatul au fost configurate cu succes, pentru a evita atacurile de tip brute-force asupra portului 443. De asemenea având în vedere că folosiţi un certificat propriu şi nu unul cumpărat este necesar să adăugaţi o excepţie pentru certificat în cadrul browserului preferat; acest lucru este singura diferenţă dintre un certificat generat de voi şi cel cumpărat de la firmele specializate. Acestea fiind zise nu-mi rămâne decât să vă urez o navigare cât mai sigură şi în lumina Sfintelor Sărbători de Paşti vă urez tradiţionalul Paşte Fericit !

Permanent link to this article: https://opensuse.ro/2010/03/29/apache-si-ssl/

4 comments

Skip to comment form

    • NMyL on 12 July 2010 at 21:20

    merci,

    super material si binevenit mai ales intr-un domeniu ca si cel al securitatii sistemelor (linus suse in cazul de fata) home or workplace/server,

    bravo inca o data daca pot soune asa.

    NMyL

  1. Multumesc, sper sa ajute pe cat mai multi utilizatori.

  2. salman dar cum se instaleaza un ftp ca fillezilla, lam descarcat dar nu stiu cum sa il rulez?

  3. @ionel: deschizi Yast–> Software Management–> cauti fillezilla. Dupa instalare il cauti in meniul mediului de lucru si il pornesti.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.