Ä¿ÇǴнº, ½Ã½ºÅÛ ¿£Áö´Ï¾îÀÇ ½°ÅÍ
  Apache 1.3.x¿¡¼­ DoS °ø°Ý ¸·±â ÀÛ¼ºÀÏ : 2003/08/20 15:29
 
  • ±Û¾´ÀÌ : ÁÁÀºÁøÈ£ ( http://coffeenix.net/ )
  • Á¶È¸¼ö : 6269
     
    ÀÛ¼ºÀÚ : ÁÁÀºÁøÈ£(truefeel, http://coffeenix.net/ )
    ÀÛ¼ºÀÏ : 2003.8.20(¼ö)

    ƯÁ¤ URLÀ̳ª IPÀÏ °æ¿ì³ª ƯÁ¤ÇÑ ºê¶ó¿ìÀú¸¦ ÀÌ¿ëÇÏ¿© DoS(Denial of Service, ¼­ºñ½º°ÅºÎ)
    °ø°ÝÀÌ µé¾î¿Â´Ù¸é httpd.conf ¿¡¼­ SetEnvIf, SetEnvIfNoCase µî°ú Allow, Deny ¼³Á¤À¸·Î
    °£´ÜÈ÷ ¸·À» ¼ö ÀÖ°ÚÁö¸¸ ÀÏÁ¤ÇÑ À¯ÇüÀÌ ¾ø´Ù¸é ÇØ°áÁ¡À» ã±â°¡ ½±Áö ¾Ê´Ù.

    ´ÙÇàÈ÷ Apache 1.3.x¿ë mod_dosevasive ¸ðµâ·Î DoS °ø°ÝÀ» ½±°Ô ¸·À» ¼ö ÀÖ´Ù.

    1. mod_dosevasive ¼³Ä¡

    http://www.nuclearelephant.com/projects/dosevasive/
    ¿¡¼­ mod_dosevasive (ÇöÀç ÃֽŹöÀüÀº 1.6.1)À» ¹Þ¾Æ¿Â´Ù.

    mod_dosevasive.tar.gz À» apache_source_Ȩ/src/modules ¿¡ Ǭ ´ÙÀ½
    ±âÁ¸¿¡ apache ÄÄÆÄÀÏÇÏ´Â °Í°ú µ¿ÀÏÇÑ ¹æ¹ýÀ¸·Î ÇϵÇ, --add-module=... ¿É¼Ç¸¸
    Ãß°¡ÇØÁØ´Ù.

    ----------------------------------------------
    ./configure --prefix=/usr/local/apache \
    --enable-module=all --enable-shared=max \
    --add-module=src/modules/dosevasive/mod_dosevasive.c   <-- Ãß°¡ÇÔ
    make
    make install
    ----------------------------------------------

    ±âÁ¸¿¡ ¾²´ø apache°¡ ÀÖ´Ù¸é make installÀº ÇÏÁö ¸»°í,
    »ý¼ºµÈ src/modules/extra/mod_dosevasive.so ¸ðµâÀ» ±âÁ¸ apacheÀÇ libexec/ µð·ºÅ丮¿¡
    º¹»çÇÑ´Ù.

    2. ¼³Á¤

    httpd.conf ¿¡ ¾Æ·¡ ¼³Á¤ÀÌ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù.

    ----------------------------------------------
    ...
    LoadModule dosevasive_module  libexec/mod_dosevasive.so
    ...
    AddModule mod_dosevasive.c
    ----------------------------------------------

    httpd.conf¿¡´Â ´ÙÀ½°ú °°ÀÌ ¼³Á¤À» Ãß°¡ÇÑ´Ù.

    ----------------------------------------------
    < IfModule mod_dosevasive.c>
        DOSHashTableSize    3097
        DOSPageCount        5
        DOSSiteCount        50
        DOSPageInterval     1
        DOSSiteInterval     1
        DOSBlockingPeriod   30
    < /IfModule>
    ----------------------------------------------
    DOSHashTableSize    3097

    hash tableÀÇ Å©±â. IP, URIµîÀ» ºÐ¼®Çϱâ À§ÇÑ °ø°£À¸·Î ¾²ÀÌ´Â °Í °°Àºµ¥ Á¤È®È÷´Â
    ¸ð¸£°Ú´Ù. Á¢¼ÓÀÌ ¸¹Àº ¼­¹öÀÌ¸é ¼öÄ¡¸¦ ³ôÀδÙ.

    DOSPageCount        5
    DOSPageInterval     1

    DOSPageInterval¿¡¼­ ÁöÁ¤ÇÑ ½Ã°£(ÃÊ´ÜÀ§)µ¿¾È °°Àº ÆäÀÌÁö¸¦ 5¹ø ¿äûÇÑ °æ¿ì
    ÇØ´ç Ŭ¶óÀÌ¾ðÆ® IP¸¦ ºí·°Å·ÇÑ´Ù. ºí·°Å·µÇ´Â µ¿¾È¿¡ »ç¿ëÀÚ¿¡°Ô´Â 403(Forbidden)
    Äڵ尡 Àü¼ÛµÈ´Ù.

    DOSSiteCount        50
    DOSSiteInterval     1

    DOSSiteInterval¿¡¼­ ÁöÁ¤ÇÑ ½Ã°£µ¿¾È ¾î´À ÆäÀÌÁöÀÌµç ¿äû °Ç¼ö°¡ 50¹øÀ» ³Ñ´Â °æ¿ì
    ÇØ´ç Ŭ¶óÀÌ¾ðÆ® IP¸¦ ºí·°Å·ÇÑ´Ù. 403ÄÚµå º¸³»´Â °ÍÀº ¸¶Âù°¡Áö

    DOSBlockingPeriod   30

    ºí·°Å·µÈ IP´Â 30Ãʵ¿¾È Á¢¼ÓÀ» ÇÒ ¼ö ¾ø´Ù.

    3. ¸ðµâ »ç¿ëÀ» ÁßÁöÇÏ·Á¸é

    Â÷´Ü ±â´ÉÀ» ÀÌ¿ëÇÏÁö ¾Ê±â À§ÇØ

    DOSPageCount 0
    DOSSiteCount 0

    ¿Í °°ÀÌ ÇÏ¸é ¸ðµâ ³»ºÎÀÇ default°ªÀ» ÀÌ¿ëÇØ¼­ µ¿ÀÛÇϹǷΠLoadModule, AddModule¸¦
    ÁÖ¼® ó¸®ÇÏ´Â ¹æ¹ýÀ» ½á¾ßÇÑ´Ù. ¶Ç´Â Count°ªÀ» »ó´çÈ÷ Å« ¼ö¸¦ ÁöÁ¤ÇÒ ¼öµµ ÀÖ°Ú´Ù.

    4. Â÷´ÜÇÏ´ÂÁö Å×½ºÆ®

    °£´ÜÇÑ Å×½ºÆ® Åø·Î test.plÀ» Á¦°øÇÑ´Ù.
    12¹øÂ° ÁÙ¿¡
        
    printf("%03d  ", $_ );  
        
    ¸¦ Ãß°¡Çϰí

    apache¸¦ ½ÇÇà½ÃŲ ´ÙÀ½ perl test.plÀ» ÇØº¸¸é 200 OK, 403 Forbidden µÈ °ÍÀ» ½±°Ô
    È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

    DOSPageCount, DOSSiteCount ¼öÄ¡¸¦ ³Ê¹« ³·°Ô Çϸé Á¤»óÀûÀÎ Á¢¼Ó¿¡ ´ëÇØ¼­µµ Â÷´ÜµÉ ¼ö
    ÀÖÀ¸¹Ç·Î ÁÖÀÇÇØ¾ß ÇÑ´Ù. ¼öÄ¡¸¦ ³·Ãß°í, °°Àº ÆäÀÌÁö¸¦ reload(Ctrl+R)¸¦ ¿©·¯¹øÇß´õ´Ï
    ¹Ù·Î 403 ÆäÀÌÁö°¡ µîÀå.

    403 ÆäÀÌÁö¸¦ º°µµ·Î ¸¸µå´Â °ÍÀÌ ÁÁÀ» µí ½Í´Ù. httpd.conf¿¡ ErrorDocument 403 ... ¼³Á¤
    À¸·Î htmlÀ» ¸¸µé¾îµÎ¸é ¹æ¹®ÀÚ¿¡°Ô µµ¿òÀÌ µÇÁö ¾ÊÀ»±î...

    ÀÌÁ¨ ab, lynx µîÀ¸·Î °Ô½Ã¹° Á¶È¸¼ö¸¦ ¼ø°£ÀûÀ¸·Î ¿Ã¸°´Ù°Å³ª, ½Ã½ºÅÛ ·Îµå¸¦ Áõ°¡½ÃŰ´Â
    °Í±îÁöµµ ¾î´ÀÁ¤µµ ¸·À» ¼ö ÀÖÀ» °ÍÀÌ´Ù.


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