³Ø½ºÆ®¶óÀÎ ±â¼úÁö¿øºÎ ±è»ï¼ö(kiss@nextline.co.kr)
À¥ ¾îÇø®ÄÉÀÌ¼Ç º¸¾ÈÅÛÇø´ (PHP ¹öÀü)
KWST (KISA Web Security Template)
Ãֱ٠ȨÆäÀÌÁö¿¡ Á¸ÀçÇÏ´Â À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ Ãë¾àÁ¡À» ÀÌ¿ëÇÏ¿© SQL Injection, iframe »ðÀÔ µîÀÇ °ø°ÝÀÌ ºñ¹øÈ÷ ÀÌ·ç¾îÁö°í ÀÖÀ¸¸ç, ÀÌ·¯ÇÑ À¥ ÇØÅ·À¸·Î ÀÎÇÏ¿© ȨÆäÀÌÁö º¯Á¶, µ¥ÀÌÅÍÀ¯½Ç, ½ÉÁö¾î ½Ã½ºÅÛ±îÁö ÇØÅ·¿¡ ³ëÃâµÇ¾î ¸·´ëÇÑ ÇÇÇظ¦ ÀÔ´Â »ç·Ê°¡ º¸°íµÇ°í ÀÖ½À´Ï´Ù.
À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ Ãë¾àÁ¡À» º¸¿ÏÇϱâ À§Çؼ´Â Ãë¾àÁ¡ÀÇ ¿øÀÎÀÌ µÇ´Â ȨÆäÀÌÁö ¼Ò½º¸¦ Á÷Á¢ ¼öÁ¤ÇØ¾ß Çϳª ´ëºÎºÐÀÇ Áß¼Ò È¨ÆäÀÌÁöÀÇ °æ¿ì, °³¹ßÀηÂÀÇ ¹Ìºñ·Î ÀÎÇØ Ä§ÇØ»ç°í°¡ Áö¼ÓÀûÀ¸·Î Àç¹ßÇÏ´Â ¹®Á¦°¡ ¹ß»ýÇÏ°í ÀÖ½À´Ï´Ù. KWST´Â À¥ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇÑ °£´ÜÇÑ ¼³Á¤À¸·Î ȨÆäÀÌÁö ¼Ò½º¿¡ SQL Injection, iframe, XSS, ¼Ò½ºº¯Á¶, ¾ÆÀÌÇÇ Â÷´Ü µîÀÇ º¸¾È¼³Á¤À» ÇÒ ¼ö ÀÖ´Â º¸¾È ÅøÀÔ´Ï´Ù.
KWSTÀÇ ÁÖ¿ä±â´É
Áö¿øÇÏ´Â ¿î¿µÃ¼Á¦
UNIX
1. º¸¾È¼º °È
- OWASP 10´ë Ãë¾àÁ¡ Áß ÁÖ¿ä Ãë¾àÁ¡À» ÇØ°á
- À¥ ÇØÅ· ŽÁö ¿ìȸ Â÷´Ü ±â´É Ãß°¡
- ¼Ò½ºÄÚµå Â÷¿øÀÇ À¥ ¾îÇø®ÄÉÀÌ¼Ç º¸¾È¼º °È
2. »ç¿ëÀÚ Æí¸®¼º °È
- °ü¸®ÀÚ ÆäÀÌÁö¸¦ ÀÌ¿ëÇØ Æí¸®ÇÑ Á¤Ã¥ ¼³Á¤ Áö¿ø
- ¿î¿µ ÁßÀÎ ÇÁ·Î±×·¥ ¼Ò½ºÀÇ ÃÖ¼Ò ¼öÁ¤¸¸À¸·Î Àû¿ë °¡´É
3. ³ôÀº ȣȯ¼º Áö¿ø
- ´Ù¾çÇÑ À¥ ¼¹ö ȯ°æ°ú À¥ ¾îÇø®ÄÉÀ̼ǿ¡¼ µ¿ÀÛÇÒ ¼ö Àִ ȣȯ¼º Áö¿ø
- °¢ À¥ ¾îÇø®ÄÉÀÌ¼Ç ¼¹ö ¹öÀü¿¡¼ µ¿ÀÛÇÒ ¼ö ÀÖµµ·Ï ȣȯ¼º Áö¿ø
4. ±â´ëÈ¿°ú
- À¥ ¾îÇø®ÄÉÀÌ¼Ç °³¹ß°úÁ¤¿¡¼ÀÇ º¸¾È¼º °È È®º¸
- À¥ º¸¾È ÅÛÇø´ È®»êÀ¸·Î ±¹³» À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ º¸¾È¼º Çâ»ó
- Æí¸®ÇÑ »ç¿ë°úÁ¤À» ÅëÇØ ±âÁ¸ À¥ ¾îÇø®ÄÉÀÌ¼Ç ¼öÁ¤¿ëÀÌ
* Á¦·Îº¸µå ÁÖÀÇ»çÇ×
- DB ¿¬°á¿À·ù½Ã ¼Ò½º»ðÀÔ ÇØÁ¦ÆÄÀÏ
config.php
- °Ô½ÃÆÇ ÀÚ·á ¾÷·Îµå ¿À·ù½Ã ¼Ò½º»ðÀÔ ÇØÁ¦ÆÄÀÏ
bbs/lib.php
bbs/download.php
bbs/include/list_check.php
- ¾Æ¿ô·Î±×ÀÎÀÌ ¾øÀ» °æ¿ì(°Ô½ÃÆÇ »ó´Ü ·Î±×Àθ¸ ÀÖ´Â °æ¿ì) ·Î±×ÀÎ ¿À·ù½Ã ¼Ò½º»ðÀÔ ÇØÁ¦ÆÄÀÏ
bbs/login.php
bbs/login_check.php
bbs/outlogin.php
- ÷ºÎÆÄÀÏ ´Ù¿î·Îµå¿À·ù½Ã ¼Ò½º»ðÀÔ ÇØÁ¦ÆÄÀÏ
bbs/_head.php
- Á¦·Îº¸µå °Ô½ÃÆÇ Ãß°¡ ½Ã À¥ ¾îÇø®ÄÉÀÌ¼Ç º¸¾ÈÅÛÇø´ ´Ü¾î(WORD)ÅÇ ºñÀû¿ë ¼³Á¤
(Á¦·Îº¸µå °Ô½ÃÆÇ Ãß°¡ ½Ã ºÒ·®´Ü¾îµî·Ï ÅÇ ºÎºÐÀ¸·Î ÀÎÇØ À¥ ¾îÇø®ÄÉÀÌ¼Ç º¸¾ÈÅÛÇø´ Á¤Ã¥¿¡ µû¶ó ÇØ´ç ÆäÀÌÁö°¡ Â÷´ÜµÇ¿À´Ï À¥ ¾îÇø®ÄÉÀÌ¼Ç º¸¾ÈÅÛÇø´ °ü¸®ÀÚ ¼³Á¤¿¡¼ ´Ü¾î(WORD) Á¤Ã¥À» ºñÀû¿ëÀ¸·Î ¼³Á¤ ÈÄ °Ô½ÃÆÇÀ» Ãß°¡ÇÕ´Ï´Ù. °Ô½ÃÆÇ Ãß°¡ ÈÄ ´Ü¾î(WORD) Á¤Ã¥ Àû¿ëÇÕ´Ï´Ù.)
5 ÀÚµ¿ ¼Ò½º¼öÁ¤ ½ºÅ©¸³Æ®
À¥ ¾îÇø®ÄÉÀÌ¼Ç º¸¾ÈÅÛÇø´(PHP)¸¦ Àû¿ëÇϱâ À§Çؼ´Â °³º° ¼Ò½º¿¡ KWST ¼³Ä¡°æ·Î¸¦ include ½ÃÄÑÁÖ´Â ±¸¹®À» Æ÷ÇÔ½ÃÄÑ¾ß ÇÕ´Ï´Ù. kwstphp.sh ½ºÅ©¸³Æ®´Â /home ÇÏÀ§µð·ºÅ丮ÀÇ php È®ÀåÀÚ¸¦ °¡Áø ¸ðµç ÆÄÀÏÀ» °Ë»öÇÏ¿© ¼Ò½º¸¦ ÀÚµ¿À¸·Î »ðÀÔÇÏ¿© ÁÖ´Â ½ºÅ©¸³Æ®ÀÔ´Ï´Ù. (³Ø½ºÆ®¶óÀÎ ¼³Ä¡Áö¿ø OS´Â ½ºÅ©¸³Æ®°¡ ³»ÀåµÇ¾î ÀÖ½À´Ï´Ù.)
* KWST ¼Ò½º¼öÁ¤ ÁÖÀÇ»çÇ× - ÀÚµ¿ ¼Ò½º¼öÁ¤ ½ºÅ©¸³Æ® »ç¿ë ½Ã ±âÁ¸ ¼Ò½ºÇü½Ä¿¡ µû¶ó ¿À·ù°¡ ¹ß»ýÇÒ ¼ö ÀÖÀ¸´Ï ¼Ò½º °ËÅä ÈÄ »ç¿ëÇϽñ⠹ٶø´Ï´Ù.
- KWST ¼Ò½º Àû¿ë ÈÄ È¨ÆäÀÌÁö»ó¿¡ ±¸¹®¿¡·¯°¡ ¹ß»ýÇϽøé ÇØ´ç ÆÄÀÏ¿¡¼ KWST ¼Ò½º Àû¿ëÀ» ÇØÁ¦ÇϽðí KWSTÀÇÇØ ÇØ´çÆäÀÌÁö°¡ Â÷´ÜµÇ½Å °æ¿ì¿¡´Â KWST °ü¸®ÀÚ·Î ·Î±×ÀÎÇÏ¿© ¿É¼ÇºÎºÐÀ» Á¡°ËÇÏ¿© Áֽñ⠹ٶø´Ï´Ù.
- KWST ¼Ò½º
define("__KWST_PHP_VERSION_BASE_DIR__", "KWST ÇÁ·Î±×·¥ À§Ä¡ Àý´ë°æ·Î"); include_once(__KWST_PHP_VERSION_BASE_DIR__."/kwst_referee.php"); ?>
6. kwstphp.sh ½ÇÇà¹æ¹ý
½ºÅ©¸³Æ® °æ·Î : /root/bin/kwstphp.sh
½ÇÇà¹æ¹ý
±âº»À¸·Î kwstphp.sh ½ºÅ©¸³Æ®´Â /home ÆÄƼ¼ÇÀÇ ÇÏÀ§ ¸ðµçµð·ºÅ丮¿¡ Àû¿ëÀÌ µÇ¸ç ½ºÅ©¸³Æ® ½ÇÇà½Ã ´ÙÀ½°ú °°ÀÌ Àû¿ëµÈ ÆÄÀÏÀÇ ¸®½ºÆ®°¡ Ãâ·ÂµË´Ï´Ù.(KWST ¼Ò½º°¡ Àû¿ëµÈ ½ºÅ©¸³Æ®´Â ÀÚµ¿ SKIP µË´Ï´Ù.)
[root@nextline ~]# /root/bin/kwstphp.sh
kwstphp.sh ½ºÅ©¸³Æ®¸¦ ½ÇÇà ÈÄ php È®ÀåÀÚ¸¦ °¡Áø ÆÄÀÏ¿¡ KWST ¼Ò½º°¡ Àû¿ëµÈ ȸéÀÔ´Ï´Ù.
- ƯÁ¤ µð·ºÅ丮¸¸ Àû¿ëÇϱâ
ƯÁ¤ µð·ºÅ丮¸¦ ÁöÁ¤ÇÏ¿© KWST ¼Ò½º¸¦ Àû¿ëÇϽðíÀÚ ÇÑ´Ù¸é kwstphp.sh ½ºÅ©¸³Æ®ÀÇ dir="Àý´ë°æ·Î" ºÎºÐÀ» ÀûÀýÇÏ°Ô ¼öÁ¤ÇÏ¿© Áֽñ⠹ٶø´Ï´Ù.
Àû¿ë ¿¹)
/home/nextline ÇÏÀ§µð·ºÅ丮¿¡¸¸ Àû¿ëÇÕ´Ï´Ù.(Àý´ë°æ·Î¸¦ Àû¾îÁÖ¼Å¾ß ÇÕ´Ï´Ù.)
[root@nextline ~]# vi /root/bin/kwstphp.sh
dir="/home/nextline"
ÇÁ·Î±×·¥ ´Ù¿î·Îµå
À¥ ¾îÇø®ÄÉÀÌ¼Ç º¸¾ÈÅÛÇø´ (PHP ¹öÀü)
¼³Ä¡ ¹× ¿î¿µ¹æ¹ý
À¥ ¾îÇø®ÄÉÀÌ¼Ç º¸¾ÈÅÛÇø´ ¸Þ´º¾ó
|