cvs: phpdoc /ja/chapters security.xml
| From: | Masaki Fujimoto | Date: | Wed, 12 Dec 2001 14:02:37 +0000 |
| Subject: | cvs: phpdoc /ja/chapters security.xml | ||
| Groups: | php.doc | ||
| Request: | Send a blank email to phpdoc+get-969339662@lists.php.net to get a copy of this message | ||
fujimoto Wed Dec 12 09:02:37 2001 EDT
Modified files:
/phpdoc/ja/chapters security.xml
Log:
updated translation (up to 1.37).
Index: phpdoc/ja/chapters/security.xml diff -u phpdoc/ja/chapters/security.xml:1.15 phpdoc/ja/chapters/security.xml:1.16 --- phpdoc/ja/chapters/security.xml:1.15 Tue Nov 20 20:48:37 2001 +++ phpdoc/ja/chapters/security.xml Wed Dec 12 09:02:37 2001 @@ -1,4 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- $Revision: 1.16 $ --> <chapter id="security"> <title>ã»ãã¥ãªãã£</title> @@ -36,6 +37,48 @@ ãã£ä¸ã®ã¢ããã¤ã¹ãè¡ãã¾ãã </simpara> + <sect1 id="security.general"> + <title>ä¸è¬çãªèæ ®äºé </title> + <simpara> + å®å ¨ã«å®å ¨ãªã·ã¹ãã ã¯çæ³ã®ç£ç©ã§ãããªããããã»ãã¥ãªãã£æ¥çã§ + ãã°ãã°ä½¿ç¨ãããææ³ã¯ããªã¹ã¯ã¨å©ä¾¿æ§ã®ãã©ã³ã¹ã®ã¨ããææ³ã§ãã + 夿°ãã¦ã¼ã¶ããæç¨¿ããã度ã«(ç¶²èã¹ãã£ã³ã¨æç´ã®ãããª)2種é¡ã® + çä½èªè¨¼ãå¿ è¦ã ã¨ããããæ¥µç«¯ã«é«ãã¬ãã«ã®èª¬æç¾©åãçãã¾ããã¾ + ããããªãè¤éãªãã©ã¼ã ãåããããã«30åããããã¨ããã°ãã¦ã¼ã¶ + ãã»ãã¥ãªãã£ããã¤ãã¹ããææ®µãæ¢ãæ°åã«ãããå¾åãããã¾ãã + </simpara> + <simpara> + æåã®ã»ãã¥ãªãã£ã¯ãé常ãã¦ã¼ã¶ã«ããæ¥åã®éæãé²ãããã«è¦æ± + ãååã«éæã§ããç¨åº¦ã«ããã§ãã¾ãããªããã®ã§ãããããããã㤠+ ãã®ã»ãã¥ãªãã£æ»æã¯ãåç´ã«ãã®ç¨®ã®å¤ããã«æ§ç¯ãããæéãæµªè²» + ããã¡ãªã»ãã¥ãªãã£æ©æ§ãçããã®ã§ãã + </simpara> + <simpara> + è¨æ¶ããã«å¤ããè¨èã¨ãã¦æ¬¡ã®ãããªãã®ãããã¾ãããã·ã¹ãã ã¯é + ã®æãå¼±ã輪ã¨åç¨åº¦ã«åªãã¦ãããå ¨ã¦ã®ãã©ã³ã¶ã¯ã·ã§ã³ãæéãå ´ + æããã©ã³ã¶ã¯ã·ã§ã³ã®åçã«åºã¥ã大éã«è¨é²ããã¦ããããã¦ã¼ã¶ã¯ + ä¸ã¤ã®ã¯ããã¼ã®ã¿ã«ããèªè¨¼ããã¦ããå ´åãã¦ã¼ã¶ã¨ãã®ãã©ã³ã¶ã¯ + ã·ã§ã³ãã°ã®çµã³ä»ãã®ç¢ºå®æ§ã¯ããªãå¼±ããªãã¾ãã + </simpara> + <simpara> + ãã¹ãã®éã«ãæãç°¡åãªãã¼ã¸ã«é¢ãã¦ã§ãããå ¨ã¦ã®å¯è½æ§ããã¹ã + ãããã¨ã¯ä¸å¯è½ã§ããã¨ãããã¨ãé ã«å ¥ãã¦ããã¦ä¸ãããæå¾ ãã + å ¥åã¯ã䏿©å«ãªç¤¾å¡ãçµé¨ã®ããã¯ã©ãã«ã¼ããã¼ãã¼ãã®ä¸ãæ©ãå®¶ + ã®ç«ã«ããå ¥åã¨ã¯å ¨ãç¡é¢ä¿ã§ããããããããæ³å®å¤ã®ãã¼ã¿ãå ¥å + ãããå¯è½æ§ãããå ´æãè¦åããããã«è«ççãªè¦ç¹ããã³ã¼ããè¦ã¦ã + ãã®å¾ãä¿®æ£ãæ¸å°ãã¾ãã¯è©³ç´°ã«èª¿ã¹ãã¨ããã®ããæåã§ããã¨ãã + çç±ã§ãã + </simpara> + <simpara> + ã¤ã³ã¿ã¼ãããã«ã¯ããªãã®ã³ã¼ããå£ããããã·ã¹ãã ãç ´å£ãããã + ä¸é©åãªå 容ãæç¨¿ãããããã®ä»ããªãã®ä¸æ¥ãä¸å¿«ã«ãããããªã㨠+ ã«ããèªåã®åã馳ãããã¨æã人ããããããã¾ãããµã¤ãã®è¦æ¨¡ã®å¤§ + å°ã«ããããåã«ãªã³ã©ã¤ã³ã§ãããæ¥ç¶ã§ãããµã¼ããæãã¦ããã ã + ã§æ»æç®æ¨ã¨ãªããã¾ããå¤ãã®ã¯ã©ãã¯ç¨ããã°ã©ã ã¯ãµã¤ãã®å¤§ãã + ãèæ ®ãããç ç²è ãæ¢ãã¤ã¤å¤§ããªIPãããã¯ã§ç¶²ãå¼µã£ã¦ãã¾ãã + </simpara> + </sect1> + <sect1 id="security.cgi-bin"> <title>CGI ãã¤ããªã¨ãã¦ã¤ã³ã¹ãã¼ã«</title> @@ -150,8 +193,10 @@ é常ãApache ç¨è¨å®ã§ã®ãªãã¤ã¬ã¯ã·ã§ã³ã¯ã 次ã®å½ä»¤ã使ç¨ãã¦è¡ãã¾ãã</simpara> <programlisting role="apache-conf"> +<![CDATA[ Action php-script /cgi-bin/php AddHandler php-script .php +]]> </programlisting> <simpara> ãã®ãªãã·ã§ã³ã¯ãApache Web ãµã¼ãã¼ã§ã®ã¿ãã¹ãããã¦ããããªã¯ @@ -197,7 +242,6 @@ (以ä¸ã® <parameter>user_dir</parameter> ãé¤ãã)確å®ã« ãã®ãã£ã¬ã¯ããªã®å¤å´ã§ã¹ã¯ãªãããå®è¡ãããªãããã«ãã¾ãã </simpara> - <simpara> ããã§å©ç¨å¯è½ãªå¥ã®ãªãã·ã§ã³ã¯ã<link linkend="ini.user-dir"> user_dir</link> ã§ããuser_dir ãè¨å®ããã¦ããªãå ´åã @@ -241,7 +285,9 @@ è¡ã«æ¬¡ã®ãããªä¸è¡ãå ããå¿ è¦ããããã¨ã§ãã <informalexample> <programlisting> -#!/usr/local/bin/php +<![CDATA[ +#!/usr/local/bin/php +]]> </programlisting> </informalexample> ã¾ãããã¡ã¤ã«ãå®è¡å¯è½ã«ãã¦ããå¿ è¦ãããã¾ãããã®å ´åãå®è¡ @@ -332,14 +378,16 @@ <example> <title>çã夿°ã®ç¢ºèªããçãããªã¹ã¯</title> <programlisting role="php"> -<?php +<![CDATA[ +<?php // ã¦ã¼ã¶ã®ãã¼ã ãã£ã¬ã¯ããªãããã¡ã¤ã«ãåé¤ãã $username = $HTTP_POST_VARS['user_submitted_name']; $homedir = "/home/$username"; $file_to_delete = "$userfile"; unlink ($homedir/$userfile); echo "$file_to_delete ã¯åé¤ããã¾ãã!"; -?> +?> +]]> </programlisting> </example> usernameã¯ã¦ã¼ã¶ãã©ã¼ã ããæç¨¿å¯è½ã§ãããããusernameãæç¨¿ãã @@ -350,7 +398,8 @@ <example> <title>... ãã¡ã¤ã«ã·ã¹ãã ã¸ã®æ»æ</title> <programlisting role="php"> -<?php +<![CDATA[ +<?php // å¤é¨ããPHPã¦ã¼ã¶ãã¢ã¯ã»ã¹å¯è½ãªãã¼ããã©ã¤ããåé¤ãã¾ããPHPã // ã«ã¼ãã®ã¢ã¯ã»ã¹æ¨©éãæãã¦ããå ´åã $username = "../etc/"; @@ -358,7 +407,8 @@ $file_to_delete = "passwd"; unlink ("/home/../etc/passwd"); echo "/home/../etc/passwd ã¯åé¤ããã¾ãã!"; -?> +?> +]]> </programlisting> </example> ããããåé¡ã鲿¢ããããã«å¿ è¦ãªéè¦ãªãã§ãã¯ææ®µã¨ãã¦ä»¥ä¸ã®2 @@ -379,7 +429,8 @@ <example> <title>ããå®å ¨ãªãã¡ã¤ã«åã®ç¢ºèª</title> <programlisting role="php"> -<?php +<![CDATA[ +<?php // PHPã¦ã¼ã¶ãã¢ã¯ã»ã¹å¯è½ãªãã¼ããã©ã¤ããããã¡ã¤ã«ãåé¤ããã $username = $HTTP_SERVER_VARS['REMOTE_USER']; // èªè¨¼æ©æ§ã使ç¨ãã @@ -394,7 +445,8 @@ fclose($fp); echo "$file_to_delete ã¯åé¤ããã¾ãã!"; -?> +?> +]]> </programlisting> </example> ããããããã§ããå·å£ãå¡ãã ãã¨ã«ã¯ãªãã¾ããã @@ -405,7 +457,8 @@ <example> <title>ããå®å ¨ãªãã¡ã¤ã«åã®ç¢ºèª</title> <programlisting role="php"> -<?php +<![CDATA[ +<?php $username = $HTTP_SERVER_VARS['REMOTE_USER']; // èªè¨¼æ©æ§ã使ç¨ãã $homedir = "/home/$username"; @@ -417,7 +470,8 @@ die('bad username'); // å¦çãããçµäºã //etc... -?> +?> +]]> </programlisting> </example> </para> @@ -448,10 +502,12 @@ <example> <title>ã«ã¹ã¿ã HTMLãã¼ã¸ã«ãã夿°ãæ»æãã</title> <programlisting role="php"> -<form method="post" action="attacktarget?username=badfoo&password=badfoo"> -<input type="hidden" name="username" value="badfoo"> -<input type="hidden" name="password" value="badfoo"> -</form> +<![CDATA[ +<form method="post" action="attacktarget?username=badfoo&password=badfoo"> +<input type="hidden" name="username" value="badfoo"> +<input type="hidden" name="password" value="badfoo"> +</form> +]]> </programlisting> </example> </para> @@ -473,11 +529,13 @@ <example> <title>ä¸è¬çãªãããã°å¤æ°ãæ¢ã</title> <programlisting role="php"> -<form method="post" action="attacktarget?errors=Y&showerrors=1"&debug=1"> -<input type="hidden" name="errors" value="Y"> -<input type="hidden" name="showerrors" value="1"> -<input type="hidden" name="debug" value="1"> -</form> +<![CDATA[ +<form method="post" action="attacktarget?errors=Y&showerrors=1"&debug=1"> +<input type="hidden" name="errors" value="Y"> +<input type="hidden" name="showerrors" value="1"> +<input type="hidden" name="debug" value="1"> +</form> +]]> </programlisting> </example> </para> @@ -527,14 +585,16 @@ <example> <title>E_ALLã§å±éºãªå¤æ°ãè¦ã¤ãã</title> <programlisting role="php"> -<?php +<![CDATA[ +<?php if ($username) { // 使ç¨åã«åæåã¾ãã¯ç¢ºèªããã¦ããªã夿° $good_login = 1; } if ($good_login == 1) { // ä¸ã®ãã¹ãã失æããå ´åã使ç¨åã«åæåã¾ãã¯ç¢ºèªããã¦ããªã fpassthru ("/highly/sensitive/data/index.html"); } -?> +?> +]]> </programlisting> </example> </para> @@ -557,7 +617,8 @@ <example> <title>register_globals=offãæå®ããªãå ´åã®åä½</title> <programlisting role="php"> -<?php +<![CDATA[ +<?php if ($username) { // get/post/cookiesã§ä¸æ¸ããããå¯è½æ§ããã $good_login = 1; } @@ -565,19 +626,22 @@ if ($good_login == 1) { // get/post/cookiesã§ä¸æ¸ããããå¯è½æ§ããã fpassthru ("/highly/sensitive/data/index.html"); } -?> +?> +]]> </programlisting> </example> <example> <title>register_globals = offãæå®ããå ´åã®åä½</title> <programlisting role="php"> -<?php +<![CDATA[ +<?php if($HTTP_COOKIE_VARS['username']){ // ã¯ããã¼ããæ¥ããã®ã®ã¿ $good_login = 1; fpassthru ("/highly/sensitive/data/index.html"); } -?> +?> +]]> </programlisting> </example> ãããè³¢ã使ç¨ãããã¨ã«ãããå½ã®å ¥åã試ã¿ãããéã«è¦åã @@ -589,22 +653,24 @@ <example> <title>ç°¡åãªå¤æ°ã®æ±æã®æç¡ã®æ¤åº</title> <programlisting role="php"> -<?php -if ($HTTP_COOKIE_VARS['username'] && - !$HTTP_POST_VARS['username'] && +<![CDATA[ +<?php +if ($HTTP_COOKIE_VARS['username'] && + !$HTTP_POST_VARS['username'] && !$HTTP_GET_VARS['username'] ) { // ã¦ã¼ã¶åãèªè¨¼ããä»ã®ææ®µãå®è¡ãã $good_login = 1; fpassthru ("/highly/sensitive/data/index.html"); } else { - mail("admin@example.com", "Possible breakin attempt", $HTTP_SERVER_VARS['REMOTE_ADDR']); - echo "Security violation, admin has been alerted."; + mail("admin@example.com", "ä¾µå ¥ã試ã¿ããã¾ãã", $HTTP_SERVER_VARS['REMOTE_ADDR']); + echo "管çè ã«ããè¦åï¼ã»ãã¥ãªãã£éåã§ãã"; exit; } -?> +?> +]]> </programlisting> </example> - ãã¡ãããregister_globalsãonã«å¤ããã ãã§ã¯ãã³ã¼ããå®å ¨ã§ãã + ãã¡ãããregister_globalsãoffã«å¤ããã ãã§ã¯ãã³ã¼ããå®å ¨ã§ãã ãã¨ãæå³ãã¾ãããæç¨¿ããããã¼ã¿ã®ããããé¨åã«ã¤ãã¦ãä»ã® ææ®µã§ã確èªããå¿ è¦ãããã¾ããã </para> @@ -620,7 +686,8 @@ <example> <title>å±éºãªå¤æ°ã®ä½¿ç¨</title> <programlisting role="php"> -<?php +<![CDATA[ +<?php // ã¦ã¼ã¶ã®ãã¼ã ãã£ã¬ã¯ããªãããã¡ã¤ã«ãåé¤ãã¾ã... ã¾ãã¯ä»ã®èª° // ãã®ãã£ã¬ã¯ããªãã? unlink ($evil_var); @@ -632,7 +699,8 @@ system ($evil_var); exec ($evil_var); -?> +?> +]]> </programlisting> </example> å¸¸ã«æ³¨æãã¦ã³ã¼ãããã¹ãããWebãã©ã¦ã¶ããæç¨¿ãããå ¨ã¦ã®å¤æ° @@ -697,17 +765,21 @@ ãã¡ã¤ã«æ¡å¼µåã使ç¨å¯è½ã§ãã <example> <title>PHPãä»ã®è¨èªã¨ãã¦é ã</title> - <programlisting role="php"> + <programlisting role="apache-conf"> +<![CDATA[ # PHPã³ã¼ããä»ã®ã³ã¼ãåã®ããã«ãã AddType application/x-httpd-php .asp .py .pl +]]> </programlisting> </example> ã¾ãã¯ã次ã®ããã«å®å ¨ã«é ããã¨ãå¯è½ã§ãã <example> <title>PHPæ¡å¼µåç¨ã«æªç¥ã®åã使ç¨ãã</title> - <programlisting role="php"> + <programlisting role="apache-conf"> +<![CDATA[ # Make PHP code look like unknown types AddType application/x-httpd-php .bop .foo .133t +]]> </programlisting> </example> ã¾ãã¯ãHTMLã³ã¼ãã¨ãã¦é ããã¨ãå¯è½ã§ãããã®å ´åãå ¨ã¦ã®HTMLãã¡ @@ -715,9 +787,11 @@ åé¡ãããã¾ãã <example> <title>PHPæ¡å¼µåã¨ãã¦HTMLåã使ç¨ãã</title> - <programlisting role="php"> + <programlisting role="apache-conf"> +<![CDATA[ # å ¨ã¦ã®PHPã³ã¼ããHTMLã®ããã«ä½æãã AddType application/x-httpd-php .htm .html +]]> </programlisting> </example> å¹ççã«ããã使ç¨ããã«ã¯ãå ¨ã¦ã®PHPãã¡ã¤ã«ã®ååãä¸ã®æ¡å¼µåã«å¤æ´ @@ -726,48 +800,6 @@ </para> </sect1> - <sect1 id="security.general"> - <title>ä¸è¬çãªèæ ®äºé </title> - <simpara> - å®å ¨ã«å®å ¨ãªã·ã¹ãã ã¯çæ³ã®ç£ç©ã§ãããªããããã»ãã¥ãªãã£æ¥çã§ - ãã°ãã°ä½¿ç¨ãããææ³ã¯ããªã¹ã¯ã¨å©ä¾¿æ§ã®ãã©ã³ã¹ã®ã¨ããææ³ã§ãã - 夿°ãã¦ã¼ã¶ããæç¨¿ããã度ã«(ç¶²èã¹ãã£ã³ã¨æç´ã®ãããª)2種é¡ã® - çä½èªè¨¼ãå¿ è¦ã ã¨ããããæ¥µç«¯ã«é«ãã¬ãã«ã®èª¬æç¾©åãçãã¾ããã¾ - ããããªãè¤éãªãã©ã¼ã ãåããããã«30åããããã¨ããã°ãã¦ã¼ã¶ - ãã»ãã¥ãªãã£ããã¤ãã¹ããææ®µãæ¢ãæ°åã«ãããå¾åãããã¾ãã - </simpara> - <simpara> - æåã®ã»ãã¥ãªãã£ã¯ãé常ãã¦ã¼ã¶ã«ããæ¥åã®éæãé²ãããã«è¦æ± - ãååã«éæã§ããç¨åº¦ã«ããã§ãã¾ãããªããã®ã§ãããããããã㤠- ãã®ã»ãã¥ãªãã£æ»æã¯ãåç´ã«ãã®ç¨®ã®å¤ããã«æ§ç¯ãããæéãæµªè²» - ããã¡ãªã»ãã¥ãªãã£æ©æ§ãçããã®ã§ãã - </simpara> - <simpara> - è¨æ¶ããã«å¤ããè¨èã¨ãã¦æ¬¡ã®ãããªãã®ãããã¾ãããã·ã¹ãã ã¯é - ã®æãå¼±ã輪ã¨åç¨åº¦ã«åªãã¦ãããå ¨ã¦ã®ãã©ã³ã¶ã¯ã·ã§ã³ãæéãå ´ - æããã©ã³ã¶ã¯ã·ã§ã³ã®åçã«åºã¥ã大éã«è¨é²ããã¦ããããã¦ã¼ã¶ã¯ - ä¸ã¤ã®ã¯ããã¼ã®ã¿ã«ããèªè¨¼ããã¦ããå ´åãã¦ã¼ã¶ã¨ãã®ãã©ã³ã¶ã¯ - ã·ã§ã³ãã°ã®çµã³ä»ãã®ç¢ºå®æ§ã¯ããªãå¼±ããªãã¾ãã - </simpara> - <simpara> - ãã¹ãã®éã«ãæãç°¡åãªãã¼ã¸ã«é¢ãã¦ã§ãããå ¨ã¦ã®å¯è½æ§ããã¹ã - ãããã¨ã¯ä¸å¯è½ã§ããã¨ãããã¨ãé ã«å ¥ãã¦ããã¦ä¸ãããæå¾ ãã - å ¥åã¯ã䏿©å«ãªç¤¾å¡ãçµé¨ã®ããã¯ã©ãã«ã¼ããã¼ãã¼ãã®ä¸ãæ©ãå®¶ - ã®ç«ã«ããå ¥åã¨ã¯å ¨ãç¡é¢ä¿ã§ããããããããæ³å®å¤ã®ãã¼ã¿ãå ¥å - ãããå¯è½æ§ãããå ´æãè¦åããããã«è«ççãªè¦ç¹ããã³ã¼ããè¦ã¦ã - ãã®å¾ãä¿®æ£ãæ¸å°ãã¾ãã¯è©³ç´°ã«èª¿ã¹ãã¨ããã®ããæåã§ããã¨ãã - çç±ã§ãã - </simpara> - <simpara> - ã¤ã³ã¿ã¼ãããã«ã¯ããªãã®ã³ã¼ããå£ããããã·ã¹ãã ãç ´å£ãããã - ä¸é©åãªå 容ãæç¨¿ãããããã®ä»ããªãã®ä¸æ¥ãä¸å¿«ã«ãããããªã㨠- ã«ããèªåã®åã馳ãããã¨æã人ããããããã¾ãããµã¤ãã®è¦æ¨¡ã®å¤§ - å°ã«ããããåã«ãªã³ã©ã¤ã³ã§ãããæ¥ç¶ã§ãããµã¼ããæãã¦ããã ã - ã§æ»æç®æ¨ã¨ãªããã¾ããå¤ãã®ã¯ã©ãã¯ç¨ããã°ã©ã ã¯ãµã¤ãã®å¤§ãã - ãèæ ®ãããç ç²è ãæ¢ãã¤ã¤å¤§ããªIPãããã¯ã§ç¶²ãå¼µã£ã¦ãã¾ãã - </simpara> - </sect1> - <sect1 id="security.current"> <title>ææ°çãç¶æãã</title> <simpara> @@ -782,7 +814,6 @@ ã¨ã§ãã </simpara> </sect1> - </chapter> <!-- Keep this comment at the end of the file
Index: phpdoc/ja/chapters/security.xml diff -u phpdoc/ja/chapters/security.xml:1.15 phpdoc/ja/chapters/security.xml:1.16 --- phpdoc/ja/chapters/security.xml:1.15 Tue Nov 20 20:48:37 2001 +++ phpdoc/ja/chapters/security.xml Wed Dec 12 09:02:37 2001 @@ -1,4 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- $Revision: 1.16 $ --> <chapter id="security"> <title>ã»ãã¥ãªãã£</title> @@ -36,6 +37,48 @@ ãã£ä¸ã®ã¢ããã¤ã¹ãè¡ãã¾ãã </simpara> + <sect1 id="security.general"> + <title>ä¸è¬çãªèæ ®äºé </title> + <simpara> + å®å ¨ã«å®å ¨ãªã·ã¹ãã ã¯çæ³ã®ç£ç©ã§ãããªããããã»ãã¥ãªãã£æ¥çã§ + ãã°ãã°ä½¿ç¨ãããææ³ã¯ããªã¹ã¯ã¨å©ä¾¿æ§ã®ãã©ã³ã¹ã®ã¨ããææ³ã§ãã + 夿°ãã¦ã¼ã¶ããæç¨¿ããã度ã«(ç¶²èã¹ãã£ã³ã¨æç´ã®ãããª)2種é¡ã® + çä½èªè¨¼ãå¿ è¦ã ã¨ããããæ¥µç«¯ã«é«ãã¬ãã«ã®èª¬æç¾©åãçãã¾ããã¾ + ããããªãè¤éãªãã©ã¼ã ãåããããã«30åããããã¨ããã°ãã¦ã¼ã¶ + ãã»ãã¥ãªãã£ããã¤ãã¹ããææ®µãæ¢ãæ°åã«ãããå¾åãããã¾ãã + </simpara> + <simpara> + æåã®ã»ãã¥ãªãã£ã¯ãé常ãã¦ã¼ã¶ã«ããæ¥åã®éæãé²ãããã«è¦æ± + ãååã«éæã§ããç¨åº¦ã«ããã§ãã¾ãããªããã®ã§ãããããããã㤠+ ãã®ã»ãã¥ãªãã£æ»æã¯ãåç´ã«ãã®ç¨®ã®å¤ããã«æ§ç¯ãããæéãæµªè²» + ããã¡ãªã»ãã¥ãªãã£æ©æ§ãçããã®ã§ãã + </simpara> + <simpara> + è¨æ¶ããã«å¤ããè¨èã¨ãã¦æ¬¡ã®ãããªãã®ãããã¾ãããã·ã¹ãã ã¯é + ã®æãå¼±ã輪ã¨åç¨åº¦ã«åªãã¦ãããå ¨ã¦ã®ãã©ã³ã¶ã¯ã·ã§ã³ãæéãå ´ + æããã©ã³ã¶ã¯ã·ã§ã³ã®åçã«åºã¥ã大éã«è¨é²ããã¦ããããã¦ã¼ã¶ã¯ + ä¸ã¤ã®ã¯ããã¼ã®ã¿ã«ããèªè¨¼ããã¦ããå ´åãã¦ã¼ã¶ã¨ãã®ãã©ã³ã¶ã¯ + ã·ã§ã³ãã°ã®çµã³ä»ãã®ç¢ºå®æ§ã¯ããªãå¼±ããªãã¾ãã + </simpara> + <simpara> + ãã¹ãã®éã«ãæãç°¡åãªãã¼ã¸ã«é¢ãã¦ã§ãããå ¨ã¦ã®å¯è½æ§ããã¹ã + ãããã¨ã¯ä¸å¯è½ã§ããã¨ãããã¨ãé ã«å ¥ãã¦ããã¦ä¸ãããæå¾ ãã + å ¥åã¯ã䏿©å«ãªç¤¾å¡ãçµé¨ã®ããã¯ã©ãã«ã¼ããã¼ãã¼ãã®ä¸ãæ©ãå®¶ + ã®ç«ã«ããå ¥åã¨ã¯å ¨ãç¡é¢ä¿ã§ããããããããæ³å®å¤ã®ãã¼ã¿ãå ¥å + ãããå¯è½æ§ãããå ´æãè¦åããããã«è«ççãªè¦ç¹ããã³ã¼ããè¦ã¦ã + ãã®å¾ãä¿®æ£ãæ¸å°ãã¾ãã¯è©³ç´°ã«èª¿ã¹ãã¨ããã®ããæåã§ããã¨ãã + çç±ã§ãã + </simpara> + <simpara> + ã¤ã³ã¿ã¼ãããã«ã¯ããªãã®ã³ã¼ããå£ããããã·ã¹ãã ãç ´å£ãããã + ä¸é©åãªå 容ãæç¨¿ãããããã®ä»ããªãã®ä¸æ¥ãä¸å¿«ã«ãããããªã㨠+ ã«ããèªåã®åã馳ãããã¨æã人ããããããã¾ãããµã¤ãã®è¦æ¨¡ã®å¤§ + å°ã«ããããåã«ãªã³ã©ã¤ã³ã§ãããæ¥ç¶ã§ãããµã¼ããæãã¦ããã ã + ã§æ»æç®æ¨ã¨ãªããã¾ããå¤ãã®ã¯ã©ãã¯ç¨ããã°ã©ã ã¯ãµã¤ãã®å¤§ãã + ãèæ ®ãããç ç²è ãæ¢ãã¤ã¤å¤§ããªIPãããã¯ã§ç¶²ãå¼µã£ã¦ãã¾ãã + </simpara> + </sect1> + <sect1 id="security.cgi-bin"> <title>CGI ãã¤ããªã¨ãã¦ã¤ã³ã¹ãã¼ã«</title> @@ -150,8 +193,10 @@ é常ãApache ç¨è¨å®ã§ã®ãªãã¤ã¬ã¯ã·ã§ã³ã¯ã 次ã®å½ä»¤ã使ç¨ãã¦è¡ãã¾ãã</simpara> <programlisting role="apache-conf"> +<![CDATA[ Action php-script /cgi-bin/php AddHandler php-script .php +]]> </programlisting> <simpara> ãã®ãªãã·ã§ã³ã¯ãApache Web ãµã¼ãã¼ã§ã®ã¿ãã¹ãããã¦ããããªã¯ @@ -197,7 +242,6 @@ (以ä¸ã® <parameter>user_dir</parameter> ãé¤ãã)確å®ã« ãã®ãã£ã¬ã¯ããªã®å¤å´ã§ã¹ã¯ãªãããå®è¡ãããªãããã«ãã¾ãã </simpara> - <simpara> ããã§å©ç¨å¯è½ãªå¥ã®ãªãã·ã§ã³ã¯ã<link linkend="ini.user-dir"> user_dir</link> ã§ããuser_dir ãè¨å®ããã¦ããªãå ´åã @@ -241,7 +285,9 @@ è¡ã«æ¬¡ã®ãããªä¸è¡ãå ããå¿ è¦ããããã¨ã§ãã <informalexample> <programlisting> -#!/usr/local/bin/php +<![CDATA[ +#!/usr/local/bin/php +]]> </programlisting> </informalexample> ã¾ãããã¡ã¤ã«ãå®è¡å¯è½ã«ãã¦ããå¿ è¦ãããã¾ãããã®å ´åãå®è¡ @@ -332,14 +378,16 @@ <example> <title>çã夿°ã®ç¢ºèªããçãããªã¹ã¯</title> <programlisting role="php"> -<?php +<![CDATA[ +<?php // ã¦ã¼ã¶ã®ãã¼ã ãã£ã¬ã¯ããªãããã¡ã¤ã«ãåé¤ãã $username = $HTTP_POST_VARS['user_submitted_name']; $homedir = "/home/$username"; $file_to_delete = "$userfile"; unlink ($homedir/$userfile); echo "$file_to_delete ã¯åé¤ããã¾ãã!"; -?> +?> +]]> </programlisting> </example> usernameã¯ã¦ã¼ã¶ãã©ã¼ã ããæç¨¿å¯è½ã§ãããããusernameãæç¨¿ãã @@ -350,7 +398,8 @@ <example> <title>... ãã¡ã¤ã«ã·ã¹ãã ã¸ã®æ»æ</title> <programlisting role="php"> -<?php +<![CDATA[ +<?php // å¤é¨ããPHPã¦ã¼ã¶ãã¢ã¯ã»ã¹å¯è½ãªãã¼ããã©ã¤ããåé¤ãã¾ããPHPã // ã«ã¼ãã®ã¢ã¯ã»ã¹æ¨©éãæãã¦ããå ´åã $username = "../etc/"; @@ -358,7 +407,8 @@ $file_to_delete = "passwd"; unlink ("/home/../etc/passwd"); echo "/home/../etc/passwd ã¯åé¤ããã¾ãã!"; -?> +?> +]]> </programlisting> </example> ããããåé¡ã鲿¢ããããã«å¿ è¦ãªéè¦ãªãã§ãã¯ææ®µã¨ãã¦ä»¥ä¸ã®2 @@ -379,7 +429,8 @@ <example> <title>ããå®å ¨ãªãã¡ã¤ã«åã®ç¢ºèª</title> <programlisting role="php"> -<?php +<![CDATA[ +<?php // PHPã¦ã¼ã¶ãã¢ã¯ã»ã¹å¯è½ãªãã¼ããã©ã¤ããããã¡ã¤ã«ãåé¤ããã $username = $HTTP_SERVER_VARS['REMOTE_USER']; // èªè¨¼æ©æ§ã使ç¨ãã @@ -394,7 +445,8 @@ fclose($fp); echo "$file_to_delete ã¯åé¤ããã¾ãã!"; -?> +?> +]]> </programlisting> </example> ããããããã§ããå·å£ãå¡ãã ãã¨ã«ã¯ãªãã¾ããã @@ -405,7 +457,8 @@ <example> <title>ããå®å ¨ãªãã¡ã¤ã«åã®ç¢ºèª</title> <programlisting role="php"> -<?php +<![CDATA[ +<?php $username = $HTTP_SERVER_VARS['REMOTE_USER']; // èªè¨¼æ©æ§ã使ç¨ãã $homedir = "/home/$username"; @@ -417,7 +470,8 @@ die('bad username'); // å¦çãããçµäºã //etc... -?> +?> +]]> </programlisting> </example> </para> @@ -448,10 +502,12 @@ <example> <title>ã«ã¹ã¿ã HTMLãã¼ã¸ã«ãã夿°ãæ»æãã</title> <programlisting role="php"> -<form method="post" action="attacktarget?username=badfoo&password=badfoo"> -<input type="hidden" name="username" value="badfoo"> -<input type="hidden" name="password" value="badfoo"> -</form> +<![CDATA[ +<form method="post" action="attacktarget?username=badfoo&password=badfoo"> +<input type="hidden" name="username" value="badfoo"> +<input type="hidden" name="password" value="badfoo"> +</form> +]]> </programlisting> </example> </para> @@ -473,11 +529,13 @@ <example> <title>ä¸è¬çãªãããã°å¤æ°ãæ¢ã</title> <programlisting role="php"> -<form method="post" action="attacktarget?errors=Y&showerrors=1"&debug=1"> -<input type="hidden" name="errors" value="Y"> -<input type="hidden" name="showerrors" value="1"> -<input type="hidden" name="debug" value="1"> -</form> +<![CDATA[ +<form method="post" action="attacktarget?errors=Y&showerrors=1"&debug=1"> +<input type="hidden" name="errors" value="Y"> +<input type="hidden" name="showerrors" value="1"> +<input type="hidden" name="debug" value="1"> +</form> +]]> </programlisting> </example> </para> @@ -527,14 +585,16 @@ <example> <title>E_ALLã§å±éºãªå¤æ°ãè¦ã¤ãã</title> <programlisting role="php"> -<?php +<![CDATA[ +<?php if ($username) { // 使ç¨åã«åæåã¾ãã¯ç¢ºèªããã¦ããªã夿° $good_login = 1; } if ($good_login == 1) { // ä¸ã®ãã¹ãã失æããå ´åã使ç¨åã«åæåã¾ãã¯ç¢ºèªããã¦ããªã fpassthru ("/highly/sensitive/data/index.html"); } -?> +?> +]]> </programlisting> </example> </para> @@ -557,7 +617,8 @@ <example> <title>register_globals=offãæå®ããªãå ´åã®åä½</title> <programlisting role="php"> -<?php +<![CDATA[ +<?php if ($username) { // get/post/cookiesã§ä¸æ¸ããããå¯è½æ§ããã $good_login = 1; } @@ -565,19 +626,22 @@ if ($good_login == 1) { // get/post/cookiesã§ä¸æ¸ããããå¯è½æ§ããã fpassthru ("/highly/sensitive/data/index.html"); } -?> +?> +]]> </programlisting> </example> <example> <title>register_globals = offãæå®ããå ´åã®åä½</title> <programlisting role="php"> -<?php +<![CDATA[ +<?php if($HTTP_COOKIE_VARS['username']){ // ã¯ããã¼ããæ¥ããã®ã®ã¿ $good_login = 1; fpassthru ("/highly/sensitive/data/index.html"); } -?> +?> +]]> </programlisting> </example> ãããè³¢ã使ç¨ãããã¨ã«ãããå½ã®å ¥åã試ã¿ãããéã«è¦åã @@ -589,22 +653,24 @@ <example> <title>ç°¡åãªå¤æ°ã®æ±æã®æç¡ã®æ¤åº</title> <programlisting role="php"> -<?php -if ($HTTP_COOKIE_VARS['username'] && - !$HTTP_POST_VARS['username'] && +<![CDATA[ +<?php +if ($HTTP_COOKIE_VARS['username'] && + !$HTTP_POST_VARS['username'] && !$HTTP_GET_VARS['username'] ) { // ã¦ã¼ã¶åãèªè¨¼ããä»ã®ææ®µãå®è¡ãã $good_login = 1; fpassthru ("/highly/sensitive/data/index.html"); } else { - mail("admin@example.com", "Possible breakin attempt", $HTTP_SERVER_VARS['REMOTE_ADDR']); - echo "Security violation, admin has been alerted."; + mail("admin@example.com", "ä¾µå ¥ã試ã¿ããã¾ãã", $HTTP_SERVER_VARS['REMOTE_ADDR']); + echo "管çè ã«ããè¦åï¼ã»ãã¥ãªãã£éåã§ãã"; exit; } -?> +?> +]]> </programlisting> </example> - ãã¡ãããregister_globalsãonã«å¤ããã ãã§ã¯ãã³ã¼ããå®å ¨ã§ãã + ãã¡ãããregister_globalsãoffã«å¤ããã ãã§ã¯ãã³ã¼ããå®å ¨ã§ãã ãã¨ãæå³ãã¾ãããæç¨¿ããããã¼ã¿ã®ããããé¨åã«ã¤ãã¦ãä»ã® ææ®µã§ã確èªããå¿ è¦ãããã¾ããã </para> @@ -620,7 +686,8 @@ <example> <title>å±éºãªå¤æ°ã®ä½¿ç¨</title> <programlisting role="php"> -<?php +<![CDATA[ +<?php // ã¦ã¼ã¶ã®ãã¼ã ãã£ã¬ã¯ããªãããã¡ã¤ã«ãåé¤ãã¾ã... ã¾ãã¯ä»ã®èª° // ãã®ãã£ã¬ã¯ããªãã? unlink ($evil_var); @@ -632,7 +699,8 @@ system ($evil_var); exec ($evil_var); -?> +?> +]]> </programlisting> </example> å¸¸ã«æ³¨æãã¦ã³ã¼ãããã¹ãããWebãã©ã¦ã¶ããæç¨¿ãããå ¨ã¦ã®å¤æ° @@ -697,17 +765,21 @@ ãã¡ã¤ã«æ¡å¼µåã使ç¨å¯è½ã§ãã <example> <title>PHPãä»ã®è¨èªã¨ãã¦é ã</title> - <programlisting role="php"> + <programlisting role="apache-conf"> +<![CDATA[ # PHPã³ã¼ããä»ã®ã³ã¼ãåã®ããã«ãã AddType application/x-httpd-php .asp .py .pl +]]> </programlisting> </example> ã¾ãã¯ã次ã®ããã«å®å ¨ã«é ããã¨ãå¯è½ã§ãã <example> <title>PHPæ¡å¼µåç¨ã«æªç¥ã®åã使ç¨ãã</title> - <programlisting role="php"> + <programlisting role="apache-conf"> +<![CDATA[ # Make PHP code look like unknown types AddType application/x-httpd-php .bop .foo .133t +]]> </programlisting> </example> ã¾ãã¯ãHTMLã³ã¼ãã¨ãã¦é ããã¨ãå¯è½ã§ãããã®å ´åãå ¨ã¦ã®HTMLãã¡ @@ -715,9 +787,11 @@ åé¡ãããã¾ãã <example> <title>PHPæ¡å¼µåã¨ãã¦HTMLåã使ç¨ãã</title> - <programlisting role="php"> + <programlisting role="apache-conf"> +<![CDATA[ # å ¨ã¦ã®PHPã³ã¼ããHTMLã®ããã«ä½æãã AddType application/x-httpd-php .htm .html +]]> </programlisting> </example> å¹ççã«ããã使ç¨ããã«ã¯ãå ¨ã¦ã®PHPãã¡ã¤ã«ã®ååãä¸ã®æ¡å¼µåã«å¤æ´ @@ -726,48 +800,6 @@ </para> </sect1> - <sect1 id="security.general"> - <title>ä¸è¬çãªèæ ®äºé </title> - <simpara> - å®å ¨ã«å®å ¨ãªã·ã¹ãã ã¯çæ³ã®ç£ç©ã§ãããªããããã»ãã¥ãªãã£æ¥çã§ - ãã°ãã°ä½¿ç¨ãããææ³ã¯ããªã¹ã¯ã¨å©ä¾¿æ§ã®ãã©ã³ã¹ã®ã¨ããææ³ã§ãã - 夿°ãã¦ã¼ã¶ããæç¨¿ããã度ã«(ç¶²èã¹ãã£ã³ã¨æç´ã®ãããª)2種é¡ã® - çä½èªè¨¼ãå¿ è¦ã ã¨ããããæ¥µç«¯ã«é«ãã¬ãã«ã®èª¬æç¾©åãçãã¾ããã¾ - ããããªãè¤éãªãã©ã¼ã ãåããããã«30åããããã¨ããã°ãã¦ã¼ã¶ - ãã»ãã¥ãªãã£ããã¤ãã¹ããææ®µãæ¢ãæ°åã«ãããå¾åãããã¾ãã - </simpara> - <simpara> - æåã®ã»ãã¥ãªãã£ã¯ãé常ãã¦ã¼ã¶ã«ããæ¥åã®éæãé²ãããã«è¦æ± - ãååã«éæã§ããç¨åº¦ã«ããã§ãã¾ãããªããã®ã§ãããããããã㤠- ãã®ã»ãã¥ãªãã£æ»æã¯ãåç´ã«ãã®ç¨®ã®å¤ããã«æ§ç¯ãããæéãæµªè²» - ããã¡ãªã»ãã¥ãªãã£æ©æ§ãçããã®ã§ãã - </simpara> - <simpara> - è¨æ¶ããã«å¤ããè¨èã¨ãã¦æ¬¡ã®ãããªãã®ãããã¾ãããã·ã¹ãã ã¯é - ã®æãå¼±ã輪ã¨åç¨åº¦ã«åªãã¦ãããå ¨ã¦ã®ãã©ã³ã¶ã¯ã·ã§ã³ãæéãå ´ - æããã©ã³ã¶ã¯ã·ã§ã³ã®åçã«åºã¥ã大éã«è¨é²ããã¦ããããã¦ã¼ã¶ã¯ - ä¸ã¤ã®ã¯ããã¼ã®ã¿ã«ããèªè¨¼ããã¦ããå ´åãã¦ã¼ã¶ã¨ãã®ãã©ã³ã¶ã¯ - ã·ã§ã³ãã°ã®çµã³ä»ãã®ç¢ºå®æ§ã¯ããªãå¼±ããªãã¾ãã - </simpara> - <simpara> - ãã¹ãã®éã«ãæãç°¡åãªãã¼ã¸ã«é¢ãã¦ã§ãããå ¨ã¦ã®å¯è½æ§ããã¹ã - ãããã¨ã¯ä¸å¯è½ã§ããã¨ãããã¨ãé ã«å ¥ãã¦ããã¦ä¸ãããæå¾ ãã - å ¥åã¯ã䏿©å«ãªç¤¾å¡ãçµé¨ã®ããã¯ã©ãã«ã¼ããã¼ãã¼ãã®ä¸ãæ©ãå®¶ - ã®ç«ã«ããå ¥åã¨ã¯å ¨ãç¡é¢ä¿ã§ããããããããæ³å®å¤ã®ãã¼ã¿ãå ¥å - ãããå¯è½æ§ãããå ´æãè¦åããããã«è«ççãªè¦ç¹ããã³ã¼ããè¦ã¦ã - ãã®å¾ãä¿®æ£ãæ¸å°ãã¾ãã¯è©³ç´°ã«èª¿ã¹ãã¨ããã®ããæåã§ããã¨ãã - çç±ã§ãã - </simpara> - <simpara> - ã¤ã³ã¿ã¼ãããã«ã¯ããªãã®ã³ã¼ããå£ããããã·ã¹ãã ãç ´å£ãããã - ä¸é©åãªå 容ãæç¨¿ãããããã®ä»ããªãã®ä¸æ¥ãä¸å¿«ã«ãããããªã㨠- ã«ããèªåã®åã馳ãããã¨æã人ããããããã¾ãããµã¤ãã®è¦æ¨¡ã®å¤§ - å°ã«ããããåã«ãªã³ã©ã¤ã³ã§ãããæ¥ç¶ã§ãããµã¼ããæãã¦ããã ã - ã§æ»æç®æ¨ã¨ãªããã¾ããå¤ãã®ã¯ã©ãã¯ç¨ããã°ã©ã ã¯ãµã¤ãã®å¤§ãã - ãèæ ®ãããç ç²è ãæ¢ãã¤ã¤å¤§ããªIPãããã¯ã§ç¶²ãå¼µã£ã¦ãã¾ãã - </simpara> - </sect1> - <sect1 id="security.current"> <title>ææ°çãç¶æãã</title> <simpara> @@ -782,7 +814,6 @@ ã¨ã§ãã </simpara> </sect1> - </chapter> <!-- Keep this comment at the end of the file