cvs: phpdoc-ro /security cgi-bin.xml current.xml database.xml hiding.xml intro.xml

From: Date: Tue, 18 Sep 2007 12:17:53 +0000
Subject: cvs: phpdoc-ro /security cgi-bin.xml current.xml database.xml hiding.xml intro.xml
Groups: php.doc.ro 
Request: Send a blank email to doc-ro+get-276@lists.php.net to get a copy of this message
simionea Tue Sep 18 12:17:53 2007 UTC Modified files: /phpdoc-ro/security cgi-bin.xml current.xml database.xml hiding.xml intro.xml Log: Fixed whitespace. Added EN-Revision tag.

http://cvs.php.net/viewvc.cgi/phpdoc-ro/security/cgi-bin.xml?r1=1.6&r2=1.7&diff_format=u Index: phpdoc-ro/security/cgi-bin.xml diff -u phpdoc-ro/security/cgi-bin.xml:1.6 phpdoc-ro/security/cgi-bin.xml:1.7 --- phpdoc-ro/security/cgi-bin.xml:1.6 Sat Aug 18 09:44:37 2007 +++ phpdoc-ro/security/cgi-bin.xml Tue Sep 18 12:17:52 2007 @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.6 $ --> +<!-- $Revision: 1.7 $ --> +<!-- EN-Revision: 1.0 Maintainer: zamolxe Status: translated --> <!-- splitted from ./index.xml, last change in rev 1.66 --> <chapter xml:id="security.cgi-bin" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"> <title>Instalat ca un binar CGI</title> @@ -7,93 +8,66 @@ <sect1 xml:id="security.cgi-bin.attacks"> <title>Atacuri posibile</title> <simpara> - Folosind PHP ca pe un binar <acronym>CGI</acronym> este o optiune -pe care - setup-urile, dintr-un anume motiv, nu doresc sa o configureze si sa -o integreze - in PHP ca pe un modul in serverul software (precum Apache), sau vor -folosi PHP cu - ajutorul diferitelor metode de CGI wrap pentru a crea medii -securizate chroot si setuid - pentru scripturi. Acest setup implica de obicei instalarea -binarului PHP executabil in - directorul cgi-bin din serverul web. Indrumarul CERT <link -xlink:href="&url.cert;">CA-96.11</link> - nu recomanda plasarea oricarui tip de interpretor de acest gen -in directorul cgi-bin. - Chiar daca binarul PHP poate fi folosit ca un interpretor de -sine statator, PHP - a fost conceput in asa fel incat sa anticipeze atacuri generate -de un asemenea setup: + Folosind PHP ca pe un binar <acronym>CGI</acronym> este o optiune pe care + setup-urile, dintr-un anume motiv, nu doresc sa o configureze si sa o integreze + in PHP ca pe un modul in serverul software (precum Apache), sau vor folosi PHP cu + ajutorul diferitelor metode de CGI wrap pentru a crea medii securizate chroot si setuid + pentru scripturi. Acest setup implica de obicei instalarea binarului PHP executabil in + directorul cgi-bin din serverul web. Indrumarul CERT <link xlink:href="&url.cert;">CA-96.11</link> + nu recomanda plasarea oricarui tip de interpretor de acest gen in directorul cgi-bin. + Chiar daca binarul PHP poate fi folosit ca un interpretor de sine statator, PHP + a fost conceput in asa fel incat sa anticipeze atacuri generate de un asemenea setup: </simpara> <itemizedlist> <listitem> <simpara> - Accesarea fisierelor din sistem: <filename - -role="url">http://host.ext/cgi-bin/php?/etc/passwd</filename> + Accesarea fisierelor din sistem: + <filename role="url">http://host.ext/cgi-bin/php?/etc/passwd</filename> </simpara> <simpara> - Informatia din URL de dupa semnul de intrebare (?) este -pasata - liniei de comanda ca argumente si interpretata de interfata -CGI. De obicei - interpretoarele deschid si executa fisierul specificat ca -prim argument in - linia de comanda. + Informatia din URL de dupa semnul de intrebare (?) este pasata + liniei de comanda ca argumente si interpretata de interfata CGI. De obicei + interpretoarele deschid si executa fisierul specificat ca prim argument in + linia de comanda. </simpara> <simpara> - Cand este apelat ca un binar CGI, PHP refuza sa interpreteze - argumentele din linia de comanda. + Cand este apelat ca un binar CGI, PHP refuza sa interpreteze + argumentele din linia de comanda. </simpara> </listitem> <listitem> <simpara> - Puteti accesa orice document de pe server: <filename - -role="url">http://host.ext/cgi-bin/php/secret/doc.html</filename> + Puteti accesa orice document de pe server: + <filename role="url">http://host.ext/cgi-bin/php/secret/doc.html</filename> </simpara> <simpara> - Informatiile introduse in URL dupa numele binarului - PHP, <filename role="uri">/secret/doc.html</filename> sunt de -obicei + Informatiile introduse in URL dupa numele binarului + PHP, <filename role="uri">/secret/doc.html</filename> sunt de obicei utilizate pentru a specifica numele si calea catre fisierul - care trebuie deschis de catre interpretorul -<acronym>CGI</acronym>. - De obicei directivele din configuratia unui server web - (Apache: Action) sunt folosite pentru a redirecta cererile - catre documente ca <filename -role="url">http://www.host_victima.ro/secret/script.php</filename> + care trebuie deschis de catre interpretorul <acronym>CGI</acronym>. + De obicei directivele din configuratia unui server web + (Apache: Action) sunt folosite pentru a redirecta cererile + catre documente ca + <filename role="url">http://www.host_victima.ro/secret/script.php</filename> catre interpretorul PHP. Cu acest setup, serverul web verifica - mai intai permisiile de acces catre directorul <filename - role="uri">/secret</filename>, si dupa aceea creaza cererea de -redirectionare - catre <filename -role="url">http://www.host.ro/cgi-bin/php/secret/script.php</filename>. - Din pacate, daca cererea originala se face sub aceasta forma - nu sunt facute nici un fel de verificari de catre serverul -web - catre fisierul <filename -role="uri">/secret/script.php</filename>, - ci numai pentru fisierul <filename -role="uri">/cgi-bin/php</filename>. - In acest fel, orice utilizator care poate executa <filename -role="uri">/cgi-bin/php</filename>, - poate accesa automat orice director sau fisier protejat de pe -server. - </simpara> - <simpara> - In PHP, optiunea din timpul compilarii <link - -linkend="install.configure.enable-force-cgi-redirect">--enable-force-cgi-redirect</link> - si directivele de configuratie <link - linkend="ini.doc-root">doc_root</link> si <link - linkend="ini.user-dir">user_dir</link> pot fi folosite pentru a -preveni - acest atac, daca structura documentelor de pe server contine -vreun - director cu acces restrictionat. Observati mai jos explicatii -detaliate + mai intai permisiile de acces catre directorul <filename role="uri">/secret</filename>, + si dupa aceea creaza cererea de redirectionare catre + <filename role="url">http://www.host.ro/cgi-bin/php/secret/script.php</filename>. + Din pacate, daca cererea originala se face sub aceasta forma + nu sunt facute nici un fel de verificari de catre serverul web + catre fisierul <filename role="uri">/secret/script.php</filename>, + ci numai pentru fisierul <filename role="uri">/cgi-bin/php</filename>. + In acest fel, orice utilizator care poate executa + <filename role="uri">/cgi-bin/php</filename>, + poate accesa automat orice director sau fisier protejat de pe server. + </simpara> + <simpara> + In PHP, optiunea din timpul compilarii + <link linkend="install.configure.enable-force-cgi-redirect">--enable-force-cgi-redirect</link> + si directivele de configuratie <link linkend="ini.doc-root">doc_root</link> si + <link linkend="ini.user-dir">user_dir</link> pot fi folosite pentru a preveni + acest atac, daca structura documentelor de pe server contine vreun + director cu acces restrictionat. Observati mai jos explicatii detaliate despre diferite combinatii. </simpara> </listitem> @@ -101,52 +75,36 @@ </sect1> <sect1 xml:id="security.cgi-bin.default"> - <title>Cazul 1: numai fisierele publice sunt servite -clientului</title> + <title>Cazul 1: numai fisierele publice sunt servite clientului</title> <simpara> - Daca serverul dumneavoastra nu are nici un fel de continut -(directoare/fisiere) care este - restrictionat prin parola sau pe baza de IP, atunci nu este -nevoie de aceste configuratii. - Daca serverul web nu da voie la redirectari, sau nu comunica cu -binarul PHP pentru - a-i transmite daca cererea este una sigura, puteti specifica -optiunea <link - -linkend="install.configure.enable-force-cgi-redirect">--enable-force-cgi-redirect</link> - scriptului de configurare. Totusi trebuie sa va asigurati ca -scripturile dumneavoastra PHP - nu depind intr-un fel sau altul de modul in care este facuta -cererea - direct <filename - role="php">http://my.host/cgi-bin/php/dir/script.php</filename> - sau prin redirectie <filename - role="php">http://my.host/dir/script.php</filename>. - </simpara> - <simpara> - Redirectarea poate fi configurata in Apache folosind -directivele - AddHandler si Action (vezi mai jos). + Daca serverul dumneavoastra nu are nici un fel de continut (directoare/fisiere) care este + restrictionat prin parola sau pe baza de IP, atunci nu este nevoie de aceste configuratii. + Daca serverul web nu da voie la redirectari, sau nu comunica cu binarul PHP pentru + a-i transmite daca cererea este una sigura, puteti specifica optiunea + <link linkend="install.configure.enable-force-cgi-redirect">--enable-force-cgi-redirect</link> + scriptului de configurare. Totusi trebuie sa va asigurati ca scripturile dumneavoastra PHP + nu depind intr-un fel sau altul de modul in care este facuta cererea - direct + <filename role="php">http://my.host/cgi-bin/php/dir/script.php</filename> + sau prin redirectie <filename role="php">http://my.host/dir/script.php</filename>. + </simpara> + <simpara> + Redirectarea poate fi configurata in Apache folosind directivele + AddHandler si Action (vezi mai jos). </simpara> </sect1> <sect1 xml:id="security.cgi-bin.force-redirect"> <title>Cazul 2: utilizarea --enable-force-cgi-redirect</title> <simpara> - Aceasta optiune disponibila in timpul compilarii este folosita -pentru - a preveni rularea unui script PHP direct printr-un URL gen -<filename - -role="php">http://my.host/cgi-bin/php/secretdir/script.php</filename>. - In schimb, PHP va actiona in acest mod numai dupa ce se va trece de -regulile impuse - de redirectionare din serverul web. + Aceasta optiune disponibila in timpul compilarii este folosita pentru + a preveni rularea unui script PHP direct printr-un URL gen + <filename role="php">http://my.host/cgi-bin/php/secretdir/script.php</filename>. + In schimb, PHP va actiona in acest mod numai dupa ce se va trece de regulile impuse + de redirectionare din serverul web. </simpara> <simpara> - De obicei redirectarea in configuratia Apache se face dupa -urmatoarele - directive: + De obicei redirectarea in configuratia Apache se face dupa urmatoarele directive: </simpara> <programlisting role="apache-conf"> <![CDATA[ @@ -155,104 +113,78 @@ ]]> </programlisting> <simpara> - Aceasta optiune a fost testata numai cu serverul Apache, si se -bazeaza - pe setarea variabilei non-standard CGI -<envar>REDIRECT_STATUS</envar>, - pentru cererile de redirectionare. Daca serverul dumneavoastra -nu suporta - nici o metoda de a analiza daca o cerere este directa sau -redirectata, - nu puteti folosi aceasta optiune, si trebuie sa folositi alte -cai - descrise in subcapitolele de mai jos. + Aceasta optiune a fost testata numai cu serverul Apache, si se bazeaza + pe setarea variabilei non-standard CGI <envar>REDIRECT_STATUS</envar>, + pentru cererile de redirectionare. Daca serverul dumneavoastra nu suporta + nici o metoda de a analiza daca o cerere este directa sau redirectata, + nu puteti folosi aceasta optiune, si trebuie sa folositi alte cai + descrise in subcapitolele de mai jos. </simpara> </sect1> <sect1 xml:id="security.cgi-bin.doc-root"> <title>Cazul 3: configurarea doc_root sau user_dir</title> <simpara> - Includerea de continut activ, de pilda scripturi si -executabile, - in directoarele serverului web este de multe ori considerata - o metoda nesigura. Daca, din cauza unor configuratii -gresite, - scripturile nu sunt executate ci afisate ca documente HTML, - atunci securitatea sistemului si informatii vitale cum ar fi parolele - pot fi desconspirate. De aceea multi administratori de sistem - configureaza un director creat special, in care ruleaza -scripturi - accesibile numai via PHP CGI, deci care sunt interpretate - tot timpul ca atare. - </simpara> - <simpara> - De asemenea daca metoda de transmitere a cererilor, descrisa - mai sus, nu este disponibila, atunci este necesara configurarea - unui director doc_root care este diferit de documentul web -root. + Includerea de continut activ, de pilda scripturi si executabile, + in directoarele serverului web este de multe ori considerata + o metoda nesigura. Daca, din cauza unor configuratii gresite, + scripturile nu sunt executate ci afisate ca documente HTML, + atunci securitatea sistemului si informatii vitale cum ar fi parolele + pot fi desconspirate. De aceea multi administratori de sistem + configureaza un director creat special, in care ruleaza scripturi + accesibile numai via PHP CGI, deci care sunt interpretate + tot timpul ca atare. + </simpara> + <simpara> + De asemenea daca metoda de transmitere a cererilor, descrisa + mai sus, nu este disponibila, atunci este necesara configurarea + unui director doc_root care este diferit de documentul web root. </simpara> <simpara> - Puteti configura documentul radacina al scripturilor PHP prin - directiva <link linkend="ini.doc-root">doc_root</link> din + Puteti configura documentul radacina al scripturilor PHP prin + directiva <link linkend="ini.doc-root">doc_root</link> din <link linkend="configuration.file">fisierul de configuratie</link>, -sau - puteti configura variabila de mediu -<envar>PHP_DOCUMENT_ROOT</envar>. - Daca este setata, versiunea PHP pe care o detineti va constui -intotdeauna - numele fisierului deschis din <parameter>doc_root</parameter> - si informatiile despre cale din cerere, pentru a fi siguri ca -scriptul - este executat in afara acestui director (exceptie facand -<parameter>user_dir</parameter> + sau puteti configura variabila de mediu <envar>PHP_DOCUMENT_ROOT</envar>. + Daca este setata, versiunea PHP pe care o detineti va constui intotdeauna + numele fisierului deschis din <parameter>doc_root</parameter> + si informatiile despre cale din cerere, pentru a fi siguri ca scriptul + este executat in afara acestui director (exceptie facand <parameter>user_dir</parameter> de mai jos). </simpara> <simpara> - Alta optiune folosita este <link -linkend="ini.user-dir">user_dir</link>. - Cand user_dir nu este configurat, singurul lucru care -controleaza fisierul deschis este - <parameter>doc_root</parameter>. Deschiderea unui URL ca <filename - role="url">http://my.host/~user/doc.php</filename> nu rezulta din -accesarea + Alta optiune folosita este <link linkend="ini.user-dir">user_dir</link>. + Cand user_dir nu este configurat, singurul lucru care controleaza fisierul deschis este + <parameter>doc_root</parameter>. Deschiderea unui URL ca + <filename role="url">http://my.host/~user/doc.php</filename> nu rezulta din accesarea unui fisier din directorul home al utilizatorilor, ci a unui fisier numit <filename role="uri">~user/doc.php</filename> din doc_root (da, un director a carui nume incepe cu tilda [<literal>~</literal>]). </simpara> <simpara> - Daca user_dir este configurat spre exemplu ca <filename - role="dir">public_php</filename>, o cerere in genul <filename - role="url">http://my.host/~user/doc.php</filename> va deschide un -fisier - numit <filename>doc.php</filename> din directorul numit - <filename role="dir">public_php</filename> aflat sub directorul -radacina - al utilizatorului user. Daca directorul radacina al -utilizatorului user este <filename - role="dir">/home/user</filename>, fisierul executat este + Daca user_dir este configurat spre exemplu ca + <filename role="dir">public_php</filename>, o cerere in genul + <filename role="url">http://my.host/~user/doc.php</filename> va + deschide un fisier numit <filename>doc.php</filename> din directorul numit + <filename role="dir">public_php</filename> aflat sub directorul radacina + al utilizatorului user. Daca directorul radacina al utilizatorului user este + <filename role="dir">/home/user</filename>, fisierul executat este <filename>/home/user/public_php/doc.php</filename>. </simpara> <simpara> - Expansiunea <parameter>user_dir</parameter> se poate face fara a -tine cont de paramentrul - <parameter>doc_root</parameter> din setari, deci puteti controla -accesul la directorul radacina - si la directoarele utilizatorilor in mod separat. + Expansiunea <parameter>user_dir</parameter> se poate face fara a tine cont de paramentrul + <parameter>doc_root</parameter> din setari, deci puteti controla accesul la directorul radacina + si la directoarele utilizatorilor in mod separat. </simpara> </sect1> <sect1 xml:id="security.cgi-bin.shell"> - <title>Cazul 4: parserul PHP in afara directorului radacina -web</title> + <title>Cazul 4: parserul PHP in afara directorului radacina web</title> <para> - O metoda foarte sigura si eleganta este de a plasa compilatorul -PHP - in afara directorului radacina web. In <filename - role="dir">/usr/local/bin</filename>, spre exemplu. Singura -dezamagire - pe care o veti avea, este ca trebuie sa puneti urmatoarea -linie: + O metoda foarte sigura si eleganta este de a plasa compilatorul PHP + in afara directorului radacina web. In + <filename role="dir">/usr/local/bin</filename>, spre exemplu. Singura dezamagire + pe care o veti avea, este ca trebuie sa puneti urmatoarea linie: <informalexample> <programlisting> <![CDATA[ @@ -260,21 +192,16 @@ ]]> </programlisting> </informalexample> - la inceputul fiecarui fisier care contine taguri PHP. De -asemenea va - trebui sa faceti fisierul executabil. Acesta este tratat exact -ca un script - CGI scris in Perl sau sh sau orice alt limbaj de scripting care -utilizeaza - <literal>#!</literal> mecanismul shell-escape pentru a se lansa. + la inceputul fiecarui fisier care contine taguri PHP. De asemenea va + trebui sa faceti fisierul executabil. Acesta este tratat exact ca un script + CGI scris in Perl sau sh sau orice alt limbaj de scripting care utilizeaza + <literal>#!</literal> mecanismul shell-escape pentru a se lansa. </para> <para> Pentru ca PHP sa utilizeze informatiile <envar>PATH_INFO</envar> si - <envar>PATH_TRANSLATED</envar> in mod corect, acesta trebuie -compilat - cu optiunea de configurare<link - -linkend="install.configure.enable-discard-path">--enable-discard-path</link> + <envar>PATH_TRANSLATED</envar> in mod corect, acesta trebuie compilat + cu optiunea de configurare + <link linkend="install.configure.enable-discard-path">--enable-discard-path</link> </para> </sect1> http://cvs.php.net/viewvc.cgi/phpdoc-ro/security/current.xml?r1=1.2&r2=1.3&diff_format=u Index: phpdoc-ro/security/current.xml diff -u phpdoc-ro/security/current.xml:1.2 phpdoc-ro/security/current.xml:1.3 --- phpdoc-ro/security/current.xml:1.2 Sat Jun 23 13:31:02 2007 +++ phpdoc-ro/security/current.xml Tue Sep 18 12:17:52 2007 @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.2 $ --> +<!-- $Revision: 1.3 $ --> +<!-- EN-Revision: 1.0 Maintainer: zamolxe Status: translated --> <!-- splitted from ./index.xml, last change in rev 1.66 --> <chapter xml:id="security.current" xmlns="http://docbook.org/ns/docbook"> <title>Cea mai noua versiune</title> @@ -17,7 +18,6 @@ </simpara> </chapter> - <!-- Keep this comment at the end of the file Local variables: mode: sgml http://cvs.php.net/viewvc.cgi/phpdoc-ro/security/database.xml?r1=1.2&r2=1.3&diff_format=u Index: phpdoc-ro/security/database.xml diff -u phpdoc-ro/security/database.xml:1.2 phpdoc-ro/security/database.xml:1.3 --- phpdoc-ro/security/database.xml:1.2 Sat Jun 23 13:31:02 2007 +++ phpdoc-ro/security/database.xml Tue Sep 18 12:17:52 2007 @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.2 $ --> +<!-- $Revision: 1.3 $ --> +<!-- EN-Revision: 1.0 Maintainer: zamolxe Status: translated --> <!-- splitted from ./index.xml, last change in rev 1.66 --> <chapter xml:id="security.database" xmlns="http://docbook.org/ns/docbook"> <title>Securitatea Bazelor de Date</title> http://cvs.php.net/viewvc.cgi/phpdoc-ro/security/hiding.xml?r1=1.2&r2=1.3&diff_format=u Index: phpdoc-ro/security/hiding.xml diff -u phpdoc-ro/security/hiding.xml:1.2 phpdoc-ro/security/hiding.xml:1.3 --- phpdoc-ro/security/hiding.xml:1.2 Sat Jun 23 13:31:02 2007 +++ phpdoc-ro/security/hiding.xml Tue Sep 18 12:17:52 2007 @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.2 $ --> +<!-- $Revision: 1.3 $ --> +<!-- EN-Revision: 1.0 Maintainer: zamolxe Status: translated --> <!-- splitted from ./index.xml, last change in rev 1.66 --> <chapter xml:id="security.hiding" xmlns="http://docbook.org/ns/docbook"> <title>Ascunderea PHP-ului</title> http://cvs.php.net/viewvc.cgi/phpdoc-ro/security/intro.xml?r1=1.2&r2=1.3&diff_format=u Index: phpdoc-ro/security/intro.xml diff -u phpdoc-ro/security/intro.xml:1.2 phpdoc-ro/security/intro.xml:1.3 --- phpdoc-ro/security/intro.xml:1.2 Sat Jun 23 13:31:02 2007 +++ phpdoc-ro/security/intro.xml Tue Sep 18 12:17:52 2007 @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.2 $ --> +<!-- $Revision: 1.3 $ --> +<!-- EN-Revision: 1.0 Maintainer: zamolxe Status: translated --> <!-- splitted from ./index.xml, last change in rev 1.66 --> <chapter xml:id="security.intro" xmlns="http://docbook.org/ns/docbook"> <title>Introducere</title>
« previous php.doc.ro (#276) next »