cvs: phpdoc-ru /chapters security.xml

From: Date: Mon, 03 Mar 2003 12:42:53 +0000
Subject: cvs: phpdoc-ru /chapters security.xml
Groups: php.doc.ru 
Request: Send a blank email to doc-ru+get-82@lists.php.net to get a copy of this message
kai Mon Mar 3 07:42:53 2003 EDT Modified files: /phpdoc-ru/chapters security.xml Log: Errata fixed Index: phpdoc-ru/chapters/security.xml diff -u phpdoc-ru/chapters/security.xml:1.3 phpdoc-ru/chapters/security.xml:1.4 --- phpdoc-ru/chapters/security.xml:1.3 Tue Jan 21 04:42:58 2003 +++ phpdoc-ru/chapters/security.xml Mon Mar 3 07:42:52 2003 @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="windows-1251"?> <!-- EN-Revision: 1.50 Maintainer: alexws Status: ready --> -<!-- $Revision: 1.3 $ --> +<!-- $Revision: 1.4 $ --> <chapter id="security"> <title>Áåçîïàñíîñòü</title> <simpara> PHP - ýòî ìîùíûé ÿçûê ïðîãðàììèðîâàíèÿ è èíòåðïðåòàòîð. Áóäó÷è èíòåãðèðîâàííûì â âèäå ìîäóëÿ â Web-ñåðâåð, èëè âûïîëíÿÿñü êàê - îääåëüíîå <acronym>CGI</acronym>-ïðèëîæåíèå, îí ìîæåò îáðàùàòüñÿ + îòäåëüíîå <acronym>CGI</acronym>-ïðèëîæåíèå, îí ìîæåò îáðàùàòüñÿ ê ôàéëàì, èñïîëíÿòü êîìàíäû è îòêðûâàòü ñåòåâûå ñîåäèíåíèÿ íà ñåðâåðå. Ýòè îñîáåííîñòè äåëàþò âñå, ÷òî âûïîëíÿåòñÿ íà Web-ñåðâåðå, íåáåçîïàñíûì. PHP ñïåöèàëüíî ðàçðàáàòûâàëñÿ äëÿ òîãî, ÷òîáû áûòü @@ -25,9 +25,9 @@ </simpara> <simpara> Ãèáêîñòü íàñòðîéêè PHP êîíêóðèðóåò ñ ãèáêîñòüþ ïðîãðàììèðîâàíèÿ. - PHP äëÿ ñîçäàíèÿ ñåðâåðíûõ ïðèëîæåíèé ñî âñåìè âîçìîæíîñòÿìè ðÿäîâîãî - ïîëüçîâàòåëÿ ñèñòåìû, èëè äëÿ ïðîñòîãî âêëþ÷åíèÿ ôàéëîâ íà ñòîðîíå - ñåðâåðà, êîòîðîå íå ïðåäñòàâëÿåò îïàñíîñòè â õîðîøî êîíòðîëèðóåìîé + PHP ìîæåò áûòü èñïîëüçîâàí äëÿ ñîçäàíèÿ ñåðâåðíûõ ïðèëîæåíèé ñî âñåìè + âîçìîæíîñòÿìè ïîëüçîâàòåëÿ shell, èëè äëÿ ïðîñòîãî âêëþ÷åíèÿ ôàéëîâ íà + ñòîðîíå ñåðâåðà, êîòîðîå íå ïðåäñòàâëÿåò îïàñíîñòè â õîðîøî êîíòðîëèðóåìîé ñèñòåìå. Òî, êàê ïîñòðîåíà ñèñòåìà, è íàñêîëüêî îíà áåçîïàñíà, ïðàêòè÷åñêè ïîëíîñòüþ çàâèñèò îò ðàçðàáîò÷èêà, èñïîëüçóþùåãî PHP. </simpara> @@ -69,14 +69,14 @@ <simpara> Ïðè îòëàäêå ïîìíèòå, ÷òî íåâîçìîæíî ïðåäóãàäàòü âñå âàðèàíòû ðàçâèòèÿ ñîáûòèé äàæå äëÿ îäíîé åäèíñòâåííîé ñòðàíè÷êè. Îæèäàåìûå âõîäíûå äàííûå - ìîãóò îòëè÷àòü îò ââåäåííûõ íåäîáðîñîâåñòíûì ðàáîòíèêîì, õàêåðîì ñ + ìîãóò îòëè÷àòüñÿ îò ââåäåííûõ íåäîáðîñîâåñòíûì ðàáîòíèêîì, õàêåðîì ñ ìíîãîëåòíèì ñòàæåì èëè ïðîñòî êîøêîé, ïðîøåäøåéñÿ ïî êëàâèàòóðå. Ïîýòîìó âñåãäà óäîáíåå ïîäõîäèòü ê ïðîãðàììå ñ òî÷êè çðåíèÿ ëîãèêè, ÷òîáû ïðîñëåäèòü ìåñòà âîçìîæíîãî ïîÿâëåíèÿ íåîæèäàííûõ äàííûõ, à òàêæå èõ èñïîëüçîâàíèÿ. </simpara> <simpara> - Internet ïîëîí ëþäåé, êîòîðûå õîòÿò ñäåëàòü ñåáå èìÿ ïóòåì âçëîìà + Èíòåðíåò ïîëîí ëþäåé, êîòîðûå õîòÿò ñäåëàòü ñåáå èìÿ ïóòåì âçëîìà âàøåãî êîäà, îñòàíîâà âàøåãî ñàéòà, ðàçìåùåíèÿ íåïîäõîäÿùèõ äàííûõ, â îáùåì, âñåãî, ÷òî íå äàåò âàì æèòü ñïîêîéíî. Íåâàæíî, êàêîãî ìàñøòàáà âàø ñàéò, âû íàõîäèòåñü ïîä ïðèöåëîì ïðîñòî ïîòîìó, ÷òî âû â ñåòè, @@ -131,7 +131,7 @@ Èíôîðìàöèîííàñÿ ÷àñòü URL ïîñëå íàçâàíèÿ ïðèëîæåíèÿ PHP <filename role="uri">/secret/doc.html</filename> îáû÷íî èñïîëüçóåòñÿ äëÿ çàäàíèÿ ôàéëà, êîòîðûé áóäåò îòêðûò è - èíòåðïðåòèðîâàí ïðèëîæåíèå <acronym>CGI</acronym>. + èíòåðïðåòèðîâàí ïðèëîæåíèåì <acronym>CGI</acronym>.  îáùåì ñëó÷àå äëÿ ïåðåíàïðàâëåíèÿ çàïðîñîâ âèäà <filename role="url">http://my.host/secret/script.php</filename> èíòåðïðåòàòîðó PHP èñïîëüçóþòñÿ äèðåêòèâû êîíôèãóðàöèè Web-ñåðâåðà @@ -247,7 +247,7 @@ Åùå îäíîé ïîëåçíîé îïöèåé ÿâëÿåòñÿ <link linkend="ini.user-dir">user_dir</link>. Åñëè user_dir íå çàäàíà, òî åäèíñòâåííûì ôàêòîðîì, âëèÿþùèì íà èìÿ îòêðûâàåìîãî ôàéëà ÿâëÿåòñÿ <parameter>doc_root</parameter>. Îòêðûòèå - ULR âðîäå <filename role="url">http://my.host/~user/doc.php</filename> + URL âðîäå <filename role="url">http://my.host/~user/doc.php</filename> íå ïðèâåäåò â ýòîì ñëó÷àå ê îòêðûòèþ ôàéëà âíóòðè äîìàøíåãî êàòàëîãà ïîëüçîâàòåëÿ.  ýòîì ñëó÷àå áóäåò îòêðûò ôàéë <filename role="uri">~user/doc.php</filename> â êàòàëîãå, çàäàííîì â @@ -272,7 +272,7 @@ </sect2> <sect2 id="security.cgi-bin.shell"> - <title>Âàðèàíò 4: òðàíñëÿòîð PHP âíå äåðåâà äîêóìåíòîâ Web</title> + <title>Âàðèàíò 4: èíòåðïðåòàòîð PHP âíå äåðåâà äîêóìåíòîâ Web</title> <para> Âåñüìà áåçîïàñíûì ÿâëÿåòñÿ ïîìåùåíèå ïðîãðàììû-òðàíñëÿòîðà PHP çà ïðåäåëàìè äåðåâà äîêóìåíòîâ Web-ñåðâåðà. Ê ïðèìåðó, â <filename @@ -304,7 +304,7 @@ <sect1 id="security.apache"> <title>Ïðè èíñòàëëÿöèè â âèäå ìîäóëÿ Apache</title> <simpara> - Ïðè èñïîëüçîâàíèè PHP, êàê Apache-ìîäóëü, äàííûé ìîäóëü ïîëó÷àåò + Ïðè èñïîëüçîâàíèè PHP, êàê ìîäóëÿ Apache, äàííûé ìîäóëü ïîëó÷àåò âñå ïðàâà è ðàçðåøåíèÿ Apache (îáû÷íî, ïðàâà ïîëüçîâàòåëÿ "nobody", ò.å. "îòñóòñòâóþùåãî" ïîëüçîâàòåëÿ). Ýòî âíîñèò íåêîòîðûå ñëîæíîñòè â ñèñòåìó áåçîïàñíîñòè è àâòîðèçàöèè. Ê ïðèìåðó, åñëè PHP èñïîëüçóåòñÿ @@ -324,7 +324,7 @@ ïðîáëåìû áåçîïàñíîñòè, îêàçûâàåòñÿ, ÷òî PHP íå ìîæåò çàïèñàòü íè îäíîãî ôàéëà â ïîëüçîâàòåëüñêèå êàòàëîãè. Èëè, äîïóñòèì, íå èìååò äîñòóïà ê áàçàì äàííûõ. PHP îêàçûâàåòñÿ îäèíàêîãî çàùèùåííûì îò - çàïèñè äîçâîëåííûõ è íåäîçâîëåííûõ ôàëîâ, èëè îò ïðîèçâåäåíèÿ + çàïèñè äîçâîëåííûõ è íåäîçâîëåííûõ ôàéëîâ, èëè îò ïðîèçâåäåíèÿ äîçâîëåííûõ èëè íåäîçâîëåííûõ îïåðàöèé ñ áàçàìè äàííûõ. </simpara> <simpara> @@ -391,7 +391,7 @@ ââîäà, ìîæíî ïîäñòàâèòü ëþáûå èìåíà ïîëüçîâàòåëÿ è ôàéëà, äàæå åñëè ýòîò ôàéë ïðèíàäëåæèò êîìó-òî äðóãîìó.  ýòîì ñëó÷àå íåîáõîäèìî èñïîëüçîâàòü ñõåìó àóòåíòèôèêàöèè ïîëüçîâàòåëåé. Êðîìå òîãî, - ïðåäñòàâüòå, ÷òî ñëó÷èòüñÿ, åñëè ïåðåäàííûå ïåðåìåííûå áóäóò + ïðåäñòàâüòå, ÷òî ñëó÷èòñÿ, åñëè ïåðåäàííûå ïåðåìåííûå áóäóò ñîîòâåòñòâåííî "../etc/" è "passwd". Òîãäà ïðîãðàììà áóäåò âûãëÿäåòü òàê: <example> @@ -487,7 +487,7 @@ <simpara> Ñåãîäíÿ áàçû äàííûõ - îñíîâíàÿ ñîñòàâëÿþùàÿ ïðàêòè÷åñêè ëþáûõ ïðèëîæåíèé, îñíîâàííûõ íà Web, êîòîðàÿ äàåò âîçìîæíîñòü ïðåäîñòàâëåíèÿ ðàçíîîáðàçíîãî - äèíàìè÷åñêîãî ñîäåðæèìîãî. Ïîñêîëüêó â òàêèõ áàçàõ äàííûì ìîæåò õðàíèòüñÿ + äèíàìè÷åñêîãî ñîäåðæèìîãî. Ïîñêîëüêó â òàêèõ áàçàõ äàííûõ ìîæåò õðàíèòüñÿ âåñüìà âàæíàÿ è ñåêðåòíàÿ èíôîðìàöèÿ, íóæíî ïîçàáîòèòüñÿ è îá èõ çàùèòå. </simpara> <simpara> @@ -621,8 +621,8 @@ <sect2 id="security.database.sql-injection"> <title>Âíåäðåíèå â SQL</title> <simpara> - Ìíîãèå ðàçðàáîò÷èêè Web-ïðèëîæåíèé ñ÷èòàþò çàïðîñû SQL íå ñòîÿùèìè, - âíèìàíèÿ íå çíàÿ î òîì, ÷òî èõ ìîæåò èñïîëüçîâàòü çëîóìûøëåííèê. Ýòî + Ìíîãèå ðàçðàáîò÷èêè Web-ïðèëîæåíèé ñ÷èòàþò çàïðîñû SQL íå ñòîÿùèìè + âíèìàíèÿ, íå çíàÿ î òîì, ÷òî èõ ìîæåò èñïîëüçîâàòü çëîóìûøëåííèê. Ýòî îçíà÷àåò, ÷òî çàïðîñû SQL ìîãóò áûòü èñïîëüçîâàíû äëÿ îáõîäà ñèñòåì çàùèòû, àóòåíòèôèêàöèè è àâòîðèçàöèè, à òàêæå èíîãäà ìîãóò áûòü èñïîëüçîâàíû äëÿ ïîëó÷åíèÿ äîñòóïà ê êîìàíäàì óðîâíÿ îïåðàöèîííîé @@ -1057,7 +1057,7 @@ ]]> </programlisting> </example> - Ðàçóìíî èñïîëüçóÿ äàííûé ìåòîä, ìîæíî äàæå ïðèíÿò ìåðû ïðåäîòâðàùåíèÿ + Ðàçóìíî èñïîëüçóÿ äàííûé ìåòîä, ìîæíî äàæå ïðèíÿòü ìåðû ïðåäîòâðàùåíèÿ ïîäìåíû äàííûõ, ïðåäóïðåæäàÿ, êîãäà òàêîâàÿ ïðåäïðèíèìàåòñÿ. Åñëè èçâåñòíî, ãäå äîëæíà áûòü íåîáõîäèìàÿ ïåðåìåííàÿ, ìîæíî ïðîâåðèòü, íå èäåò ëè îíà îò íåäîïóñòèìîãî èñòî÷íèêà. Ýòî íå ãàðàíòèðóåò îòñóòñòâèå

« previous php.doc.ru (#82) next »