´ÙÀ½ ÀÌÀü Â÷·Ê

7. Ä¿³Î º¸¾È

ÀÌ°ÍÀº º¸¾È¿¡ °ü·ÃµÈ Ä¿³Î Á¶Á¤ ¿É¼Çµé°ú ÀÌ °ÍµéÀÌ ¹«¾ùÀ» ÇÏ´Â Áö¿¡ ´ëÇÑ ¼³¸í°ú ¾î¶»°Ô »ç¿ëÇÏ´Â Áö¿¡ ´ëÇÑ ¼³¸íÀÌ´Ù.

Ä¿³ÎÀÌ ¿©·¯ºÐ ÄÄÇ»ÅÍ ³×Æ®¿öÅ© ¾÷¹«¸¦ °ü¸®ÇϹǷÎ, Ä¿³ÎÀ» ¸Å¿ì ¾ÈÀüÇϵµ·Ï °ü¸®ÇÏ´Â °Í°ú Ä¿³Î ÀÚüÀÇ º¸¾ÈÀÌ ±úÁöÁö ¾Êµµ·Ï ÇÏ´Â °ÍÀº Áß¿äÇÑ °ÍÀÌ´Ù. ÃֽŠ³×Æ®¿öÅ· °ø°Ý¹ýÀÇ ÀϺθ¦ ¹æÁöÇϱâ À§Çؼ­´Â Ä¿³ÎÀÇ ¹öÀüÀ» ÃÖ½ÅÀÇ °ÍÀ¸·Î °ü¸®ÇØ¾ß ÇÑ´Ù. »õ·Î¿î Ä¿³ÎÀº ftp://ftp.kernel.org/À̳ª µð½ºÆ®¸®ºä¼Ç Á¦ÀÛÀÚÀÇ »çÀÌÆ®¿¡¼­ ãÀ» ¼ö ÀÖ´Ù.

¶ÇÇÑ ÁÖ·Î ¾²ÀÌ´Â ¸®´ª½º Ä¿³Î¿¡ ¾µ ¼ö ÀÖµµ·Ï ÅëÀÏµÈ ¾Ïȣȭ ÆÐÄ¡¸¦ Á¦°øÇÏ´Â ±¹Á¦ ±×·ìµµ ÀÖ´Ù. ÀÌ ÆÐÄ¡´Â (¹Ì±¹ÀÇ) ¼öÃâ Á¦ÇÑ Á¶Ä¡ ¶§¹®¿¡ ¸®´ª½º Ä¿³Î¿¡ ³¢¿ö ³ÖÀ» ¼ö ¾ø¾ú´ø ¿©·¯ °¡Áö ¾Ïȣȭ ¼­ºê½Ã½ºÅÛÀ» Áö¿øÇØ ÁØ´Ù. Á¤º¸´Â http://www.kerneli.org¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù.

7.1 "2.0 Ä¿³Î"ÀÇ ÄÄÆÄÀÏ ¿É¼Ç

2.0.x Ä¿³Î¿¡¼­´Â ´ÙÀ½ÀÇ ¿É¼ÇµéÀ» ¾µ ¼ö ÀÖ°í, Ä¿³Î ±¸¼º ´Ü°è (Kernel Configuration Process)¿¡¼­ º¼ ¼ö°¡ ÀÖÀ» °ÍÀÌ´Ù. ¾Æ·¡¿¡ ¼³¸íµÇ¾î ÀÖ´Â ´ëºÎºÐÀº ./linux/Documentation/Configure.help ¹®¼­¿¡ ÀûÇô ÀÖ°í, ÀÌ ¹®¼­´Â Ä¿³Î ÄÄÆÄÀÏ ¿É¼ÇÀ» ½ÇÇàÇÒ ¶§ make config ´Ü°è¿¡¼­ µµ¿ò¸»·Î »ç¿ëµÇ°í ÀÖ´Ù.

"2.2 Ä¿³Î"ÀÇ ÄÄÆÄÀÏ ¿É¼Ç

2.2.x Ä¿³ÎµéÀº ¿É¼ÇÀÌ ´ëºÎºÐ ¶È°°Áö¸¸, »õ·Î¿î ¿É¼ÇÀÌ ¸î °¡Áö »õ·ÎÀÌ °³¹ßµÇ¾î ÀÖ´Ù. ¾Æ·¡¿¡ ¼³¸íµÇ¾î ÀÖ´Â ´ëºÎºÐÀº Ä¿³ÎÀ» ÄÄÆÄÀÏÇÏ´Â ÁßÀÇ make config ´Ü°è¿¡¼­ µµ¿ò¸» (Help facility)·Î »ç¿ëµÇ´Â /linux/Documentation/Configure.help ¹®¼­¿Í ³»¿ëÀÌ °°´Ù. [23] »õ·Î Ãß°¡µÈ ¿É¼Çµé ¸¸ ¾Æ·¡¿¡ Àû¾î ³õ¾Ò´Ù. ´Ù¸¥ ÇÊ¿äÇÑ ¿É¼ÇÀ» ¾Ë°í ½ÍÀ¸¸é 2.0 ¼³¸íÀ» º¸±â ¹Ù¶õ´Ù. ¾Æ¸¶µµ 2.2 Ä¿³Î¿¡¼­ °¡Àå ÀÇ¹Ì ÀÖ´Â º¯È­´Â IP ¹æÈ­º® ÄÚµåÀÏ °ÍÀÌ´Ù. IP ¹æÈ­º®À» ¼³Ä¡Çϱâ À§Çؼ­ 2.0 Ä¿³Î¿¡¼­´Â ipfwadm Ç®±×¸²ÀÌ »ç¿ëµÇ¾úÁö¸¸, 2.2 Ä¿³Î¿¡¼­´Â ipchains Ç®±×¸²ÀÌ »ç¿ëµÇ°í ÀÖ´Ù.

7.2 Ä¿³Î µð¹ÙÀ̽ºµé

¸®´ª½º¿¡´Â º¸¾È¿¡ µµ¿òÀÌ µÇ´Â ¸î °³ÀÇ ºí·Ï µð¹ÙÀ̽º¿Í ¹®ÀÚ µð¹ÙÀ̽º°¡ ÀÖ´Ù.

/dev/random°ú /dev/urandomÀÇ µÎ µð¹ÙÀ̽º´Â ·£´ý µ¥ÀÌŸ¸¦ ¾ðÁ¦¶óµµ ¸¸µé¾î ³¾ ¼ö ÀÖµµ·Ï Ä¿³Î¿¡¼­ Á¦°øµÈ´Ù.

/dev/random°ú /dev/urandom µÑÀº º¸¾È»ó ¾ÈÀüÇÑ (secure) ³­¼ö ¹ß»ý ±â´ÉÀÌ ÇʼöÀûÀÎ PGP ¿­¼èÀÇ Á¦ÀÛ, ssh ¼öÇÏ µµÀü¿ë (challenge), ±×¸®°í ±âŸ Ç®±×¸²µé µî¿¡ »ç¿ëµÉ ¼ö ÀÖÀ» ¸¸Å­ ÃæºÐÈ÷ ¾ÈÀüÇØ¾ß ÇÑ´Ù. °ø°ÝÀÚ°¡ -- ÀÌ µÎ ±â´É¿¡¼­ ¹ß»ýµÈ ¼ýÀÚµéÀÇ Á¶ÇÕÀ» ¹Ì¸® ¾Ë°í ÀÖ´Ù°í Çؼ­ -- ±× ´ÙÀ½ÀÇ ³ª¿Ã ¼ýÀÚ¸¦ ¾Ë¾Æ³»´Â ÀÏÀÌ °¡´ÉÇؼ­´Â ¾ÈµÈ´Ù. ÀÌ µÑ·ÎºÎÅÍ »ý¼ºµÇ´Â ¼ýÀÚµéÀÌ ÁøÁ¤ÇÑ Àǹ̷μ­ÀÇ ³­¼ö°¡ µÇµµ·Ï º¸ÀåÇÏ´Â ¸¹Àº ³ë·ÂµéÀÌ ½ñ¾Æ ºÎ¾îÁö°í ÀÖ´Ù.

µÎ µð¹ÙÀ̽ºÀÇ Â÷ÀÌÁ¡À̶ó¸é /dev/randomÀº ¹«ÀÛÀ§ÀÇ ¹ÙÀÌÆ®µé·Î ¸¸µé¾îÁö¸ç, ¹«ÀÛÀ§ÀÇ ¹ÙÀÌÆ®µéÀÌ ¸¸µé¾î ½×ÀÌ´Â µ¿¾ÈÀº ´ë±â »óÅ°¡ µÈ´Ù´Â Á¤µµÀÏ °ÍÀÌ´Ù. ÀϺΠ½Ã½ºÅÛ¿¡¼­´Â »õ·Î¿î »ç¿ëÀÚ »ý¼º ÀÔ·Â (user-generated entry)ÀÌ ½Ã½ºÅÛ¿¡ µî·ÏµÇ´Â ½Ã°£ÀÌ ¿À·¡ °É¸± ¼ö ÀÖ°í, ±× µ¿¾ÈÀº (»ç¿ëÀÌ) ¸·Çô ÀÖÀ» ¼ö ÀÖ´Ù´Â °ÍÀ» ¸»ÇÏ°í ½Í´Ù. /dev/randomÀ» ¾²±â Àü¿¡´Â ½É»ç¼÷°íÇϱ⸦ ¹Ù¶õ´Ù. (¾Æ¸¶µµ Á¦ÀÏ ÁÁÀº ¹æ¹ýÀº Çü¼ºÀÌ µÇ°í ÀÖ´Â »çÀÌ¿¡ -- "OK ÃæºÐÇÕ´Ï´Ù" ÇÏ´Â ¸Þ½ÃÁö°¡ ³ª¿Ã ¶§±îÁö -- »ç¿ëÀÚµéÀÌ Å°º¸µå¸¦ µÎµé±â°Ô ²û ÇÏ´Â °ÍÀÏ °ÍÀÌ´Ù)

/dev/randomÀº -- ÀÎÅÍ·´Æ® »çÀÌÀÇ ½Ã°£À» Àç¼­ ¸¸µå´Â µîÀÇ -- ÁúÀÌ ³ôÀº ¿£Æ®·ÎÇÇÀÌ´Ù. À̰͵µ ·£´ý µ¥ÀÌŸ°¡ ÃæºÐÈ÷ ¸¸µé¾îÁú ¶§±îÁö ¸·°í ÀÖ°Ô µÈ´Ù.

/dev/urandomÀº ºñ½ÁÇÏÁö¸¸, -- ¿£Æ®·ÎÇÇ°¡ ³·À» ¶§ÀÇ °æ¿ì -- ¾ÏÈ£ÇÐ ±â¹ý »ó °­ÇÏ´Ù°í ÇÒ ¼ö ÀÖ´Â Ç콬 °ªÀ» ¸¸µé¾î ÁØ´Ù. ºñ·Ï ÀÌ°ÍÀº (/dev/randomÀ¸·Î ¸¸µé¾îÁö´Â °ª¿¡ ºñÇϸé) »ó´ëÀûÀ¸·Î´Â ´ú ¾ÈÀüÇÏÁö¸¸, ´ëºÎºÐÀÇ Ç®±×¸²¿ëÀ¸·Î´Â ÃæºÐÇÏ´Ù.

´ÙÀ½°ú °°Àº ¹æ¹ý µîÀ¸·Î µð¹ÙÀ̽º·ÎºÎÅÍ ÀÐ¾î ³¾ ¼ö ÀÖ´Ù.

          root#  head -c 6 /dev/urandom | mimencode
ÀÌ°ÍÀº -- Æнº¿öµå¸¦ ¸¸µê¿¡ ÀûÀýÇÒ -- 8ÀÚÀÇ ³­¼ö¸¦ ÄַܼΠÃâ·ÂÇÒ °ÍÀÌ´Ù. mimencode´Â ¸ÞŸ ¸ÞÀÏ ÆÐÅ°Áö¿¡¼­ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

¿¬»ê¹ý¿¡ ´ëÇÑ ¼³¸íÀº /usr/src/linux/drivers/char/random.c¿¡ ÀÖ´Ù. ³»°¡ (µ¥À̺ê) ÀÌ °ÍÀ» ¾²´Âµ¥ µµ¿ÍÁØ µð¾îµµ¾î ¿ÍÀÌ Âå, Á¸ ·çÀ̽º ±×¸®°í ¸®´ª½º Ä¿³Î ÆÀ ¿©·¯ºÐ¿¡°Ô °¨»çµå¸°´Ù.


´ÙÀ½ ÀÌÀü Â÷·Ê