5. Linux-PAMÀÇ º¸¾È À̽´(Security issues of Linux-PAM)

ÀÌ Àå¿¡¼­´Â Linux-PAMÀ» º¸¾È°¨°¢À» °®°í »ç¿ëÇÏ´Â ÁÁÀº »ç·Ê¿¡ ´ëÇØ ³íÀÇÇÒ °ÍÀÌ´Ù. ³»¿ëÀÌ ºÎÁ·Çѵ¥... Á¦¾ÈÀº ȯ¿µÇÑ´Ù!

5.1. ¹º°¡°¡ À߸ø µÇ°í ÀÖ´Ù¸é(If something goes wrong)

Linux-PAMÀº ½Ã½ºÅÛÀÇ º¸¾ÈÀ» º¯°æ½ÃŰ´Â ½É°¢ÇÑ ÀáÀç·ÂÀ» °®°í ÀÖ´Ù. ´ç½ÅÀº ¾Æ¹«·± º¸¾Èµµ ÇÏÁö ¾Ê°Ô ÇÒ ¼öµµ ÀÖ°í, ¿Ïº®º¸¾È (¾Æ¹«µµ Á¢±ÙÇÒ ¼ö ¾ø°Ô)À» ÇÒ ¼öµµ ÀÖ´Ù. º¸ÅëÀº Linux-PAMÀÌ ÈÄÀÚÀÇ °æ¿ì ¿¡·¯¸¦ ³½´Ù. ¼³Á¤¿¡·¯´Â ½Ã½ºÅÛÀ» ºÎºÐÀûÀ¸·Î ¶Ç´Â ¿ÏÀüÈ÷ Á¢±ÙÀ» ¸·¾Æ¹ö¸± ¼ö ÀÖ´Ù.

°¡Àå Linux-PAMÀ» ¼³Á¤ÇÒ ¶§ ºÎ´ÚÄ¡°Ô µÇ´Â °¡Àå ±â°¡ ¸·Èù »óȲÀº ¼³Á¤ÆÄÀÏ(/etc/pam.d/* ³ª /etc/pam.conf)À» Áö¿ì´Â °ÍÀÌ´Ù. ÀÌ·¸°Ô µÇ¸é ´ç½ÅÀÇ ½Ã½ºÅÛÀº ´ç½ÅÀڽŵµ ¾µ ¼ö ¾ø°Ô ¿ÏÀüÈ÷ Àá°Ü¹ö¸°´Ù!

À̸¦ º¹±¸Çϱâ À§ÇÑ ÃÖ¼±ÀÇ ¹æ¹ýÀº ½Ã½ºÅÛÀ» ÀçºÎÆÃÇÑ ÈÄ ½Ì±Û À¯Àú ¸ðµå·Î µé¾î°¡¼­ ¹®Á¦¸¦ °íÄ¡´Â °ÍÀÌ´Ù. ´ÙÀ½Àº ÀÌ ¹®Á¦¿¡ ´ëÇØ David Wood°¡ ´äÇÑ email¿¡¼­ ±ÍÁßÇÑ ³»¿ëÀ» ÀοëÇÑ °ÍÀÌ´Ù.
> ³»°¡ µµ´ëü Áö±Ý ¹«¾ùÀ» ÇѰ̴ϱî?

¾Ë¾Ò½À´Ï´Ù. ÁøÁ¤Çϼ¼¿ä. ´ç½ÅÀÌ ¿ì¼± PAMÀ» »ç¿ëÇÏ´Â »ç¿ëÀÚÀÇ Àý¹Ý °¡·®¿¡°Ô 
ÀÌ ÀÏÀÌ »ý±ä´Ù´Â °ÍÀ» ¾Æ¼Å¾ß ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. 
¿©±â¿¡¼­µµ Çѹøµµ¾Æ´Ï°í µÎ¹øµµ ¾Æ´Ï°í ¼¼¹øÀ̳ª ÀϾ½À´Ï´Ù. 
°á±¹, ¸Å¹ø ÇØ°áÃ¥Àº Ç×»ó °°¾Ò½À´Ï´Ù.
ù°·Î, ´ç½ÅÀÌ LILO¸¦ µô·¹À̸¦ °®µµ·Ï ¼³Á¤Ç߱⸦ ¹Ù¶ø´Ï´Ù. °¡´ÉÇÏ´Ù¸é, ¸®ºÎÆÃÀ»
Çϰí shift³ª tabÀ» Ä£ ÈÄ ¾Æ·¡¿Í °°ÀÌ Ä¡½Ê½Ã¿À:
	LILO boot: linux single
('linux'¸¦ '´ç½ÅÀÌ ¾²´Â linux À̹ÌÁö À̸§'À¸·Î ¹Ù²Ù¼¼¿ä).
À̰ÍÀº ´ç½ÅÀÌ ·Î±×ÀÎ ¾øÀÌ ½Ã½ºÅÛ¿¡ µé¾î°¡°Ô ÇØÁÙ °ÍÀÔ´Ï´Ù. Äֿܼ¡¼­
linux¸Ó½Å¿¡ ħÀÔÇÏ´Â °ÍÀÌ ¾ó¸¶³ª ½¬¿îÁö ±Ã±ÝÇØÇÏÁö ¾Ê¾Ò½À´Ï±î?
ÀÌÁ¦ ´ç½Åµµ ¾Ð´Ï´Ù.

À̰ÍÀ» ÇÒ ¼ö ¾ø´Ù¸é, bootkernel Ç÷ÎÇÇ¿Í slackwareÀÇ rescue.gz°°Àº
rootµð½ºÅ©¸¦ ±¸ÇϽʽÿÀ. (RedHatÀÇ ¼³Ä¡ µð½ºÅ©¸¦ ÀÌ ¸ðµå·Îµµ »ç¿ë°¡´ÉÇÕ´Ï´Ù.)

µÎ °æ¿ì ¸ðµÎ, root ÇÁ·ÒÇÁÆ®¸¦ ´Ù½Ã º¼ ¼ö ÀÖÀ»°Ì´Ï´Ù.

µÎ¹øÂ°·Î, ´ç½ÅÀÌ pam ¼³Ä¡¸¦ ¿ÏÀüÈ÷ ¸Á°¡¶ß¸®Áö ¾Ê¾Ò´Ù°í °¡Á¤ÇϰڽÀ´Ï´Ù. Áï,
¼³Á¤ÆÄÀϸ¸ ¾ø¾Ý°ÍÀ¸·Î ¾Ë°Ú½À´Ï´Ù. 
¿©±â¿¡ ¾î¶»°Ô ´ç½ÅÀÇ ¼³Á¤ÆÄÀÏÀ» ´Ù½Ã ¸ÚÀÖ°Ô ¸¸µå´ÂÁö º¸¿©µå¸®°Ú½À´Ï´Ù:
  cd /etc
  mv pam.conf pam.conf.orig
  mv pam.d pam.d.orig
  mkdir pam.d
  cd pam.d
±×¸®°í vi¸¦ »ç¿ëÇØ¼­ "other"¶ó´Â ÆÄÀÏÀ» ÀÌ µð·ºÅ丮¿¡ ¸¸µå½Ê½Ã¿À. ÀÌ ÆÄÀÏ¿¡
¾Æ·¡ÀÇ ³×ÁÙÀ» Æ÷ÇÔÇϵµ·Ï ÇϽʽÿÀ:
  auth		required	pam_unix_auth.so
  account	required	pam_unix_acct.so
  password	required	pam_unix_passwd.so
  session	required	pam_unix_session.so

ÀÌÁ¦ ´ç½ÅÀº ´ç½ÅÀÌ »ç¿ëÇÏ´ø´ë·Î µ¿ÀÛÇÏ´Â °¡Àå ´Ü¼øÇÑ PAM¼³Á¤ ÆÄÀÏÀ» °®°Ô
µÇ¾ú½À´Ï´Ù. ¸ðµç°Ô ¸¶¹ýó·³ ´Ù½Ã µ¿ÀÛÇÒ °ÍÀÔ´Ï´Ù. ALT-F2¸¦ ´©¸£°í, ´Ù¸¥ ¹öÃò¾ó
Äֿܼ¡¼­ ·Î±×ÀÎ ÇØº¸½Ê½Ã¿À. ¸¸ÀÏ Á¦´ë·Î µÇÁö ¾Ê´Â´Ù¸é, ´ç½ÅÀº ´õ Å« ¹®Á¦¸¦
°¡Áö°í Àְųª, ¼³Á¤ÆÄÀÏ¿¡ ¿ÀÀÚ°¡ ÀÖÀ» °Ì´Ï´Ù. ÀÌ ½Ã½ºÅÛÀÇ ÀÌ»óÇÑÀÏÀÌ
¼³Á¤ÆÄÀÏ¿¡ ¿ÀŸ°¡ ÀÖ´Â °ÍÀ̶ó¸é Äֿܼ¡¼­´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ º¼¼ö ¾ø°í,
logÆÄÀÏ¿¡¼­ º¼ ¼ö ÀÖ½À´Ï´Ù. Çѹø º¸¼¼¿ä.
('tail /var/log/messages'¶ó°í ÇØº¸¼¼¿ä)

ÀÌÁ¦ºÎÅÍ ¿¹Àüó·³ µ¹¾Æ°¡¼­ ½ÇÁ¦ ¼³Á¤ÆÄÀÏÀ» °¡Á®¿É½Ã´Ù. ¸Á°¡¶ß·Áµµ »ó°ü¾ø´Â
½Ã½ºÅÛ¿¡¼­ ½ÃÇèÀ» °ÅÄ£ÈÄ¿¡ °¡Á®¿À´Â °ÍÀÌ ÁÁ°ÚÁö¿ä. :/

¾à°£ÀÇ Áö½Ã»çÇ×(RedHat¿¡¼­´Â ¸ðµÎ Àß µÉ°Ì´Ï´Ù.):
    ÃֽŠpam, pamconfig, pwdb¸¦ redhatÀÇ current µð·ºÅ丮¿¡¼­ ÀνºÅçÇϼ¼¿ä.
	rpm -Uvh [¾Æ¸¶ --forceµµ] pam-* pamconfig-* pwdb-*

    ±×¸®°í, ÃÖ½ÅÀÇ libc, util-linux, wuftp, NetKitÀ» ¼³Ä¡/À缳ġÇß´ÂÁö
È®ÀÎÇϼ¼¿ä. xlock°°Àº X ÀÀ¿ëÇÁ·Î±×·¥¿¡ ¿µÇâÀ» ÁÖ´Â »õ ¹öÁ¯ÀÇ ¼³Ä¡¸¦ ½ÃµµÇÏ´Ù°¡
´çÇÏ´Â ÅðÂ¥´Â ¾ÆÁ÷±îÁö´Â ¾ø¾ú½À´Ï´Ù.

5.2. ¾àÇÑ 'other'¼³Á¤ÇÏÁö ¾Ê±â(Avoid having a weak 'other' configuration)

¾àÇÏ°Ô µðÆúÆ®(OTHER)¼³Á¤À» µÎ´Â °ÍÀº ÁÁÁö ¾Ê´Ù. PAMÀ» Áö¿øÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥µé¿¡ ´ëÇØ ÀÌ µðÆúÆ® ¼³Á¤ÀÌ Àû¿ëµÇ°í ¸¸¾à ÀÌ ¼³Á¤ÀÌ ¾àÇÏ´Ù¸é, ½Ã½ºÅÛÀÌ °ø°Ý¹Þ±â ½±´Ù.

¿©±â¿¡ 'other'¼³Á¤ÆÄÀÏ¿¡ ´ëÇÑ ¿¹°¡ ÀÖ´Ù. pam_deny ¸ðµâÀº Ç×»ó Á¢±ÙÀ» ºÒÇãÇϰí pam_warn ¸ðµâÀº syslog ¸Þ½ÃÁö¸¦ auth.notice¿¡°Ô º¸³¾ °ÍÀÌ´Ù:

#
# The PAM configuration file for the `other' service 
# 
auth      required   pam_deny.so 
auth      required   pam_warn.so 
account   required   pam_deny.so 
account   required   pam_warn.so 
password  required   pam_deny.so 
password  required   pam_warn.so 
session   required   pam_deny.so 
session   required   pam_warn.so