16.6. ¾Ïȣȭ ¿É¼Ç

PostgreSQL´Â, º¹¼ö ·¹º§ÀÇ ¾Ïȣȭ¸¦ °®Ãß¾î µ¥ÀÌÅͺ£À̽º ¼­¹ö ÀÚ½Å, °ü¸®ÀÚÀÇ ÁÖÀÇ ºÎÁ·, ¾ÈÀüÇÏÁö ¾Ê´Â ³×Æ®¿öÅ©¸¦ ¿øÀÎÀ¸·Î ÇÑ ´©¼³·ÎºÎÅÍ µ¥ÀÌÅ͸¦ À¯¿¬ÇÏ°Ô º¸È£ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¶Ç, Áø·á ±â·ÏÀ̳ª À繫 ¾÷¹« µî ³ôÀº º¸¾ÈÀÌ ¿ä±¸µÇ´Â µ¥ÀÌÅ͸¦ ÀúÀåÇÏ´Â °æ¿ì¿¡ ¾Ïȣȭ°¡ ÇÊ¿äÇÑ °æ¿ìµµ ÀÖ½À´Ï´Ù.

ÆÐ½º¿öµå ÀúÀå¿¡ °üÇÑ ¾Ïȣȭ

±âº»°ª¿¡ÀÇÇØ, µ¥ÀÌÅͺ£À̽º »ç¿ëÀÚÀÇ ÆÐ½º¿öµå´Â MD5 ÇØ½Ã·Î¼­ ÀúÀåµË´Ï´Ù. ±×·¯¹Ç·Î, »ç¿ëÀÚ°¡ ÇÒ´çÇÒ ¼ö ÀÖ´Â ÆÐ½º¿öµå´Â °ü¸®ÀÚ¶óµµ ¸ð¸¨´Ï´Ù. MD5 ¾Ïȣȭ°¡ Ŭ¶óÀÌ¾ðÆ® ÀÎÁõ¿¡ »ç¿ëµÇ°í ÀÖ´Â °æ¿ì, Æò¹®ÀÇ ÆÐ½º¿öµå´Â ¼­¹ö»ó¿¡ ¼ø°£ÀûÀ¸·Îµµ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. ³×Æ®¿öÅ©»ó¿¡ º¸³»Áö±â Àü¿¡ Ŭ¶óÀÌ¾ðÆ®°¡ MD5 ¾Ïȣȭ¸¦ ½Ç½ÃÇϱ⠶§¹®ÀÔ´Ï´Ù.

ƯÁ¤ ¿­¿¡ °üÇÑ ¾Ïȣȭ

contribÇÔ¼ö ¶óÀ̺귯¸® pgcrypto¿¡ ÀÇÇØ, ¾î´À Çʵ带 ¾ÏÈ£È­ÇØ º¸Á¸ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. µ¥ÀÌÅÍÀÇ ÀϺΰ¡ ±Øºñ µ¥ÀÌÅÍÀÎ °Í °°Àº °æ¿ì¿¡ À¯¿ëÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®°¡ Á¦°øÇÑ º¹È£È­¿ëÀÇ Å°·Î, ¼­¹ö»óÀÇ µ¥ÀÌÅ͸¦ º¹È£È­ ÇØ, Ŭ¶óÀÌ¾ðÆ®¿¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

º¹È£È­ µÈ µ¥ÀÌÅÍ¿Í º¹È£È­¿ëÀÇ Å°´Â, º¹È£ ó¸®Áß ¹× Ŭ¶óÀÌ¾ðÆ® ¼­¹ö°£ÀÇ Åë½ÅÁß ¼­¹ö»ó¿¡ Á¸ÀçÇÕ´Ï´Ù. ÀÌ ¶§¹®¿¡, µ¥ÀÌÅͺ£À̽º ¼­¹ö¿¡ÀÇ ¸ðµç Á¢±Ù±ÇÇÑÀ» °¡Áö´Â »ç¿ëÀÚ(¿¹¸¦ µé¸é ½Ã½ºÅÛ °ü¸® Ã¥ÀÓÀÚ)¿¡ ÀÇÇØ, µ¥ÀÌÅÍ¿Í Å°°¡ Â÷´ÜµÇ´Â ¼ø°£ÀÌ ÀÖ½À´Ï´Ù.

µ¥ÀÌÅÍ ÆÄƼ¼Ç¿¡ °üÇÑ ¾Ïȣȭ

Linux¿¡¼­´Â"loopback device"¸¦ »ç¿ëÇØ ¸¶¿îÆ®µÈ ÆÄÀÏ ½Ã½ºÅÛÀÇ ÃÖ»óÁ¤µµ·Î ¾Ïȣȭ¸¦ ½Ç½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, ÆÄÀÏ ½Ã½ºÅÛ ÆÄƼ¼Ç Àüü¸¦ µð½ºÅ©»ó¿¡¼­ ¾ÏȣȭÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº ¿î¿µ ½Ã½ºÅÛ¿¡ ÀÇÇØ º¹È£È­ µË´Ï´Ù. À̰Ͱú µ¿µîÀÇ ±â´ÉÀº, FreeBSD¿¡¼­´Â GEOM º£À̽ºÀÇ µð½ºÅ© ¾Ïȣȭ, gbde·Î ºÒ¸³´Ï´Ù.

ÀÌ ±â¹ý¿¡ ÀÇÇØ, µð½ºÅ© ÀåÄ¡³ª ÄÄÇ»ÅÍ Àüü°¡ Â÷´ÜµÆÀ» °æ¿ì¿¡¼­µµ, µð½ºÅ©·ÎºÎÅÍ Æò¹®ÀÇ µ¥ÀÌÅͰ¡ ÀоÁö´Â °ÍÀ» ¹æÁöÇÒ ¼ö ÀÖ½À´Ï´Ù. ÆÄÀÏ ½Ã½ºÅÛÀÌ ¸¶¿îÆ®µÇ°í ÀÖÀ» ¶§´Â, ÀÌ ±â¹ý¿¡ ÀÇÇÑ º¸È£´Â ÀÛµ¿ÇÏÁö ¾Ê½À´Ï´Ù. ¸¶¿îÆ®½Ã¿¡´Â ¿î¿µ½Ã½ºÅÛÀÌ º¹È£È­ ÇÑ µ¥ÀÌÅ͸¦ Á¦°øÇϱ⠶§¹®ÀÔ´Ï´Ù. ±×·¯³ª, ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¶¿îÆ®Çϱâ À§Çؼ­ ÇϵîÀÇ ¹æ¹ýÀ¸·Î ¾Ïȣȭ ۸¦ ¿î¿µ ½Ã½ºÅÛ¿¡ °Ç³×Áà¾ß ÇÕ´Ï´Ù. ±× µð½ºÅ© ÀåÄ¡¸¦ ¸¶¿îÆ®Çϴ ȣ½ºÆ®ÀÇ ¾îµð¿£°¡ ¾Ïȣȭ ۸¦ ÀúÀåÇϰí ÀÖ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù.

³×Æ®¿öÅ©¿¡ °É¸° ÆÐ½º¿öµå ¾Ïȣȭ

MD5ÀÎÁõ ¹æ½ÄÀº, ¼­¹ö¿¡ ÆÐ½º¿öµå¸¦ ¼Û½ÅÇϱâ Àü¿¡, ÆÐ½º¿öµå¸¦ ÀÌÁßÀ¸·Î ¾ÏȣȭÇÕ´Ï´Ù. ¿ì¼±, »ç¿ëÀÚ¸íÀ» ¹ÙÅÁÀ¸·Î ÆÐ½º¿öµå¸¦ MD5·Î ¾ÏȣȭÇÕ´Ï´Ù. ±×¸®°í, µ¥ÀÌÅͺ£À̽º Á¢¼ÓÀÌ È®¸³ÇßÀ» ¶§¿¡, ·£´ýÀÎ salt¸¦ »ç¿ëÇØ ´õ¿í ¾ÏȣȭÇÕ´Ï´Ù. ÀÌ ÀÌÁßÀ¸·Î ¾ÏȣȭµÈ °ªÀÌ, ³×Æ®¿öÅ© ³Ñ¾î·Î ¼­¹ö¿¡ °Ç³×¹Þ½À´Ï´Ù. ÀÌÁßÀÇ ¾Ïȣȭ¿¡ ÀÇÇØ, ÆÐ½º¿öµåÀÇ µµÃ»À» ¸·´Â °Í ¸¸ÀÌ ¾Æ´Ï°í, ÇâÈÄ, È®¸³ÇÏ´Â ´Ù¸¥ Á¢¼ÓÀ¸·Î °°Àº ¾Ïȣȭ°ªÀÌ »ç¿ëµÇÁö ¾Ê°Ô µË´Ï´Ù.

³×Æ®¿öÅ©¿¡ °É¸° µ¥ÀÌÅÍ ¾Ïȣȭ

SSL Á¢¼Ó¿¡ ÀÇÇØ, ³×Æ®¿öÅ© ³Ñ¾î·Î ¼Û½ÅµÇ´Â µ¥ÀÌÅÍ(ÆÐ½º¿öµå, Äõ¸® °á°úÀÇ µ¥ÀÌÅÍ)´Â ¸ðµÎ ¾ÏȣȭµË´Ï´Ù. pg_hba.confÆÄÀÏÀ» »ç¿ëÇØ, °ü¸®ÀÚ´Â ¾î´À È£½ºÆ®´Â ¾ÏȣȭÇÏÁö ¾Ê´Â Á¢¼ÓÀ» »ç¿ëÇϰí(host), ¾î´À È£½ºÆ®°¡ SSL·Î ¾ÏȣȭµÈ Á¢¼ÓÀ» ÇÊ¿ä·Î ÇÏ´ÂÁö(hostssl)¸¦ ÁöÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¶Ç, SSL °æÀ¯ÀÇ ¼­¹ö¿ÍÀÇ Á¢¼Ó¸¸À» »ç¿ëÇϵµ·Ï Ŭ¶óÀÌ¾ðÆ®·Î ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. Stunnel³ª SSH¸¦ »ç¿ëÇØ ¾Ïȣȭ Àü¼ÛÀ» ½Ç½ÃÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

SSL È£½ºÆ® ÀÎÁõ

Ŭ¶óÀÌ¾ðÆ®¿Í ¼­¹öÀÇ ¾çÂÊ ¸ðµÎ·Î, SSL Ű³ª Áõ¸í¼­¸¦ ¼­·Î Á¦°øÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. À̰Ϳ¡´Â ¾çÂÊ ¸ðµÎ·Î Ãß°¡ÀÇ ¼³Á¤À» ½Ç½ÃÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù¸¸, À̰Ϳ¡ ÀÇÇØ ´Ü¼øÇÑ ÆÐ½º¿öµåÀÇ »ç¿ëº¸´Ù °­·ÂÇÑ ½Å¿øÀÇ °ËÁõÀ» ½Ç½ÃÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®·ÎºÎÅÍ ¼Û½ÅµÈ ÆÐ½º¿öµå¸¦ µµÃ»ÇÏ´Â À§ÀåÇÑ ¼­¹ö·ÎºÎÅÍ ÄÄÇ»Å͸¦ º¸È£ÇÕ´Ï´Ù. ¶Ç, Ŭ¶óÀÌ¾ðÆ®¿Í ¼­¹ö¿ÍÀÇ »çÀÌ¿¡ ÀÖ´Â ÄÄÇ»ÅͰ¡ ¼­¹ö°¡ µÇ¾î ³¡³», Ŭ¶óÀÌ¾ðÆ®¿Í ¼­¹ö°£¿¡ È帣´Â µ¥ÀÌÅ͸¦ Àо Áß°èÇÏ´Â, ¡¸Áß°£ÀÚ¡¹°ø°ÝÀ¸·ÎºÎÅÍ º¸È£ÇÒ ¼öµµ ÀÖ½À´Ï´Ù

Ŭ¶óÀÌ¾ðÆ® »çÀ̵åÀÇ ¾Ïȣȭ

½Ã½ºÅÛ °ü¸® Ã¥ÀÓÀÚ¸¦ ½Å·ÚÇÒ ¼ö ¾ø´Â °æ¿ì, Ŭ¶óÀ̾ðÆ®Ãø¿¡¼­ µ¥ÀÌÅ͸¦ ¾ÏȣȭÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, Æò¹®ÀÇ µ¥ÀÌÅÍ´Â µ¥ÀÌÅͺ£À̽º ¼­¹ö»ó¿¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. µ¥ÀÌÅÍ´Â ¼­¹ö¿¡ ¼Û½ÅµÇ±â Àü¿¡ Ŭ¶óÀÌ¾ðÆ®»ó¿¡¼­ ¾ÏȣȭµË´Ï´Ù. ¶Ç, »ç¿ëÇϱâ Àü¿¡ µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍÀÇ °á°ú¸¦ Ŭ¶óÀÌ¾ðÆ®·Î º¹È£È­ ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.