2023.06.21 / 10:46
DDOS°ø°Ý ¹æ¾î ¸ðµâ (apache ¼³Á¤)
µðµµ½º
Ãßõ ¼ö 64
ƯÁ¤ URLÀ̳ª IPÀÏ °æ¿ì³ª ƯÁ¤ÇÑ ºê¶ó¿ìÀú¸¦ ÀÌ¿ëÇÏ¿© DoS(Denial of Service, ¼ºñ½º°ÅºÎ)
°ø°ÝÀÌ µé¾î¿Â´Ù¸é httpd.conf ¿¡¼ SetEnvIf, SetEnvIfNoCase µî°ú Allow, Deny ¼³Á¤À¸·Î
°£´ÜÈ÷ ¸·À» ¼ö ÀÖ°ÚÁö¸¸ ÀÏÁ¤ÇÑ À¯ÇüÀÌ ¾ø´Ù¸é ÇØ°áÁ¡À» ã±â°¡ ½±Áö ¾Ê´Ù.
´ÙÇàÈ÷ Apache¿ë mod_dosevasive ¸ðµâ·Î DoS °ø°ÝÀ» ½±°Ô ¸·À» ¼ö ÀÖ´Ù.
¸çÄ¥Àü 1.7¹öÀü ¹ßÇ¥·Î apache 2.x¿¡¼µµ Á¤»óÀûÀ¸·Î ÀÌ ¸ðµâÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ°Ô µÆ´Ù.
1. mod_dosevasive ¼³Ä¡
http://www.nuclearelephant.com/projects/dosevasive/
¿¡¼ mod_dosevasive (ÇöÀç ÃֽŹöÀüÀº 1.7)À» ¹Þ¾Æ¿Â´Ù.
1) ±âÁ¸¿¡ »ç¿ëÇÏ´ø apache 1.3.x¿¡ ¸ðµâ¸¸ Ãß°¡ÇÒ ¶§
mod_dosevasive.tar.gz À» Ǭ´ÙÀ½ apxs·Î ¼³Ä¡
----------------------------------------------
# tar xvfz mod_dosevasive.tar.gz¡¡
# cd dosevasive
# /bin/apxs -iac mod_dosevasive.c
...
[activating module `dosevasive' in /usr/local/apache/conf/httpd.conf]
cp mod_dosevasive.so /usr/local/apache/libexec/mod_dosevasive.so
chmod 755 /usr/local/apache/libexec/mod_dosevasive.so
...
----------------------------------------------
httpd.confÀÇ LoadModule, AddModule´Â apxs°¡ ¾Ë¾Æ¼ Ãß°¡ÇØÁØ´Ù.
2) apache 1.3.xºÎÅÍ »õ·Î ÄÄÆÄÀÏÇÒ ÇÒ ¶§
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
----------------------------------------------
3) apache 2.x¿¡ ¸ðµâ¸¸ ºÙÀÏ ¶§
/bin/apxs -iac mod_dosevasive20.c
2. ¼³Á¤
httpd.conf ¿¡ ¾Æ·¡ ¼³Á¤ÀÌ ÀÖ´ÂÁö È®ÀÎÇÑ´Ù.
apache 1.3.x
----------------------------------------------
...
LoadModule dosevasive_module¡¡libexec/mod_dosevasive.so
...
AddModule mod_dosevasive.c
----------------------------------------------
apache 2.x
----------------------------------------------
LoadModule dosevasive20_module modules/mod_dosevasive20.so
----------------------------------------------
httpd.conf¿¡´Â ´ÙÀ½°ú °°ÀÌ ¼³Á¤À» Ãß°¡ÇÑ´Ù.
( ´Ü, ¾Æ·¡ ¼³Á¤ Áß¿¡ apache 2.xÀÏ ¶§´Â < IfModule mod_dosevasive20.c> ·Î )
----------------------------------------------
APACHE v1.3
-----------
< IfModule mod_dosevasive.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
< /IfModule>
APACHE v2.0
-----------
< IfModule mod_dosevasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
< /IfModule>
----------------------------------------------
DOSHashTableSize¡¡¡¡3097
hash tableÀÇ Å©±â. IP, URIµîÀ» ºÐ¼®Çϱâ À§ÇÑ °ø°£À¸·Î ¾²ÀÌ´Â °Í °°Àºµ¥ Á¤È®È÷´Â
¸ð¸£°Ú´Ù. Á¢¼ÓÀÌ ¸¹Àº ¼¹öÀÌ¸é ¼öÄ¡¸¦ ³ôÀδÙ.
DOSPageCount¡¡¡¡¡¡¡¡3
DOSPageInterval¡¡¡¡ 1
DOSPageInterval¿¡¼ ÁöÁ¤ÇÑ ½Ã°£(ÃÊ´ÜÀ§)µ¿¾È °°Àº ÆäÀÌÁö¸¦ 3¹ø ¿äûÇÑ °æ¿ì
ÇØ´ç Ŭ¶óÀ̾ðÆ® IP¸¦ ºí·°Å·ÇÑ´Ù. ºí·°Å·µÇ´Â µ¿¾È¿¡ »ç¿ëÀÚ¿¡°Ô´Â 403(Forbidden)
Äڵ尡 Àü¼ÛµÈ´Ù.
DOSSiteCount¡¡¡¡¡¡¡¡50
DOSSiteInterval¡¡¡¡ 1
DOSSiteInterval¿¡¼ ÁöÁ¤ÇÑ ½Ã°£µ¿¾È ¾î´À ÆäÀÌÁö³ª À̹ÌÁöµç ¿äû °Ç¼ö°¡ 50¹øÀ» ³Ñ´Â
°æ¿ì ÇØ´ç Ŭ¶óÀ̾ðÆ® IP¸¦ ºí·°Å·ÇÑ´Ù. 403ÄÚµå º¸³»´Â °ÍÀº ¸¶Âù°¡Áö.
HTML ³»¿¡ À̹ÌÁö°¡ 10°³ÀÌ¸é ¿äû °Ç¼ö´Â HTMLÆ÷ÇÔÇÏ¿© 11¹øÀÌ µÇ¹Ç·Î À̹ÌÁö°¡ ¸¹Àº
»çÀÌÆ®´Â ¼ýÀÚ¸¦ Å©°ÔÇÑ´Ù.
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 µîÀ¸·Î °Ô½Ã¹° Á¶È¸¼ö¸¦ ¼ø°£ÀûÀ¸·Î ¿Ã¸°´Ù°Å³ª, ½Ã½ºÅÛ ·Îµå¸¦ Áõ°¡½ÃÅ°´Â
°Í±îÁöµµ ¾î´ÀÁ¤µµ ¸·À» ¼ö ÀÖÀ» °ÍÀÌ´Ù.