Feb 09 2006
Apache cu SSL
Premize
Cred ca ar fi necesar, pentru inceput si pana la final
sa fie instalat un server Apache, si printre modulele cu care vine el sa fie si modulul mod-ssl, de preferinta ultima versiune. Daca este si pachetul opensSSL instalat si configurat, inseamna ca tu, cititorule, poti sa inchizi pagina asta, ai facut ceea ce trebuia … Acest minitutorial pleaca de la premiza, foarte des intalnita ca tocmai s-a instalat RH7.3 (din cate am vazut pana acum baietii buni de la firmele care se “respecta” il instaleaza full ca sa nu se mai chinuie sa caute pachetele dupa aia
)) si se vrea securizarea unui domeniu/director/pagina de web de pe server. Si cum o cheie/licenta costa ceva bani, eu vin cu solutia cea mai ieftina, crearea unei chei SSL proprii. Ieftin si in principiu, EFICIENT !
Deci sa facem cheia. In principiu eu folosesc un script :
################################################ ### self-signed.sh ################################################ #!/bin/bash openssl genrsa -des3 -out $1.key 1024 openssl req -new -key $1.key -x509 -days 365 -out $1.crt cp $1.key $1.key.data openssl rsa -in $1.key.data -out $1.key chmod 400 $1.key mv $1.key* ssl.key/ mv $1.crt ssl.crt/ /etc/init.d/httpd restart
Dragul de el imi usureaza viata in stilul caracteristic al unui script. Il apelez ./self-signed.sh cheia-mea si el va creea cheia dupa ce ma intreaba tot felul de lucruri importante pentru el. Sunt precaut si creez cheia cu termen de valabilitate de un an, la urma urmei poate la anul o sa am mai multi bani, si poate imi iau si eu un certificat SSL semnat de VeriSign, sau de cine o sa fie mai aproape la anul. Daca gresesc pot sa o iau de la capat, dar daca am macar o vaga banuiala ca voi gresi e mai bine sa scot ultima linie din el, pentru ca daca am serverul http pornit si cu lucruri importante pe el, s-ar putea sa ia o pauza … ghici ce o sa zica shefu’ ?
) dar cui ii pasa, in cele din urma … tot o sa-mi mearga … si inca securizat pe deasupra
Deci rulez dragalasul script mai sus mentionat … Ahh, am uitat sa spun … asa cum este scris trebuie rulat din radacina directorului care contine directoarele ssl.* (la mine este in general /etc/httpd/conf), ca altfel cine stie ce face … si nici nu iese ce trebuie.
DAR … este stilul meu caracteristic
Ca de obicei am pornit cu finalul. Inainte de orice editez putin httpd.conf :
< VirtualHost _default_:443>
DocumentRoot /var/www/dir-problema
ServerName teste.domeniul.meu
ServerAdmin me@domeniul.meu
#ErrorLog /etc/httpd/logs/error_log
#TransferLog /etc/httpd/logs/access_log
SSLEngine on
SSLCertificateFile /etc/httpd/conf/ssl.crt/cheia-mea.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/cheia-mea.key
SSLCACertificateFile /etc/httpd/conf/ssl.crt/ca-bundle.crt
< Files ~ ".(cgi|shtml)$">
SSLOptions +StdEnvVars
< /Files>
< Directory "/etc/httpd/cgi-bin">
SSLOptions +StdEnvVars
< /Directory>
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
CustomLog /etc/httpd/logs/ssl_request_log
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
< /VirtualHost>
si pe deasupra ma asigur ca pe undeva prin el nu sunt comentate liniile :
LoadModule ssl_module modules/libssl.so AddModule mod_ssl.c
Daca nu sunt deloc … hmm … cred ca ar trebui sa verifici daca mod_ssl este instalat … ca poate era in plan da’ nu a ajuns la intalnire .
Dupa ce fac si chestia asta grea, editare parca se numeste, verific sa nu cumva mai am pe undeva prin fisierul de configurare VirtualHost _default_:443, si daca am fie comentez sectiunea de VirtualHost respectiva, fie … da’, la urma urmei poate fi stearsa, pentru ca oricum nu mai foloseste la nimic.
Restartez demonul httpd, in principiu nu ar trebui sa fie nici o problema, o sa pleca ca din pusca. Chestia asta cu SSL-ul are ca aspect placut partea de securitate, un dezavantaj destul de neplacut pentru masinile mai slabe este gradul mare de incarcare al procesorului si al memoriei, la urma urmei se securizeaza conexiunea, criptare/decriptare a traficului, toate astea sunt durerease pentru o masina cu putine resurse. Dar daca n-au fost bani de certificat SSL… poate gasesc bani pentru masina, desi pe un procesor de 200MHz si cu 64MB RAM se misca destul de bine. Si cam asta este … de acum incolo am securitate pe pagina apelata cu
http://teste.domeniul.meu:443/
sau
https://teste.domeniul.meu/
Toate acestea prezentate aici sunt doar la nivel informativ. Urmati pasii cu atentie (daca se pot numi pasi) totul va merge ok. Pentru sugestii si reclamatii sunt aici.






