Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ
  À¥ÆäÀÌÁö °ú´Ù È£Ãâ ¹æ½ÄÀÇ DDoS°ø°Ý »ç·Ê ¹× ´ëó ÀÛ¼ºÀÏ : 2008/01/23 18:46
 
  • ±Û¾´ÀÌ : ÁÁÀºÁøÈ£ ( http://coffeenix.net/ )
  • Á¶È¸¼ö : 34284
     
    Á¦  ¸ñ : À¥ÆäÀÌÁö °ú´Ù È£Ãâ ¹æ½ÄÀÇ DDoS°ø°Ý »ç·Ê ¹× ´ëó
    ÀÛ¼ºÀÚ : ÁÁÀºÁøÈ£(truefeel)
    ÀÛ¼ºÀÏ : 2008.1.22(È­)
    ¼öÁ¤ÀÏ : 2009.6.28(ÀÏ) À¥¼­¹ö¿¡¼­ HTTP GET Flooding ¿ÏÈ­ÇϱâÀ§ÇÑ ¼³Á¤ Ãß°¡

    ´Ù¾çÇÑ DDoS °ø°ÝÀÌ ÀÖÁö¸¸, ÀÌ ±Û¿¡¼­´Â À¥ÆäÀÌÁö¸¦ °ú´ÙÇÏ°Ô ¿äûÇÏ´Â ¹æ½ÄÀÇ DDoSÀ» »ìÆ캻´Ù. 'DDoS´Â ¸·À» ¼ö ÀÖ´Ù. ¾ø´Ù'¿¡ ´ëÇؼ­´Â ¾ê±âÇÏÁö ¾Ê´Â´Ù. ¿ÀÁ÷ À¥¼­¹öÀÇ ·Î±×¸¦ ÅëÇؼ­ DDoS °ø°Ý »ç·Ê¸¸À» »ìÆìºÃ´Ù.

    ÀÔ¼öÇÑ ¸î °¡Áö ·Î±× Áß ³¯Â¥¿Í ½Ã°£´ë¿Í IPÀϺδ ??À¸·Î º¯°æ Ç¥½ÃÇÏ¿´´Ù.

    1. »ç·Ê 1

     
    218.93.???.10 - - [??/Oct/2007:??:19:44 +0900] "GET /index.asp?id=1 HTTP/1.1" 403 219 "www.google.com" "Mozilla/4.0 (compatible; MSIE 6.0; Windows 5.1)"
    59.53.???.126 - - [??/Oct/2007:??:19:44 +0900] "GET /index.asp?id=1 HTTP/1.1" 403 219 "www.google.com" "Mozilla/4.0 (compatible; MSIE 6.0; Windows 5.1)"
    125.118.???.133 - - [??/Oct/2007:??:19:44 +0900] "GET /index.asp?id=1 HTTP/1.1" 403 219 "www.google.com" "Mozilla/4.0 (compatible; MSIE 6.0; Windows 5.1)"
     


    1) URI : /index.asp?id=1
       ÀÇ¹Ì ¾ø¾î º¸ÀÌ´Â URI°°Áö¸¸, ÀÌ URI°¡ ¾ÆÀÌÅÛº£ÀÌ(Windows±â¹Ý+asp)¿¡¼­ »ç¿ëÇÏ´Â URI·Î º¸ÀδÙ. ÀüÇô ¹«°üÇÑ »çÀÌÆ®¿¡µµ ¾ÆÀÌÅÛº£ÀÌÀÇ URI·Î °ø°ÝÀÌ µé¾î¿Â °ÍÀÌ´Ù.
    2) referer : www.google.com
       ·¹ÆÛ·¯´Â Ŭ¶óÀ̾ðÆ®(°ø°ÝÀÚ)°¡ ÀÓÀÇ·Î ÁöÁ¤ÀÌ °¡´ÉÇÏÁö¸¸, ÀÌ°Ç ³Ê¹«³ªµµ Çã¼úÇÏ°Ô Çسù´Ù. ¾²À¹ »ìÆ캸¸é, ±¸±ÛÅëÇؼ­ µé¾î¿Ô±¸³ª Âø°¢ÇÒ ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. ±×·¯³ª Á¤»óÀûÀÎ ·¹ÆÛ·¯¶ó¸é http:// ·Î ½ÃÀÛÇÒ °ÍÀ̸ç, http:// ÀÖ´õ¶óµµ ±¸±Û °Ë»ö°á°ú ÆäÀÌÁö¿¡¼­´Â µé¾î¿Ã ¼ö ÀÖ°ÚÁö¸¸ ±¸±Û ¸ÞÀο¡¼­ µé¾î¿Ã ¼ö´Â ¾ø´Ù.
    3) À§ÀÇ ·Î±×¿¡´Â ³²Áö ¾Ê¾ÒÁö¸¸, °ø°Ý´ë»óÀ» µµ¸ÞÀÎÀ¸·Î ¿äûÇÏ´Â °æ¿ìµµ ÀÖÀ» °ÍÀÌ°í, IP·Î ¿äûÇÒ ¼öµµ ÀÖÀ» °ÍÀÌ´Ù.
       IP·Î ¿äû(Áï, http://1.2.3.4/index.asp?id=1 ó·³)Çß´Ù¸é, ¼­ºñ½º IP º¯°æÀ¸·Î Á¤»óÈ­°¡ µÉ ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. ±×·¯³ª µµ¸ÞÀÎÀ¸·Î °ø°ÝÇÑ °æ¿ì¸é, IP º¯°æ½Ã ¹Ù·Î lookupÀÌ µÇ¾î ¶Ç ´Ù½Ã °ø°ÝÀÌ µé¾î¿Ã °ÍÀÌ´Ù.

    2. »ç·Ê 2

     
    83.11.???.5 - - [??/Oct/2007:??:40:51 +0900] "GET /selling_information.html?tb=sell_pa&id=?????????? HTTP/1.1" 403 234 "www.google.com"
     


    1) URI : /selling_information.html?tb=sell_pa&id=??????????
       ÀÌ URIÀº ¾ÆÀÌÅ۸ŴϾƿ¡¼­ »ç¿ëÇÏ´Â URIÀÌ´Ù. ÀÌ ¶ÇÇÑ ¾ÆÀÌÅÛ »çÀÌÆ®°¡ °ø°ÝÀ» ½ÉÇÏ°Ô ´çÇÒ ½Ã±â¿¡ ÀüÇô ¹«°üÇÑ »çÀÌÆ®¿¡µµ À̵éÀÇ URI·Î °ø°ÝÀÌ µé¾î¿Â °ÍÀÌ´Ù.

    3. »ç·Ê 3

    À§ÀÇ 2°³ÀÇ »ç·Ê¿Í´Â ´Ù¸£°Ô ÇØ´ç »çÀÌÆ®¿¡ Á¸ÀçÇÏ´Â URI¸¦ È£ÃâÇÒ ¶§µµ ÀÖ´Ù. ÀÌ ¶§´Â À¥ÆäÀÌÁö°¡ Á¤»óÀûÀ¸·Î ½ÇÇàÀÌ µÉ °ÍÀÌ°í, °ú´ÙÇÏ°Ô ¿äûÀÌ ÀÌ·ïÁö´Ï ¼­¹öÀÇ load´Â °¨´çÇÒ ¼ö ¾øÀ» Á¤µµ·Î ³ô¾ÆÁú ¼ö ÀÖ´Ù.
    ÀÌ ¶§´Â À¥·Î±×¸¦ »ìÆ캸°í À§ÀÇ "www.google.com" ó·³ ÀÌ»óÇÏ°Ô µÈ ·¹ÆÛ·¯´Â ¾ø´ÂÁö, ºê¶ó¿ìÀú¸íÀÌ ÀÌ»óÇÏÁö´Â ¾Ê´ÂÁö »ìÆ캸°í, ±×¿¡ µû¶ó ´ëóÇØ¾ß ÇÒ °ÍÀÌ´Ù.

    URI ¿äû½Ã¿¡ ¾û¶×ÇÑ °æ¿ìµµ ÀÖ´Ù. °ø°Ý ´ë»óÀÌ a.comÀÏ ¶§ URI¿¡ /http://a.com:80/ À̶ó°í Ç¥½ÃµÈ °æ¿ìµµ ÀÖ´Ù°í ÇÑ´Ù. Áï, ºê¶ó¿ìÀú·Î ºÃÀ» ¶§´Â http://a.com/http://a.com:80/ ÀÌ·± ÇüÅ·Π¿äûÇÑ ²ÃÀÌ´Ù. ¾Æ¸¶ ÅøÀ» ÀÌ¿ëÇؼ­ °ø°ÝÇÑ °Í °°Àºµ¥, URIÀÔ·ÂÇ϶ó´Â Ç׸ñ¿¡ URLÀ» Àß ¸ø ÀÔ·ÂÇÑ °ÍÀ¸·Î º¸ÀδÙ.

    4. »ç·Ê 4 (Æ®·¡ÇÈ °ú´Ù ¹ß»ýÀ» À§ÇÑ À¥ÆäÀÌÁö ¿äû)

     
    82.46.???.85 - - [??/???/2007:??:37:40 +0900] "GET ^&&%$%$^%$#^&**(*((&*^%$##$%^&*(*&^%$%^&*.htmGET ^*%%RTG*(&^%FTGYHJIJ%^&*()*&*^&%RDFG(JKJH.aspGET *(&*^TGH*JIHG^&*(&^%*(*)OK)(*&^%$EDRGF%&^.htmlGET ^&&%$%$^%$#^&**(*((&*^%$##$%^&*(*&^%$%^&*.htmGET ^*%%RTG*(&^%FTGYHJIJ%^&*()*&*^&%RDFG(JKJH.aspGET *(&*^TGH*JIHG^&*(&^%*(*)OK)(*&^%$EDRGF%&^.htmlGET ^*%%RTG*(&^%FTGYHJIJ%^&*()*&*^&%RDFG(JKJH.aspGET *(&*^TGH*JIHG^&*(&^%*(*)OK)(*&^%$EDRGF%&^.htmlGET ^&&%$%$^%$#^&**(*((&*^%$##$%^&*(*&^%$%^&*.htmGET ^*%%RTG*(&^%FTGYHJIJ%^&*()*&*^&%RDFG(JKJH.aspGET *(&*^TGH*JIHG^&*(&^%*(*)OK)(*&^%$EDRGF%&^.htmlGET ^*%%RTG*(&^%FTGYHJIJ%^&*()*&*^&%RDFG(JKJH.aspGET *(&*^TGH*JIHG^&*(&^%*(*)OK)(*&^%$EDRGF%&^.htmlGET ^*%%RTG*(&^%FTGYHJIJ%^&*()*&*^&%RDFG(JKJH.aspGET ^&&%$%$^%$#^&**(*((&*^%$##$%^&*(*&^%$%^&*.htmGET ^&&%$%$^%$#^&**(*((&*^%$##$%^&*(*&^%$%^&*.htmGET ^*%%RTG*(&^%FTGYHJIJ%^&*()*&*^&%RDFG(JKJH.aspGET *(&*^TGH*JIHG^&*(&^%*(*)OK)(*&^%$EDRGF%&^.htmlGET  »ý·« ... " 414 271 "-" "-"
     


    KISA¿¡¼­ ¹ßÇ¥ÇÑ '¾ÆÀÌÅÛ °Å·¡»çÀÌÆ® ´ë»ó DDoS °ø°Ý»ç·Ê ºÐ¼®'(http://www.krcert.or.kr/technicalDocList.do ¿¡¼­ 2007³â 12¿ù 31ÀÏ ¹ßÇ¥ ÀÚ·á)¿¡¼­µµ º¼ ¼ö ÀÖ´Ù. ¿­·ÁÀÖ´Â TCP 80Æ÷Æ®¸¦ ÅëÇØ °ú´ÙÇÑ Æ®·¡ÇÈÀ» ¹ß»ýÇÏ´Â ÇüÅÂÀÌ´Ù.

    1) GET ^&&%$%$^%$#^&** ... »ý·« ...
       GET method·Î ¿äûÇÑ °ªÀº ÀÇ¹Ì ¾ø´Â °ªÀ̸ç, ÇϳªÀÇ ¿äû´ç ·Î±×¿¡´Â 8192bytes°¡ ³²¾ÆÀÖ´Ù. ·Î±×¿¡´Â 8192¸¸ ³²´Â Á¦ÇÑÀÌ Àֱ⶧¹®¿¡, ½ÇÁ¦·Î´Â ÇϳªÀÇ ¿äû´ç ´õ Å« bytes·Î ¿äûÇßÀ» °ÍÀÌ´Ù.
       Àǹ̾ø´Â °ªÀ¸·Î GET mothod¸¦ È£ÃâÇÑ °æ¿ì´Â ¾ÆÀÌÅÛ »çÀÌÆ® °ø°ÝÀÌ ¸¹¾Ò´ø ½Ã±â(9~10¿ù) ÀÌÀü¿¡µµ ÀÖ¾ú´Ù.
    2) »óÅ ÄÚµå 414
       'Request-URI Too Long'À» ÀǹÌÇÑ´Ù.

    5. À¥¼­¹ö¿¡¼­ HTTP GET Flooding ¿ÏÈ­Çϱâ À§ÇÑ ¼³Á¤

    ÀÌ ºÎºÐÀº ¾ó¸¶Àü Áú¹®¹Þ¾Æ¼­ ³»¿ëÀ» Ãß°¡ÇÑ´Ù.

    HTTP GET Flooding³ª CC Attack µîÀÇ DDoS °ø°ÝÀº ¾Õ´Ü¿¡ DDoS¹æ¾î Àåºñ(Àåºñ Á¾·ù¿Í °ø°Ý·®¿¡ µû¶ó ´Ù¸£Áö¸¸)³ª L7 ½ºÀ§Ä¡ µîÀÌ ÀÖÀ¸¸é ¸·À» ¼ö ÀÖ´Â °ø°Ý À¯ÇüÀÌ´Ù. ±×·¯³ª ÀÌ·¯ÇÑ Àåºñ°¡ ¾ø´Ù¸é À¥¼­¹ö¿¡¼­ 󸮸¦ ÇؾßÇϴµ¥, ´ÙÀ½ 2°¡Áö ½Ã½ºÅÛ ±¸¼º¿¡ µû¶ó¼­ Àû¿ë È¿°ú°¡ ´Þ¶óÁø´Ù.

    - À¥¼­¹ö Çѵδë·Î ¿î¿µÇÑ´Ù¸é ÇØ°áÀÌ ½±Áö¾Ê´Ù. ±×·¡µµ ¼³Á¤À» ÇØµÎ´Â°Ô ÁÁ´Ù.
    - À¥¼­¹ö°¡ ¸î½Ê´ë µî ´ë¼ö°¡ ¸¹À»¼ö·Ï È¿°ú¸¦ º¼ ¼ö ÀÖ´Ù.

    1) apacheÀÇ ·Î±× ¼³Á¤

     
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %T %{Host}i %{Accept-Language}i" combined2
     


    CustomLog ¼³Á¤¿¡ ·Î±×Æ÷¸ËÀ» combined2 À¸·Î ÁöÁ¤ÇÑ´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á ½ÇÇà½Ã°£(%T), ¿äûȣ½ºÆ®¸í, ¹®Àڼ µî Á» ´õ ÀÚ¼¼ÇÑ ·Î±×¸¦ ³²±æ ¼ö ÀÖ´Ù. CustomLog ¼³Á¤½Ã¿¡ ·Î±×¸¦ ÀÏ´ÜÀ§, ¶Ç´Â ½Ã°£´ÜÀ§·Î ·ÎÅ×À̼ÇÇÏ¿© ÀúÀåÇÏ´Â°Ô ÁÁ´Ù. ÀÌ¿¡ ´ëÇؼ­´Â '6. Âü°íÇÒ¸¸ÇÑ ÀÚ·á'¿¡ Àû¾îµÐ ±ÛÀ» Âü°íÇÑ´Ù.

    À§Ã³·³ ·Î±×¸¦ ³²±â´Âµ¥µµ, °ø°ÝÀ¯ÇüÀÇ ¿äû°ú Á¤»óÀûÀÎ ¿äû°£ÀÇ Â÷À̸¦ ´À³¢Áö ¸øÇÑ´Ù¸é HTTP Request Çì´õ ÆÐŶÀ» »ìÆìºÁ¾ß ÇÑ´Ù. tcpdump, ngrep, ethereal(wireshark) µîÀÇ ÅøÀ» »ç¿ëÇÏ¿© °ø°ÝÀ¯Çü ¿äû°úÀÇ Â÷ÀÌÁ¡À» ã¾Æ³»¾ß ÇÑ´Ù.

    2) ¿øÇÏ´Â °ø°Ý ÆÐÅÏÀÏ °æ¿ì 403 ForbiddenµÇµµ·Ï ¼³Á¤ (»ùÇÃ)

     
    SetEnvIf Referer "^http://www.google.com$"  notaccept
    SetEnvIf Referer "^www.google.com$"  notaccept
    SetEnvIfNoCase User-Agent "Hackeroo" notaccept
    # SetEnvIf Accept-Language "zh-cn" notaccept

    <Location "/">
        Order allow,deny
        Allow from all
        Deny  from env=notaccept
    </Location>
     


    À§ ¿¹Ã³·³ Referer³ª User-Agent¸íÀÌ ÀÌ»óÇÑ °æ¿ì DenyµÇµµ·Ï ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ °ø°ÝÀÚÀÇ ¹®ÀÚ¼ÂÀÌ ´Ù¸¥ Á¤»óÀûÀÎ °Í°ú ´Ù¸£°Ô zh-cn·Î Ç¥½ÃµÈ´Ù¸é Ãß°¡ÇÒ ¼ö ÀÖ´Ù. ÀÌ·¸°Ô °ø°ÝÀ¯ÇüÀÇ Â÷ÀÌÁ¡À» ÆľÇÇÏ¿© SetEnvIf·Î º¯¼ö ¼³Á¤ÇØÁÖ¸é µÈ´Ù.

    3) iptables¿Í ½ºÅ©¸³Æ®

    ¾Õ¿¡¼­ ¼³¸íÇÑ apache ¼³Á¤¸¸À¸·Î ¸·±â´Â ¹«¸®´Ù. ¾ÕÀÇ ¼³Á¤°ú Á¢¸ñÇÏ¿© iptables·Î IPÂ÷´Ü±îÁö ÇÔ²²ÇØ¾ß Á¶±ÝÀÌ¶óµµ È¿°ú¸¦ º¼ ¼ö ÀÖ´Ù.

    À¥ÆäÀÌÁö ¿äûÀÌ IP¿¡¼­ µ¿½Ã 30°³ ÀÌ»óÀ̸é(¼öÄ¡´Â ÀÚ½ÅÀÇ È¯°æ¿¡ ¸Â°Ô Æ©´×ÇÒ °Í) Â÷´ÜÇÏ´Â iptables ¼³Á¤ ¿¹ÀÌ´Ù. iptables connlimit ¸ðµâÀÌ ÀÖ¾î¾ß ÇÑ´Ù.
     
    iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -j DROP
     

    ¸¸¾à C-class IP´ë¿ª(255°³ IP Àüü)¿¡¼­ µ¿½Ã 30°³ ÀÌ»ó ¿äûÀÌ ¿À´Â °ÍÀ» ¸·°í ½Í´Ù¸é --connlimit-mask 24 ¿É¼ÇÀ» Ãß°¡ÇÑ´Ù.

    À§Ã³·³ limit±â´ÉÀ» ÀÌ¿ëÇÏÁö ¾Ê°í, À¥·Î±×¸¦ º¸°í ƯÁ¤ IP¸¦ Â÷´ÜÇÒ ¼ö ÀÖ´Ù. °³ÀÎÀûÀ¸·Î´Â connlimitº¸´Ù´Â ÀÌ ¹æ¹ýÀ» ´õ ¼±È£ÇÑ´Ù. ·Î±×¸¦ º¸°í ÆÇ´ÜÇϹǷΠconnlimitÀÇ ÀÓ°èÄ¡ Æ©´×ÇÊ¿ä¾øÀÌ Á¤È®È÷ ÇØ´ç IP¸¸ Â÷´ÜÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù.
    ÁÖ±âÀûÀ¸·Î À¥·Î±×¸¦ ÆľÇÇÏ´Â ½ºÅ©¸³Æ®¸¦ ¸¸µç´Ù. ±×¸®°í, ÀÌ ½ºÅ©¸³Æ®´Â ºñÁ¤»óÀûÀÎ ¿äû(·Î±×¸¦ ÀÚ¼¼È÷ ³²°Ü¾ß ÇÔ) IP´Â ÀÚµ¿À¸·Î iptables·Î ¸·µµ·Ï Ãß°¡ÇÑ´Ù.

    4) ±âŸ

    ModSecurity´Â HTTP ÆÐÅÏ ¸ÅĪ ¹æ¹ý ¶Ç´Â ƯÁ¤ IP¿¡¼­ °ú´ÙÇÏ°Ô ¿äûµÇ´Â °Í µîÀ» ¸·À» ¼ö ÀÖ´Â ¾ÆÆÄÄ¡ ¸ðµâÀÌ´Ù. ÀÌ¿¡ ´ëÇؼ­´Â 'ModSecurity¸¦ ÀÌ¿ëÇÑ HTTP DDoS/flood °ø°Ý ¿ÏÈ­'(±Û EcusE, http://free4u.wo.tc/weblog/12023)±ÛÀÌ µµ¿òÀÌ µÉ °Í °°´Ù.

    6. Âü°íÇÒ¸¸ÇÑ ÀÚ·á

    1) DDoS Á¤º¸ °ü·Ã

    * Á¤ºÎÀÇ DDoS ´ëÀÀü°è ±¸Ãà ÀÇÁö´Â Àִ°ǰ¡ (2008.1.21)
      http://coffeenix.net/bbs/viewtopic.php?p=4309#4309
    * ¾ÆÀÌÅÛº£ÀÌ¿Í ¾ÆÀÌÅÛ¸Å´Ï¾Æ µîÀÇ DDoS°ø°Ý °ü·Ã (2007.10.11)
      http://coffeenix.net/bbs/viewtopic.php?t=2631

    * com & .net µµ¸ÞÀÎ ¼ö¼ö·á Àλó°ú Titan ÇÁ·ÎÁ§Æ® (2007.4.9, ŸÀÌź ÇÁ·ÎÁ§Æ®´Â VerisignÀÇ ÀÎÇÁ¶óÈ®Ãæ ÇÁ·ÎÁ§Æ®ÀÓ)
      http://coffeenix.net/bbs/viewtopic.php?t=2092
    * Àü¼¼°è º¿ °¨¿° ´ë¼ö = Åõ»çºÎÀÏü °ü°´¼ö (2007.3.28)
      http://coffeenix.net/bbs/viewtopic.php?t=2063
    * ¾î¶² root DNS¼­¹ö°¡ °ø°Ý´çÇß³ª? (2007.2.9)
      http://coffeenix.net/bbs/viewtopic.php?t=1900
    * DDoS°ø°Ý ¾ð·Ðº¸µµ¿Í ã¾Æº» »ç·Êµé (2007.2.8)
      http://coffeenix.net/bbs/viewtopic.php?t=1892
    * ÇØÅ·(DDoS °ø°Ý) Á¡Á¡ ³ë°ñÀû (2007.1.13)
      http://coffeenix.net/bbs/viewtopic.php?t=1785

    2) ¼³Á¤ °ü·Ã

    * cronolog Åø·Î °³¼±µÈ ÇüÅ·Πlog rotationÇϱâ (2000³â´ë ÃÊ, ±Û ÁÁÀºÁøÈ£)
      http://coffeenix.net/board_view.php?bd_code=16
    * ¾ÆÆÄÄ¡ ¸ðµâ mod_setenvif
      http://httpd.apache.org/docs/2.2/ko/mod/mod_setenvif.html
    * iptables connlimit match µî
      http://www.netfilter.org/projects/patch-o-matic/pom-external.html#pom-external-connlimit
    * ModSecurity
      http://www.modsecurity.org/


    Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ / URL : http://coffeenix.net/board_view.php?bd_code=1567