6.3. ±ÇÇÑÀ» ÃÖ¼ÒÈ­ÇØ¶ó

¾Õ¿¡¼­ ¾ð±ÞÇßµíÀÌ ÇÁ·Î±×·¥ÀÌ ±× ÀÛ¾÷À» Çϴµ¥ ÇÊ¿äÇÑ ÃÖ¼ÒÇÑÀÇ ±ÇÇÑÀ» °®´Â °ÍÀº Áß¿äÇÑ ÀϹÝÀûÀÎ ¿ø¸®ÀÌ´Ù (ÀÌ´Â "ÃÖ¼ÒÇÑÀÇ ±ÇÇÑ" À̶ó°í ÁöĪµÈ´Ù). ÀÌ·± ¹æ½Ä¿¡¼­ ÇÁ·Î±×·¥ÀÌ ÆÄ±«µÈ´ÙÇÏ´õ¶ó°í ±× ¼Õ»óÀº Á¦ÇѵȴÙ. °¡Àå ±Ø´ÜÀûÀÎ ¿¹´Â ´Ü¼øÈ÷ º¸¾ÈÀûÀÎ ÇÁ·Î±×·¥À» ÀüÇô ÀÛ¼ºÇÏÁö ¾Ê´Â °ÍÀÌ´Ù -ÀÌ·² ¼ö ÀÖ´Ù¸é º¸Åë ÀÌ·¸°Ô ÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î °¡´ÉÇÏ´Ù¸é ÇÁ·Î±×·¥À» setuid ¶Ç´Â setgid ÇÁ·Î±×·¥À¸·Î ¸¸µéÁö ¸¶¶ó; ±×Àú ÀϹÝÀûÀÎ ÇÁ·Î±×·¥À» ¸¸µé¾î À̸¦ ½ÇÇà½Ã۱â Àü¿¡ °ü¸®ÀÚ°¡ ±× ÀÚ°ÝÀ¸·Î ·Î±×ÀÎÇϵµ·Ï ÇØ¶ó.

¸®´ª½º¿Í À¯´Ð½º¿¡¼­ ÇÁ·Î¼¼½ºÀÇ ±ÇÇÑÀ» ±âº»ÀûÀ¸·Î °áÁ¤ÇÏ´Â °ÍÀº ÇÁ·Î¼¼½º¿Í °ü·ÃµÈ id ¼ÂÀÌ´Ù; °¢ ÇÁ·Î¼¼½º´Â »ç¿ëÀÚ¿Í ±×·ì¿¡ ´ëÇØ ½ÇÁ¦ (real), À¯È¿ (effective) ¹× À¯º¸ (saved) id ¸¦ °®°í ÀÖ´Ù. ¸®´ª½º´Â ¶ÇÇÑ ÆÄÀϽýºÅÛ uid ¿Í gid ¸¦ °®´Â´Ù. ÀÌ·¯ÇÑ °ªÀ» Á¶ÀÛÇÏ´Â °ÍÀº ±ÇÇÑÀ» ÃÖ¼ÒÇÑÀ¸·Î À¯ÁöÇϴµ¥ À־ °áÁ¤ÀûÀε¥ À̸¦ ÃÖ¼ÒÈ­ÇÏ´Â ¸î°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù (¹ØºÎºÐ¿¡ ³íÀǵȴÙ). ¶ÇÇÑ chroot(2) ¸¦ ÀÌ¿ëÇØ¼­ ÇÁ·Î±×·¥ÀÌ º¼ ¼ö ÀÖ´Â ÆÄÀÏÀ» ÃÖ¼ÒÈ­ÇÒ ¼ö ÀÖ´Ù. ¸®´ª½º¿Í À¯´Ð½º¿¡¼­´Â ±ÇÇÑÀ» °áÁ¤ÇÏ´Â ¾à°£ÀÇ ´Ù¸¥ °ªµéÀÌ Àִµ¥ ¿¹¸¦ µé¾î POSIX ´É·Â (¸®´ª½º 2.2 ÀÌ»ó ¹× ¸î¸î ´Ù¸¥ À¯´Ð½º °è¿­ ½Ã½ºÅÛÀÌ À̸¦ Áö¿øÇÑ´Ù) ÀÌ ÀÖ´Ù.

6.3.1. Çã°¡µÇ´Â ±ÇÇÑÀ» ÃÖ¼ÒÈ­ÇØ¶ó

¾Æ¸¶ °¡Àå È¿°úÀûÀÎ ±â¹ýÀº Çã°¡µÈ °¡Àå ³ôÀº ±ÇȯÀ» ´Ü¼øÈ÷ ÃÖ¼ÒÈ­ÇÏ´Â °ÍÀÌ´Ù. ƯÈ÷ ÇÁ·Î±×·¥¿¡°Ô °¡´ÉÇÑ ·çÆ® ±ÇÇÑÀ» ÁÖÁö ¾Êµµ·Ï ÇØ¶ó. ÇÁ·Î±×·¥ÀÌ ´ÜÁö ÀÛÀº ÆÄÀϼ¿¡ Á¢±ÙÇÒ Çʿ丸 ÀÖ´Ù¸é ÇÁ·Î±×·¥À» setuid root ·Î ¸¸µéÁö ¸¶¶ó; ¿©·¯ ±â´É¿¡ ´ëÇØ º°°³ÀÇ »ç¿ëÀÚ ¶Ç´Â ±×·ì »ý¼ºÀ» °í·ÁÇØ¶ó.

°øÅëÀûÀÎ ±â¹ýÀº Ưº° ±×·ìÀ» »ý¼ºÇؼ­ ÆÄÀÏÀÇ ±×·ì ¼ÒÀ¯±ÇÀ» ÀÌ ±×·ìÀ¸·Î º¯°æÇÑ ÈÄ ÇÁ·Î±×·¥À» ÀÌ ±×·ì¿¡ setgid ·Î ¸¸µå´Â °ÍÀÌ´Ù. ±×·ì ¸â¹ö½ÊÀÌ ´õ¿í ÀûÀº ±ÇÇÑÀ» Çã°¡Çϱ⠶§¹®¿¡ (ƯÈ÷ ÆÄÀÏ Çã°¡±ÇÀ» º¯°æÇÒ ±ÇÇÑÀ» ÁÖÁö´Â ¾Ê´Â´Ù) ÇÁ·Î±×·¥À» setuid ´ë½Å setgid ·Î ¸¸µå´Â °ÍÀÌ ´õ¿í ÁÁ´Ù.

ÀÌ´Â °ÔÀÓ¿¡¼­ °íµæÁ¡ÀÇ °æ¿ì¿¡ º¸Åë ÇàÇØÁø´Ù. °ÔÀÓÀº ´ë°³ setgid games À¸·Î µæÁ¡ ÆÄÀÏÀº ±×·ì games °¡ ¼ÒÀ¯Çϰí ÇÁ·Î±×·¥ ±× ÀÚü¿Í À̵éÀÇ ¼³Á¤ ÆÄÀÏÀº ´Ù¸¥ ´©±º°¡ (·çÆ®) °¡ ¼ÒÀ¯ÇÑ´Ù. µû¶ó¼­ °ÔÀÓ¿¡ ħÀÔÇÑ °ø°ÝÀÚ°¡ °íµæÁ¡À» º¯°æÇÒ ¼ö´Â ÀÖÁö¸¸ °ÔÀÓÀÇ ½ÇÇà ¶Ç´Â ±× ¼³Á¤ ÆÄÀÏÀ» º¯°æÇÒ ±ÇÇÑÀ» ¾òÁö´Â ¸øÇÑ´Ù. ÈÄÀÚ´Â Áß¿äÇÏ´Ù; °ø°ÝÀÚ°¡ °ÔÀÓÀÇ ½ÇÇà ¶Ç´Â ±× ¼³Á¤ ÆÄÀÏ (½ÇÇà ÆÄÀÏÀÌ ¹«¾ùÀ» ÀÛµ¿½Ãų °ÇÁö¸¦ Á¦¾îÇÒ ¼ö ÀÖ´Â) À» º¯°æÇÒ ¼ö ÀÖ´Ù¸é °ÔÀÓÀ» Áñ±â´Â »ç¿ëÀÚµéÀ» Á¦¾îÇÒ ¼öµµ ÀÖ´Ù.

»õ·Î¿î ±×·ì »ý¼ºÀÌ ÃæºÐÇÏÁö ¾Ê´Ù¸é ÀÏ·ÃÀÇ ÀÚ¿øµéÀ» °ü¸®ÇÏ´Â »õ·Î¿î ÁØ»ç¿ëÀÚ (½ÇÁ¦·Î Ưº°ÇÑ ¿ªÇÒÀ» ÇÏ´Â) »ý¼ºÀ» °í·ÁÇØ¶ó. À¥¼­¹ö°¡ ÀüÇüÀûÀ¸·Î ÀÌ·± ¹æ½ÄÀε¥ ¶§¶§·Î À¥¼­¹ö´Â ´Ù¸¥ »ç¿ëÀÚ¿Í ºÐ¸®µÉ ¼ö ÀÖµµ·Ï Ưº°ÇÑ »ç¿ëÀÚ (``nobody") ·Î ¼³Á¤µÈ´Ù. Á¤¸»·Î À¥¼­¹ö´Â ÀÌÁ¡¿¡¼­ ±³À°ÀûÀÌ´Ù: À¥¼­¹ö´Â ±¸µ¿Çϱâ À§ÇØ ÀüÇüÀûÀ¸·Î ·çÆ® ±ÇÇÑÀ» ÇÊ¿ä·Î ÇÏÁö¸¸ (Æ÷Æ® 80 ¿¡ ºÎÂøµÉ ¼ö ÀÖµµ·Ï) ÀÏ´Ü ½ÃÀÛµÇ¸é ´ë°³ ¸ðµç ±ÇÇÑÀ» ¹ö¸®°í ``nobody" »ç¿ëÀڷμ­ ÀÛµ¿ÇÑ´Ù. ´ë°³ ÁØ»ç¿ëÀÚ´Â ÀڱⰡ ½ÇÇà½ÃŲ ±âº» ÇÁ·Î±×·¥À» ¼ÒÀ¯ÇÏÁö ¾ÊÀ¸¸ç µû¶ó¼­ ±× °èÁ¤¿¡ ħÀÔÇÑ´Ù°í ÇØ¼­ ÇÁ·Î±×·¥ ÀÚü¸¦ º¯°æÇÒ ¼ö´Â ¾ø´Ù. ±× °á°ú·Î ÀÛµ¿ÁßÀÎ À¥¼­¹ö¿¡ ħÀÔÇÏ´Â °ÍÀÌ ÀϹÝÀûÀ¸·Î Àüü ½Ã½ºÅÛÀÇ º¸¾ÈÀ» ÀÚµ¿ÀûÀ¸·Î ÆÄ±«ÇÏÁö´Â ¸øÇÑ´Ù.

ÇÁ·Î±×·¥¿¡ ·çÆ® ±ÇÇÑÀ» ÁÖ¾î¾ß ÇÑ´Ù¸é ÇÁ·Î±×·¥ÀÌ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ±ÇÇÑÀ» ÃÖ¼ÒÈ­ÇÏÀÚ¸¶ÀÚ POSIX ´É·Â »ç¿ëÀ» °í·ÁÇØ¶ó. POSIX ´Â ¸®´ª½º 2.2 ÀÌ»ó ¹× ´Ù¸¥ À¯´Ð½º °è¿­ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÇÁ·Î±×·¥ ½ÃÀÛÈÄ¿¡ Áï°¢ÀûÀ¸·Î cap_set_proc(3) ¶Ç´Â ¸®´ª½º °íÀ¯ÀÇ capsetp(3) À» È£ÃâÇÔÀ¸·Î½á ÇÁ·Î±×·¥ÀÇ ´É·ÂÀ» ¿µ±¸È÷ ´ÜÁö ½ÇÁ¦ ÇÊ¿ä·Î ÇÏ´Â ´É·ÂÀ¸·Î °¨¼Ò½Ãų ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î ³×Æ®¿öÅ© ½Ã°£ µ¥¸ó ( ntpd) ´Â ÇöÀç ½Ã°£À» ¼öÁ¤ÇÒ Çʿ䰡 Àֱ⶧¹®¿¡ ÀüÅëÀûÀ¸·Î ·çÆ® ±ÇÇÑÀ¸·Î ½ÇÇàµÈ´Ù. ±×·¯³ª ntpd °¡ ´ÜÁö ÇϳªÀÇ ´É·Â CAP_SYS_TIME ¸¸ÀÌ ÇÊ¿äÇϵµ·Ï ÆÐÄ¡°¡ °³¹ßµÇ¾úÀ¸¸ç µû¶ó¼­ °ø°ÝÀÚ°¡ ntpd ¿¡ ´ëÇÑ Á¦¾î¸¦ ¾ò´Â´Ù ÇÏ´õ¶óµµ ÇÁ·Î±×·¥À» ¾Ç¿ëÇÏ´Â °ÍÀº ´õ¿í ¾î·Á¿ï °ÍÀÌ´Ù.

´Ù¸¥ Á¶Ä¡°¡ ÃëÇØÁöÁö ¾Ê´Â´Ù¸é POSIX ´É·ÂÀ» »ç¿ëÇØ ±ÇÇÑÀ» À¯ÁöÇÏ´Â °ÍÀº ÇÁ·Î¼¼½º°¡ ·çÆ® »ç¿ëÀÚ id ¸¦ °è¼ÓÇØ¼­ °¡Á®¾ß ÇÔÀ» ¿ä±¸Çϱ⠶§¹®¿¡ ÀúÀÚ´Â ``¾î´À Á¤µµ Á¦ÇÑÀû" À̶ó°í ¸»ÇÏ°í ½Í´Ù. ¼³Á¤ ÆÄÀÏ, ¹ÙÀ̳ʸ® µîÀÇ ¸¹Àº Áß¿äÇÑ ÆÄÀÏÀº ·çÆ®°¡ ¼ÒÀ¯ÇØ¾ß Çϱ⠶§¹®¿¡ ÀÌ·¯ÇÑ Á¦ÇÑµÈ ´É·ÂÀ» °®´Â ÇÁ·Î±×·¥À» Á¦¾îÇÏ´Â °ø°ÝÀÚ´Â ¿©ÀüÈ÷ ÁÖ¿ä ½Ã½ºÅÛ ÆÄÀÏ ¼öÁ¤ ¹× ¿ÏÀüÇÑ ·çÆ® ¼öÁØÀÇ ±ÇÇÑÀ» ¾òÀ» ¼ö ÀÖ´Ù. ¸®´ª½º Ä¿³Î È®Àå (¹öÀü 2.4.X ¹× 2.2.19 À̻󿡼­ ¾µ ¼ö ÀÖ´Ù) Àº »ç¿ë°¡´ÉÇÑ ±ÇÇÑÀ» Á¦ÇÑÇÏ´Â ´õ¿í ÁÁÀº ¹æ¹ýÀ» Á¦°øÇÑ´Ù; ÇÁ·Î±×·¥ÀÌ ¸ðµç POSIX ´É·ÂÀ» °®´Â ·çÆ®·Î ½ÇÇàµÇ¾î ºÒÇÊ¿äÇÑ ´É·ÂÀº Á¦°ÅÇϰí prctl(PR_SET_KEEPCAPS,1) À» È£ÃâÇÑ ÈÄ ·çÆ®°¡ ¾Æ´Ñ ÇÁ·Î¼¼½º·Î º¯°æÇϱâ À§ÇØ setuid() ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. PR_SET_KEEPCAPS ¼³Á¤Àº ÇÁ·Î¼¼½º°¡ 0 ÀÌ ¾Æ´Ñ °ªÀ¸·Î setuid ¸¦ ÇÒ ¶§ POSIX ´É·ÂÀÌ Á¦°ÅµÇÁö ¾Êµµ·Ï ÇÁ·Î¼¼½º¿¡ Ç¥½Ã¸¦ Çϸç ÀÌ ÇÁ·Î¼¼½º ¼³Á¤Àº exec() ¿¡¼­ Á¦°ÅµÈ´Ù. ±×·¯³ª PR_SET_KEEPCAPS ´Â ´õ¿í »õ·Î¿î ¸®´ª½º Ä¿³Î ¹öÀü¿¡ ´ëÇÑ ¸®´ª½º °íÀ¯ÀÇ È®ÀåÀ̶ó´Â °Í¿¡ ÁÖÀÇÇØ¶ó.

Çã°¡µÇ´Â ±ÇÇÑÀÇ ÃÖ¼ÒÈ­¸¦ ´Ü¼øÇÏ°Ô Çϱâ À§ÇØ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸®´ª½º °íÀ¯ÀÇ ÇѰ¡Áö µµ±¸´Â SuSe ¿¡ ÀÇÇØ °³¹ßµÈ ``compartment" µµ±¸ÀÌ´Ù. ÀÌ´Â ÆÄÀϽýºÅÛ ·çÆ®, uid gid ¹×/¶Ç´Â capability set À» ¼³Á¤ÇÑÈÄ ÇÁ·Î±×·¥À» ½ÇÇà½ÃŲ´Ù. À̴ ƯÈ÷ ¾î¶² ´Ù¸¥ ÇÁ·Î±×·¥À» ¼öÁ¤ÇÏÁö ¾Ê°í ½ÇÇà½Ã۴µ¥ Æí¸®ÇÏ°Ô ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½Àº 0.5 ¹öÀüÀÇ ±¸¹®ÀÌ´Ù:


Syntax: compartment [options] /full/path/to/program

Options:
   --chroot path    path ·Î chroot ÇÑ´Ù
   --user user      uid ¸¦ user ÀÇ uid ·Î º¯°æÇÑ´Ù
   --group group    gid ¸¦ group ÀÇ gid ·Î º¯°æÇÑ´Ù
   --init program   ÃÖ¿ì¼±ÀûÀ¸·Î ÀÌ programe À» ½ÇÇà½ÃŲ´Ù
   --cap capset     capset À̸§À» ¼³Á¤ÇÑ´Ù. ¿©·¯¹ø ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù
   --verbose        ÀÚ¼¼ÇÑ Á¤º¸¸¦ º¸¿©ÁØ´Ù
   --quiet          syslog ¿¡ ±â·ÏÇÏÁö ¾Ê´Â´Ù

µû¶ó¼­ anonymous ftp ¼­¹ö¸¦ ´õ¿í ¾ÈÀüÇÏ°Ô ±¸µ¿½Ãų ¼ö ÀÖ´Ù:

  compartment --chroot /home/ftp --cap CAP_NET_BIND_SERVICE anon-ftpd

ÀÌ ¹®¼­ ÀÛ¼º ½ÃÁ¡¿¡¼­ µµ±¸´Â ¹Ì¿Ï¼ºÀ̰í ÀüÇüÀûÀÎ ¸®´ª½º ¹èÆ÷ÆÇ¿¡¼­ ¾òÀ» ¼ö´Â ¾øÁö¸¸ »óȲÀº ºü¸£°Ô º¯ÇÒ °ÍÀÌ´Ù. http://www.suse.de/~marc ¿¡¼­ ÇÁ·Î±×·¥À» ´Ù¿î·Îµå¹ÞÀ» ¼ö ÀÖ´Ù.

¸ðµç À¯´Ð½º °è¿­ ½Ã½ºÅÛÀÌ POSIX ´É·ÂÀ» ±¸ÇöÇÏÁö´Â ¾ÊÀ¸¸ç PR_SET_KEEPCAPS Àº ÇöÀç ¸®´ª½º¿¡¼­¸¸ Áö¿øÇÔÀ» ÁÖ¸ñÇØ¶ó. µû¶ó¼­ ÀÌ Á¢±Ù ¹æ¹ýÀº À̽ļºÀ» ÇÑ´Ù; ±×·¯³ª µµ¿òÀÌ µÇ´Â °æ¿ì¿¡¸¸ À̸¦ ´ÜÁö ¼±ÅÃÀûÀÎ º¸È£¼ö´ÜÀ¸·Î »ç¿ëÇÑ´Ù¸é ½ÇÁ¦ÀûÀ¸·Î À̽ļºÀ» Á¦ÇÑÇÏÁö´Â ¾ÊÀ» °ÍÀÌ´Ù. ¶ÇÇÑ ¸®´ª½º Ä¿³Î 2.2 ¹öÀü ÀÌ»óÀº ÇÏÀ§ ¼öÁØ È£ÃâÀ» Æ÷ÇÔÇÏÁö¸¸ À̵éÀ» »ç¿ëÇϱ⠿ëÀÌÇÏ°Ô ÇÏ´Â C ¼öÁØ ¶óÀ̺귯¸®´Â ¸î¸î ¸®´ª½º ¹èÆ÷ÆÇ¿¡´Â ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê¾Æ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ À̵éÀÇ »ç¿ëÀ» ¾à°£ º¹ÀâÇÏ°Ô Çϰí ÀÖ´Ù. ¸®´ª½º¿¡¼­ POSIX ´É·Â ±¸Çö¿¡ ´ëÇØ ´õ¿í ÀÚ¼¼ÇÑ Á¤º¸´Â http://linux.kernel.org/pub/linux/libs/security/linux-privs ¸¦ º¸¶ó.

FreeBSD ´Â ±ÇÇÑ Á¦ÇÑÀ» À§ÇØ jail() ÇÔ¼ö¸¦ °®°í ÀÖ´Ù: ´õ¿í ÀÚ¼¼ÇÑ Á¤º¸´Â jail ¹®¼­ ¸¦ º¸¶ó. ¶ÇÇÑ ±ÇÇÑ Á¦ÇÑÀ» À§ÇØ ¸¹Àº Àü¹®È­µÈ µµ±¸ ¹× È®ÀåµéÀÌ ÀÖ´Ù; 3.10Àý À» º¸¶ó.

6.3.2. ±ÇÇÑÀÌ »ç¿ëµÉ ¼ö ÀÖ´Â ½Ã°£À» ÃÖ¼ÒÈ­ÇØ¶ó

°¡´ÉÇÑ »¡¸® ¿µ±¸ÀûÀ¸·Î ±ÇÇÑÀ» Æ÷±âÇØ¶ó. ¸®´ª½º¸¦ Æ÷ÇÔÇÑ ¸î¸î À¯´Ð½º °è¿­ ½Ã½ºÅÛÀº ``ÀÌÀü" ID °ªÀ» ÀúÀåÇϰí ÀÖ´Â ``À¯º¸µÈ (saved)" ID ¸¦ ±¸ÇöÇÑ´Ù. °¡Àå °£´ÜÇÑ Á¢±Ù ¹æ¹ýÀº ÀûÀýÇÑ °æ¿ì (¿¹, setgroups(2) »ç¿ë) ¸ðµç Ãß°¡µÈ ±×·ìÀ» Àç¼³Á¤ÇÑ ÈÄ ½Å·ÚµÇÁö ¾ÊÀº id ¿¡ ´Ù¸¥ id ¸¦ µÎ¹ø ¼³Á¤ÇÏ´Â °ÍÀÌ´Ù. setuid/setgid ÇÁ·Î±×·¥¿¡¼­´Â ƯÈ÷ fork(2) ½ÇÇà Á÷ÈÄ¿¡ ½ÇÁ¦ uid ¿Í gid ¿¡ ´ë°³ À¯È¿ uid ¿Í gid ¸¦ ¼³Á¤ÇØ¾ß ÇÏ¸ç Æ¯º°ÇÑ ÀÌÀ¯°¡ ¾ø´Ù¸é À̸¦ ´ç¿¬È÷ ÇØ¾ß ÇÑ´Ù. ·çÆ®¿¡¼­ ´Ù¸¥ ±ÇÇÑÀ¸·Î Ãà¼Ò½Ãų ¶§ gid ¸¦ ¿ì¼±ÀûÀ¸·Î º¯°æ½ÃÄÑ¾ß Çϸç ÀÌ·¸Áö ¾ÊÀº °æ¿ì ÀÛ¿ëÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» ÁÖ¸ñÇØ¶ó - ·çÆ® ±ÇÇÑÀ» ¹ö¸°´Ù¸é ´õ ÀÌ»ó º¯°æ ½Ãų ¼ö ¾øÀ» °ÍÀÌ´Ù.

ÀÌ·¯ÇÑ ÃÖ¼ÒÈ­¸¦ ¹æÇØÇϱâ À§ÇØ POSIX ´É·ÂÀ» »ç¿ëÇÏ´Â Àß ¾Ë·ÁÁø °ü·Ã ¹ö±×°¡ ÀÖÀ½À» ¾ð±ÞÇÏ´Â °ÍÀº °¡Ä¡°¡ ÀÖ´Ù. ÀÌ ¹ö±×´Â ¸®´ª½º Ä¿³Î 2.2.0 ¿¡¼­ 2.2.15 ¹× ¾Æ¸¶µµ POSIX ´É·ÂÀ» °®´Â ¸¹Àº ´Ù¸¥ À¯´Ð½º °è¿­ ½Ã½ºÅÛ¿¡ ¿µÇâÀ» ¹ÌÄ£´Ù. ´õ¿í ÀÚ¼¼ÇÑ Á¤º¸´Â http://www.securityfocus.com ÀÇ ¹ö±×Æ®·¢ id 1322 ¸¦ º¸¶ó. ´ÙÀ½Àº ¿ä¾àÀÌ´Ù:

POSIX ´É·ÂÀº ÃÖ±Ù ¸®´ª½º Ä¿³Î¿¡ ±¸ÇöµÇ¾ú´Ù. ÀÌ ´É·ÂÀº ±ÇÇÑÀ» °®´Â ÇÁ·Î¼¼½º°¡ ÇÒ ¼ö ÀÖ´Â °ÍÀ» ´õ¿í ¸í¹éÈ÷ Á¦¾îÇÒ ¼ö ÀÖ´Â ±ÇÇÑ Á¦¾îÀÇ Ãß°¡ÀûÀÎ ÇüÅ·Π¼¼°¡Áö ºñÆ® Çʵå·Î ±¸ÇöµÇ¾î Àִµ¥ °¢ ºñÆ®´Â ±ÇÇÑÀ» °®´Â ÇÁ·Î¼¼½º°¡ ¼öÇàÇÒ ¼ö Àִ ƯÁ¤ µ¿ÀÛÀ» ³ªÅ¸³½´Ù. ƯÁ¤ ºñÆ®¸¦ ¼³Á¤ÇÔÀ¸·Î½á ±ÇÇÑÀ» °®´Â ÇÁ·Î¼¼½ºÀÇ µ¿ÀÛÀÌ Á¦¾îµÉ ¼ö ÀÖ´Ù -- ´Ù¾çÇÑ ÇÔ¼öµé¿¡ ´ëÇØ ±×µéÀ» ÇÊ¿ä·Î ÇÏ´Â ÇÁ·Î±×·¥ÀÇ Æ¯Á¤ ºÎºÐ¿¡ ´ëÇØ¼­´Â Á¢±Ù Çã°¡¸¦ ¹ÞÀ» ¼ö ÀÖ´Ù. ÀÌ´Â º¸¾È Á¶Ä¡ÀÌ´Ù. ¹®Á¦´Â ´É·ÂÀÌ fork() execs ¿Í ÇÔ²² º¹»çµÈ´Ù´Â °ÍÀε¥ ÀÌ´Â ´É·ÂÀÌ ºÎ¸ð ÇÁ·Î¼¼½º¿¡ ÀÇÇØ ¼öÁ¤µÈ´Ù¸é ÀÛ¾÷ÀÌ ³¡³ªÁö ¾ÊÀº ä ´É·ÂÀÌ ³Ñ°ÜÁüÀ» ÀǹÌÇÑ´Ù. ÀÌ´Â ¼¼°¡Áö ºñÆ® ÇÊµå °¢°¢¿¡ ´É·ÂÀ» 0 À¸·Î ¼³Á¤ ( ¸ðµç ºñÆ®°¡ off ÀÓÀ» ÀǹÌ) ÇÑ ÈÄ ·çÆ® ±ÇÇÑÀ¸·Î ½ÇÇàµÈ °æ¿ì (¼¾µå¸ÞÀÏÀÌ ÇÏ´Â °Í°ú °°ÀÌ) À§ÇèÇÒ ¼ö ÀÖ´Â Äڵ带 ½ÇÇà½Ã۱â Àü¿¡ ±ÇÇÑÀ» Ãà¼Ò½ÃŰ·Á°í ÇÏ´Â setuid ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ´À¸·Î½á ¾Ç¿ëµÉ ¼ö ÀÖ´Ù. sendmail Àº setuid(getuid()) ¸¦ »ç¿ëÇØ¼­ ±ÇÇÑÀ» Ãà¼Ò½ÃŰ·Á°í ÇÒ ¶§ ±× ºñÆ® Çʵ忡 ±ÇÇÑ Ãà¼Ò¿¡ ÇÊ¿äÇÑ ´É·ÂÀ» °®Áö ¸øÇÏ°í ¹Ýȯ°ª °Ë»ç¾øÀÌ ½ÇÆÐÇÑ´Ù. sendmail Àº ½´ÆÛÀ¯Àú ±ÇÇÑÀ¸·Î °è¼Ó ½ÇÇàµÇ¸ç ·çÆ®·Î¼­ »ç¿ëÀÚÀÇ .forward ÆÄÀÏÀ» ½ÇÇà½ÃÄÑ ¿ÏÀüÇÑ ¼Õ»óÀ» ¾ß±âÇÑ´Ù.

sendmail ÀÌ »ç¿ëÇÏ´Â ÇѰ¡Áö Á¢±Ù ¹æ¹ýÀº setuid(getuid()) ÈÄ¿¡ setuid(0) ¸¦ ÇÏ·Á°í ÇÏ´Â °ÍÀÌ´Ù; ÀϹÝÀûÀ¸·Î ÀÌ´Â ½ÇÆÐÇØ¾ß ÇÑ´Ù. ¼º°øÇÑ´Ù¸é ÇÁ·Î±×·¥Àº ÁßÁöÇØ¾ß ÇÑ´Ù. ´õ¿í ÀÚ¼¼ÇÑ Á¤º¸´Â http://sendmail.net/?feed=000607linuxbug ¸¦ º¸¶ó. Àå±âÀûÀ¸·Î º¸¾ÒÀ» ¶§ ±âº»ÀûÀÎ ½Ã½ºÅÛÀ» °»½ÅÇÏ´Â °ÍÀÌ ´õ¿í ÁÁÀº Á¢±Ù ¹æ¹ýÀÓ¿¡µµ ºÒ±¸ÇÏ°í ´Ü±âÀûÀ¸·Î ÀÌ´Â ´Ù¸¥ ÇÁ·Î±×·¥¿¡¼­ ÁÁÀº °³³äÀÏ ¼ö ÀÖ´Ù.

6.3.3. ±ÇÇÑÀÌ ÇÊ¿äÇÑ ½Ã°£À» ÃÖ¼ÒÈ­ÇØ¶ó

ÇÁ·Î±×·¥ÀÌ ÇÊ¿äÇÒ ¶§¸¸ À¯È¿ÇÑ ±ÇÇÑÀ» °®À½À» º¸ÀåÇϱâ À§Çؼ­ setuid(2), seteuid(2) ¿Í °ü·Ã ÇÔ¼ö¸¦ »ç¿ëÇØ¶ó. À§¿¡ ¾ð±ÞÇßµíÀÌ »ç¿ëÀÚ ÀÔ·ÂÀ» ÇØ¼®ÇÏ´Â µ¿¾ÈÀº ±ÇÇÑÀÌ ±ÝÁöµÇµµ·Ï ´õ¿í ÀϹÝÀûÀ¸·Î´Â ±ÇÇÑÀÌ ½ÇÁ¦ ÇÊ¿äÇÒ ¶§¸¸ ±ÇÇÑÀÌ À¯È¿ÇÔÀ» º¸ÀåÇÏ°í ½ÍÀ» °ÍÀÌ´Ù. ¾î¶² ¹öÆÛ ¿À¹öÇÃ·Î¿ì °ø°ÝÀº ¼º°øÇÑ´Ù¸é ÇÁ·Î±×·¥À¸·Î ÇÏ¿©±Ý ÀÓÀÇÀÇ Äڵ带 ½ÇÇà½ÃŰ°Ô ÇÒ ¼ö ÀÖÀ¸¸ç ÄÚµå´Â ÀϽÃÀûÀ¸·Î Ãà¼ÒµÇ¾ú´ø ±ÇÇÑÀ» ´Ù½Ã ÀÌ¿ëÇÒ ¼ö ÀÖÀ½À» ÁÖ¸ñÇØ¶ó. µû¶ó¼­ °¡´ÉÇÑ ±ÇÇÑÀ» ¿ÏÀüÈ÷ Ãà¼Ò½ÃŰ´Â °ÍÀÌ ´Ã ´õ¿í ÁÁ´Ù. ´õ¿íÀÌ Çã°¡±ÇÀ» ÀϽÃÀûÀ¸·Î ±ÝÁöÇÏ´Â °ÍÀº ÇÁ·Î±×·¥ÀÌ ÆÄÀϳ»¿¡ ÀÛ¼ºÇÏÁö ¾ÊÀ¸·Á°í Çß´ø °ÍÀ» ÀÛ¼ºÇϵµ·Ï ³³µæ½ÃŰ´Â ±â¹ý°°Àº ¸ðµç Á¾·ùÀÇ °ø°ÝÀ» ¿¹¹æÇÑ´Ù. ÀÌ ±â¹ýÀº ¸¹Àº °ø°ÝÀ» ¿¡¹æÇϱ⠶§¹®¿¡ ÇÁ·Î±×·¥ÀÇ ¾î¶² ºÎºÐ¿¡¼­ ±ÇÇÑÀÇ ¿ÏÀü Ãà¼Ò¸¦ ÇÒ ¼ö ¾ø´Â °æ¿ì »ç¿ëÇÒ °¡Ä¡°¡ ÀÖ´Ù.

6.3.4. ±ÇÇÑÀÌ Çã°¡µÈ ¸ðµâÀ» ÃÖ¼ÒÈ­ÇØ¶ó

´ÜÁö ¾à°£ÀÇ ¸ðµâµé¿¡¸¸ ±ÇÇÑÀÌ Çã°¡µÈ´Ù¸é ±×µéÀÌ º¸¾ÈÀûÀÎÁö¸¦ °áÁ¤ÇÏ´Â °ÍÀº ´õ¿í ½±´Ù. À̸¦ ÇàÇÏ´Â ÇѰ¡Áö ¹æ¹ýÀº ÇϳªÀÇ ¸ðµâ·Î ÇÏ¿©±Ý ±ÇÇÑÀ» »ç¿ëÇÏ°Ô ÇÏ°í ±× ÈÄ À̸¦ Ãà¼ÒÇÏ´Â °ÍÀ¸·Î µû¶ó¼­ ÃßÈÄ È£ÃâµÇ´Â ´Ù¸¥ ¸ðµâÀÌ ±ÇÇÑÀ» ¿À¿ëÇÒ ¼ö ¾ø´Ù. ´Ù¸¥ Á¢±Ù ¹æ¹ýÀº º°°³ ½ÇÇà ÆÄÀÏ¿¡ º°°³ÀÇ ¸í·ÉÀ» °®´Â °ÍÀÌ´Ù; ÇÑ ¸í·ÉÀÌ ±ÇÇÑÀ» °®´Â »ç¿ëÀÚ (¿¹, ·çÆ®) ¸¦ À§ÇØ ¹æ´ëÇÑ ¾çÀÇ Å½ºÅ©¸¦ ¼öÇàÇÒ ¼ö ÀÖ´Â º¹ÀâÇÑ µµ±¸À̸ç ÇÑÆí ´Ù¸¥ µµ±¸´Â setuid ·Î ÀûÀº ¼öÀÇ ¸í·É ºÎºÐÁýÇÕ¸¸À» Çã¿ëÇÏ´Â ÀÛ°í ´Ü¼øÇÑ µµ±¸ÀÌ´Ù. ÀÛ°í ´Ü¼øÇÑ µµ±¸´Â ÀÔ·ÂÀÌ ¼ö¿ë °¡´ÉÇÑ ´Ù¾çÇÑ Á¶°ÇÀ» ÃæÁ·½ÃŰ´ÂÁö¸¦ °Ë»çÇÏ¸ç µû¶ó¼­ ÀÔ·ÂÀÌ ¼ö¿ë°¡´ÉÇÏ´Ù°í °áÁ¤ÇÏ¸é µ¥ÀÌŸ¸¦ º¹ÀâÇÑ µµ±¸·Î °Ç³×ÁØ´Ù. ÀÛ°í ´Ü¼øÇÑ µµ±¸°¡ ÀÔ·Â °Ë»ç¿Í º¹ÀâÇÑ µµ±¸·Î ¹«¾ùÀ» °Ç³×ÁÙ °ÍÀÎÁö¸¦ Á¦ÇÑÇϴ öÀúÇÑ ÀÛ¾÷À» ÇØ¾ßÇÔÀ» ÁÖ¸ñÇØ¶ó ±×·¸Áö ¾Ê´Ù¸é ÀÌ´Â °ø°Ý´çÇϱ⠽¬¿ï ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ Á¢±Ù ¹æ¹ýÀº ¸î°¡Áö ¹æ½ÄÀ¸·Î °èÃþÈ­ (layered) µÉ ¼ö Àִµ¥ ¿¹¸¦ µé¾î º¹ÀâÇÑ »ç¿ëÀÚ µµ±¸´Â ´ÙÀ½¿¡ ´Ù¸¥ º¹ÀâÇÑ ½Å·ÚµÈ µµ±¸·Î Á¤º¸¸¦ °Ç³×ÁÖ´Â ´Ü¼øÇÑ setuid "wrapping" ÇÁ·Î±×·¥ (ÀÔ·ÂÀÌ ¾ÈÀüÇÑ °ªÀÎÁö¸¦ °Ë»çÇÑ´Ù) À» È£ÃâÇÒ ¼ö ÀÖ´Ù. ÀÌ Á¢±Ù ¹æ¹ýÀº GUI ¿¡ ±âÃÊÇÑ ÇÁ·Î±×·¥¿¡ ƯÈ÷ µµ¿òÀÌ µÈ´Ù; GUI ºÎºÐÀ» ÀÏ¹Ý »ç¿ëÀÚ·Î ½ÇÇà½ÃŰ°í º¸¾È °ü·Ã ¿äûÀ» ½ÇÁ¦ ½ÇÇàÇÒ ¼ö Àִ Ưº° ±ÇÇÑÀ» °®´Â ´Ù¸¥ ÇÁ·Î±×·¥¿¡ ³Ñ°ÜÁà¶ó.

¾î¶² ¿î¿µÃ¼Á¦´Â ÇϳªÀÇ ÇÁ·Î¼¼½º¿¡ ´ÙÁß ½Å·Ú °èÃþ °³³äÀ» °®°í Àִµ¥ Multics' rings ÀÌ ÇÑ¿¹ÀÌ´Ù. Ç¥ÁØ À¯´Ð½º¿Í ¸®´ª½º´Â À̿Ͱ°Àº ½Ì±Û ÇÁ·Î¼¼½º³»¿¡¼­ ÇÔ¼ö¸¦ ÀÌ¿ëÇØ ´ÙÁß ½Å·Ú °èÃþÀ» ºÐ¸®ÇÏ´Â ¹æ¹ýÀ» °®°í ÀÖÁö ¾Ê´Ù; Ä¿³ÎÀÇ È£ÃâÀº ±ÇÇÑÀ» Áõ°¡½ÃŰÁö¸¸ ±×·¸Áö ¾ÊÀ¸¸é ÁÖ¾îÁø ÇÁ·Î¼¼½º´Â ÇϳªÀÇ ½Å·Ú ¼öÁØÀ» °®´Â´Ù. ¸®´ª½º¿Í ´Ù¸¥ À¯´Ð½º °è¿­ ½Ã½ºÅÛÀº ÇÁ·Î¼¼½º¸¦ °¢°¢ ´Ù¸¥ ±ÇÇÑÀ» °®´Â ´ÙÁß ÇÁ·Î¼¼½º·Î ºÐ±âÇÔÀ¸·Î½á ÀÌ ´É·ÂÀ» ¶§¶§·Î ¸ð»çÇÒ ¼ö ÀÖ´Ù. ÀÌ·¸°Ô Çϱâ À§ÇØ º¸¾ÈÀûÀÎ Åë½Å ä³Î (º¸Åë ¾ð³×ÀÓµå ÆÄÀÌÇÁ ¶Ç´Â ¾ð³×ÀÓµå ¼ÒÄÏÀÌ »ç¿ëµÈ´Ù) À» ¼³Á¤ÇÑ ÈÄ ´Ù¸¥ ÇÁ·Î¼¼½º·Î ºÐ±âÇÏ¿© °¢ ÇÁ·Î¼¼½º ±ÇÇÑÀ» °¡´ÉÇÑ ¸¹ÀÌ Ãà¼Ò½ÃÄѶó. ±×¸®°í ´Ü¼øÇÑ ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇØ¼­ ´ú ½Å·ÚµÈ ÇÁ·Î¼¼½º·Î ÇÏ¿©±Ý ´õ¿í ½Å·ÚµÈ ÇÁ·Î¼¼½º·ÎºÎÅÍÀÇ µ¿ÀÛÀ» ¿äûÇϵµ·ÏÇÏ¸ç ´õ¿í ½Å·ÚµÈ ÇÁ·Î¼¼½º´Â ´ÜÁö Á¦ÇÑµÈ ¿äû¼ÂÀ» Áö¿øÇϵµ·Ï º¸ÀåÇØ¶ó.

ÀÌ´Â ÀÚ¹Ù 2 ¹× Fluke °¡ ÀåÁ¡À» °®´Â ºÐ¾ßÀε¥ ¿¹¸¦ µé¾î ÀÚ¹Ù 2 ´Â ´ÜÁö ƯÁ¤ ÆÄÀÏÀ» ¿­ ¼öÀÖ´Â Çã°¡±Ç°ú °°ÀÌ ¹Ì¼¼È­µÈ (fine-grained) Çã°¡±ÇÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ¹ü¿ë ¿î¿µÃ¼Á¦´Â ÀϹÝÀûÀ¸·Î ÇöÀç ÀÌ·¯ÇÑ ´É·ÂÀ» °®°í ÀÖÁö ¾Ê´Ù; ÀÌ´Â °¡±î¿î ¹Ì·¡¿¡´Â º¯ÇÒ ¼ö ÀÖ´Ù. ÀÚ¹Ù¿¡ ´ëÇÑ ´õ¿í ÀÚ¼¼ÇÑ Á¤º¸´Â 9.6Àý ¸¦ º¸¶ó.

6.3.5. ±ÇÇÑÀ» Á¦ÇÑÇϱâ À§ÇØ FSUID »ç¿ëÀ» °í·ÁÇØ¶ó

°¢°¢ÀÇ ¸®´ª½º ÇÁ·Î¼¼½º´Â ÆÄÀϽýºÅÛ »ç¿ëÀÚ id (fsuid) ¿Í ÆÄÀϽýºÅÛ ±×·ì id (fsgid) ¶ó´Â ¸®´ª½º °íÀ¯ÀÇ µÎ°³ÀÇ »óŰªÀ» °®´Â´Ù. ÀÌ µÎ°ªÀº ÆÄÀϽýºÅÛ Çã°¡±ÇÀ» °Ë»çÇÒ ¶§ »ç¿ëµÇ´Âµ¥ ÀÓÀÇ »ç¿ëÀÚ¸¦ À§ÇÑ ÆÄÀÏ ¼­¹ö (NFS ¿Í °°Àº) ·Î ÀÛµ¿ÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ·Á¸é ÀÌ·¯ÇÑ ¸®´ª½º È®ÀåÀÇ »ç¿ëÀ» °í·ÁÇÒ ¼ö ÀÖ´Ù. ÀÌ È®ÀåÀ» »ç¿ëÇϱâ À§Çؼ­´Â ·çÆ® ±ÇÇÑÀ» º¸À¯ÇÏ´Â µ¿½Ã¿¡ ÀÏ¹Ý »ç¿ëÀÚ ´ë½Å ÆÄÀÏÀ» Á¢±ÙÇϱâ Àü¿¡ ´ÜÁö fsuid ¿Í fsgid ¸¦ º¯°æÇضó. ÀÌ È®ÀåÀº ¸Å¿ì À¯¿ëÇÏ¸ç ´Ù¸¥ (¾Æ¸¶ ÇÊ¿äÇÑ) ±ÇÇÑÀ» Á¦°ÅÇÏÁö ¾Ê°í¼­ ÆÄÀϽýºÅÛ Á¢±Ù ±ÇÇÑÀ» Á¦ÇÑÇÏ´Â ¸ÞÄ«´ÏÁòÀ» Á¦°øÇÑ´Ù. ´ÜÁö fsuid (euid ´Â ¾Æ´Ï´Ù) ¸¦ ¼³Á¤ÇÔÀ¸·Î½á Áö¿ª »ç¿ëÀÚ´Â ÇÁ·Î¼¼½º¿¡ ½Ã±×³ÎÀ» º¸³¾ ¼ö ¾ø´Ù. ¶ÇÇÑ ÀÌ·¯ÇÑ »óȲ¿¡¼­ °æÀï »óÅ´ ´õ¿í ½±°Ô ÇÇÇØÁø´Ù. ±×·¯³ª ÀÌ·¯ÇÑ Á¢±Ù ¹æ¹ýÀÇ ´ÜÁ¡Àº ÀÌ·¯ÇÑ È£ÃâÀÌ ¸ðµç À¯´Ð½º °è¿­ ½Ã½ºÅÛÀ¸·Î À̽ÄÇÒ ¼ö ¾ø´Ù´Â °ÍÀÌ´Ù.

6.3.6. »ç¿ëÇÒ ¼ö ÀÖ´Â ÆÄÀÏÀ» ÃÖ¼ÒÈ­Çϱâ À§ÇØ Chroot »ç¿ëÀ» °í·ÁÇØ¶ó

chroot(2) ¸¦ »ç¿ëÇØ¼­ ÇÁ·Î±×·¥ÀÌ º¼ ¼ö ÀÖ´Â ÆÄÀÏÀ» Á¦ÇÑÇÒ ¼ö ÀÖ´Ù. ÀÌ´Â µð·ºÅ丮¸¦ ÁÖÀDZí°Ô ¼³Á¤Çϰí (choot jail À̶ó°í ºÒ¸°´Ù) µð·ºÅ丮¿¡ Á¤È®ÇÏ°Ô µé¾î°¡¾ß ÇÔÀ» ¿äÇÑ´Ù. ÀÌ´Â ÇÁ·Î±×·¥ÀÇ º¸¾ÈÀ» Çâ»ó½ÃŰ´Â ¸Å¿ì È¿°úÀûÀÎ ±â¹ýÀÌ´Ù - º¼ ¼ö ¾ø´Â ÆÄÀÏÀ» ¹æÇØÇÏ´Â °ÍÀº ¾î·Æ´Ù. ±×·¯³ª ÀÌ´Â ÀüüÀûÀÎ °¡Á¤, ƯÈ÷ ÇÁ·Î±×·¥ÀÌ ·çÆ® ±ÇÇÑÀÌ ¾ø¾î¾ß ÇÑ´Ù´Â °¡Á¤¿¡ ÀÇÁ¸ÇÑ´Ù. ·çÆ® ±ÇÇÑÀ» ȹµæÇÒ ¾î¶°ÇÑ ¹æ¹ýµµ ¾ø¾î¾ß Çϸç chroot jail ÀÌ ÀûÀýÈ÷ ¼³Á¤µÇ¾î¾ß ÇÑ´Ù. ÀúÀÚ´Â ÀÌ ¹æ¹ýÀÌ ÀûÀýÇÑ °æ¿ì¿¡ chroot(2) ¸¦ »ç¿ëÇÒ °ÍÀ» ÃßõÇÏÁö¸¸ ÀÌ¿¡¸¸ ÀÇÁ¸ÇÏÁö¸¸ ¸¶¶ó; ´ë½Å À̸¦ °èÃþÈ­µÈ º¸È£¼ÂÀÇ ºÎºÐÀÌ µÇµµ·Ï ÇØ¶ó. ´ÙÀ½Àº chroot(2) »ç¿ë¿¡ ´ëÇÑ ¾à°£ÀÇ ÁÖÀǵéÀÌ´Ù:

6.3.7. Á¢±ÙÇÒ ¼ö ÀÖ´Â µ¥ÀÌŸÀÇ ÃÖ¼ÒÈ­¸¦ °í·ÁÇØ¶ó

»ç¿ëÀÚ°¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â µ¥ÀÌŸÀÇ ¾çÀ» ÃÖ¼ÒÈ­ÇÏ´Â °ÍÀ» °í·ÁÇØ¶ó. ¿¹¸¦ µé¾î »ç¿ëÀÚ°¡ µ¥ÀÌŸ¸¦ Á÷Á¢ÀûÀ¸·Î º¼ Çʿ䰡 ¾ø´Ù¸é CGI ½ºÅ©¸³Æ®¿¡¼­ ÀÌ ½ºÅ©¸³Æ®°¡ »ç¿ëÇÏ´Â ¸ðµç µ¥ÀÌŸ¸¦ ¹®¼­ Æ®¸® ¿ÜºÎ¿¡ ³õ¾Æ¶ó. ¾î¶² »ç¶÷Àº °ø°³ÀûÀ¸·Î ¸µÅ©¸¦ Á¦°øÇÏÁö ¾ÊÀ½À¸·Î½á ¾î¶² ´©±¸µµ µ¥ÀÌŸ¿¡ Á¢±ÙÇÒ ¼ö ¾ø´Ù´Â À߸øµÈ »ý°¢À» °®°í Àִµ¥ ÀÌ´Â °£´ÜÈ÷ ¸»Çؼ­ ¿ÇÁö ¾Ê´Ù.

6.3.8. »ç¿ë°¡´ÉÇÑ ÀÚ¿øÀÇ ÃÖ¼ÒÈ­¸¦ °í·ÁÇØ¶ó

ÁÖ¾îÁø ÇÁ·Î¼¼½º°¡ »ç¿ë°¡´ÉÇÑ ÄÄÇ»ÅÍ ÀÚ¿øÀ» ÃÖ¼ÒÈ­ÇÏ´Â °ÍÀ» °í·ÁÇØ¶ó. µû¶ó¼­ °íÀå³­´Ù°í ÇÏ´õ¶óµµ ¼Õ»óÀ» Á¦ÇÑÇÒ ¼ö ÀÖ´Ù. ÀÌ´Â ¼­ºñ½º ºÎÀÎ °ø°ÝÀ» ¿¹¹æÇÏ´Â ±âº»ÀûÀÎ ¹æ¹ýÀÌ´Ù. ³×Æ®¿öÅ© ¼­¹öÀÇ °æ¿ì °øÅëÀûÀÎ Á¢±Ù ¹æ¹ýÀº °¢ ¼¼¼Ç¿¡ ´ëÇØ º°°³ÀÇ ÇÁ·Î¼¼½º¸¦ ¼³Á¤ÇÏ°í °¢ ÇÁ·Î¼¼½º¿¡ ´ëÇØ ¼¼¼ÇÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Â ÃÑ CPU ½Ã°£ µîÀ» Á¦ÇÑÇÏ´Â °ÍÀÌ´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á °ø°ÝÀÚ°¡ ¸Þ¸ð¸®¸¦ ¼ÒºñÇϰųª ¸ðµç CPU ¸¦ »ç¿ëÇÏ´Â ¿äûÀ» ÇÏ´Â °æ¿ì Çѵµ°¡ Àû¿ëµÇ¾î ±× ÇϳªÀÇ ¼¼¼ÇÀÌ ´Ù¸¥ ŽºÅ©¸¦ ¹æÇØÇÏÁö ¸øÇϵµ·Ï ÇÒ °ÍÀÌ´Ù. ¹°·Ð °ø°ÝÀÚ°¡ ¸¹Àº ¼¼¼ÇÀ» ¸¸µé ¼ö ÀÖÁö¸¸ ÀÌ´Â Àû¾îµµ °ø°ÝÀ» ¹æÇØÇÒ ¼ö ÀÖ´Ù. Çѵµ ¼³Á¤ ¹æ¹ý (¿¹, ulimit(1)) ´ëÇÑ ´õ¿í ÀÚ¼¼ÇÑ Á¤º¸´Â 3.6Àý ¸¦ º¸¶ó.