Iptables¸¦ ÀÌ¿ëÇÑ SSH brute force °ø°Ý¹æ¾î
ÀÛ¼ºÀÚ : ³Ø½ºÆ®¶óÀÎ °í°´±â¼úÁö¿øºÎ ¹éöÇö ÀÛ¼ºÀÏ : 2009³â 03¿ù 19ÀÏ
SSH brute force °ø°ÝÀº »çÀüÀû °èÁ¤À̸§°ú ´Ü¼øÇÑ Æнº¿öµåÀÇ ¹®Á¦¸¦ ÀÌ¿ëÇÑ ´ëÀÔ°ø°Ý ÀÔ´Ï´Ù. Ssh brute force °ø°ÝÀº ÇϳªÀÇ ¾ÆÀ̵𿡠¿©·¯ °³ÀÇ Æнº¿öµå¸¦ ´ëÀÔ½ÃÄÑ º¸¾Æ¼ ÀÏÄ¡µÇ´Â °æ¿ì¿¡ ½Ã½ºÅÛÀÇ »ç¿ëÀÚ °èÁ¤À» ȹµæÇÏ°Ô µË´Ï´Ù. °èÁ¤ÀÌ ¶Õ·È´Ù¸é, ½Ã½ºÅÛ¿¡ ¹®Á¦¸¦ ÀÏÀ¸Å°´Â ÀÏ »Ó¸¸ ¾Æ´Ï¶ó, ´Ù¸¥ ½Ã½ºÅÛÀ» ÇØÅ·ÇÏ´Â ¶Ç ´Ù¸¥ ¹®Á¦°¡ ¹ß»ýÇÒ ¼ÒÁö°¡ µÇ±âµµ ÇÕ´Ï´Ù. ½ÉÇÑ °æ¿ì ÇÑ ¾ÆÀÌÇÇ¿¡¼ ¸î õ¹øÀÌ ³Ñ´Â ½Ãµµ°¡ ÀÌ·ç¾îÁö±âµµ ÇÕ´Ï´Ù.
°¡Àå ÈǸ¢ÇÑ ¹æ¹ýÀº °¢ °èÁ¤ÀÇ Æнº¿öµå¸¦ ¸Å¿ì º¹ÀâÇÏ°Ô ¿µ¹®, ¼ýÀÚ, Ư¼ö¹®ÀÚ¸¦ °ñ°í·ç ½â¾î¼ 12ÀÚ ÀÌ»óÀ¸·Î ¸¸µé¾î ¾²½Ã¸é ¸Å¿ì ÁÁ½À´Ï´Ù. ´Ù¸¥ ¹æ¹ýÀ¸·Î´Â ¾Æ·¡ÀÇ iptables ·ê¼ÂÀ» ÀÌ¿ëÇصµ ´ëÀÔ°ø°ÝÀº ¸·¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ·ê¼ÂÀº ¾ÆÀ̵ð¿Í Æнº¿öµå¸¦ Áö¼ÓÀûÀ¸·Î ´ëÀÔÇÏÁö ¸øÇϵµ·Ï ÇÏ´Â ·ê¼ÂÀÔ´Ï´Ù. ´ëÀÔ°ø°ÝÀÌ ¾ÆÀ̵ð¿Í Æнº¿öµå¸¦ º¯°æÇØ °¡¸é¼ ´ëÀÔÇÏ´Â °ÍÀ̱⠶§¹®¿¡ ·Î±äÀÌ ½ÇÆÐÇßÀ» °æ¿ì ´Ù½Ã ½Ãµµ¸¦ ÇؾßÇϴµ¥ ±× ½Ã°£ÀÌ ´ÙÀ½ ´ëÀԽõµ¸¦ ÇÒ ¶§±îÁö ½Ã°£À» ´Ã·Á³õ´Â °ÍÀÌ À̹ø ·ê¼ÂÀÇ ÇÙ½ÉÀÔ´Ï´Ù. Å×½ºÆ® °á°ú °ú´ÙÇÑ Á¢¼Ó½Ãµµ°¡ °ÅÀÇ ÀÌ·ç¾îÁöÁö ¾Ê¾Ò½À´Ï´Ù. ·ê¼ÂÀº iptablesÀÇ recent, LOG ¸ðµâÀ» È°¿ëÇÑ ¹æ¹ýÀÔ´Ï´Ù.
1. SSH °ø°Ý¹æ¾î Flow
22¹ø Æ÷Æ®¿¡ Á¢¼Ó½Ãµµ ÇÑ ¸ðµç ÆÐŶÀ» SSH_BLACK Å×À̺íÀÇ ¸®½ºÆ®¿¡ ³Ö½À´Ï´Ù. 1. ÀÌ ¸®½ºÆ®¿¡¼ 60ÃÊ°£ 6¹ø ÀÌ»óÀÇ ½Ãµµ°¡ ÀÌ·ç¾îÁú °æ¿ì¿¡ BLACK ¸®½ºÆ®¿¡ ¿Ã¸³´Ï´Ù. 2. BLACK ¸®½ºÆ®¿¡ ¿À¸£¸é 60ÃÊ°£ Á¢¼ÓÀÌ Â÷´ÜµË´Ï´Ù. 3. 60ÃÊ°¡ Áö³ª¸é SSH_BLACK Å×À̺íÀÌ °»½ÅµÇ¸é¼ Á¢¼Ó½Ãµµ°¡ °¡´ÉÇØÁý´Ï´Ù. µû¶ó¼, ÀÚ½ÅÀÌ 6¹ø ÀÌ»ó ½ÇÆÐÇß´Ù¸é 60ÃÊ µ¿¾È ±â´Ù·È´Ù°¡ ÇؾßÇÕ´Ï´Ù. |
2. SSH °ø°Ý¹æ¾î¸¦ À§ÇÑ ·ê¼Â
ùÁÙÀº iptables ¸¦ ª°Ô IPT º¯¼ö·Î ¸¸µç °ÍÀÔ´Ï´Ù. Iptables ÀÇ À§Ä¡¸¦ ÁöÁ¤ÇØÁÖ¸é µË´Ï´Ù. µÎ¹ø° , ¼¼¹ø° ÁÙÀÇ $IPT –A INPUT –p tcp –dport 22 –m state –state NEW –m recent -–set -–name SSH_BLACK À§ ¸í·ÉÀº 22¹ø SSH Æ÷Æ®·Î ¿À´Â ¸ðµç ¡°»õ·Î¿î ¿¬°á¡± ÆÐŶÀº SSH_BLACK ¶ó´Â À̸§À¸·Î Á¤ÀÇÇÕ´Ï´Ù. ³×¹ø°, ´Ù¼¸Â°, ¿©¼¸¹ø² ÁÙÀÇ $IPT –A INPUT –p tcp –dport 22 –m state –state NEW –m recent -–update -–seconds 60 -–hitcount 6 –rttl –name SSHSCAN –j LOG –log-prefix SSH_SCAN: À§ ÁÙÀº 6¹øÀÇ ¿¬°á½Ãµµ¸¦ ÇÑ °ÍÀ» ·Î±×·Î ±â·ÏÇÑ °ÍÀÌ°í 60ÃÊ µ¿¾È 6¹øÀÇ Á¢¼Ó ½Ãµµ¸¦ ÇÏ´Â ¾ÆÀÌÇǸ¦ ·Î±×·Î ³²±â°Ô µË´Ï´Ù. ¸¶Áö¸· ÁÙÀº $IPT –A INPUT –p tcp –dport 22 –m state –state NEW –m recent –update –seconds 60 –hitcount 6 -–rttl -–name SSH_BLACK –j DROP ÀÌ ¸¶Áö¸·ÁÙÀº 6¹ø ÀÌ»óÀ» ½ÃµµÇÑ Á¢¼ÓÀ» 60ÃÊ µ¿¾È ¸·¾Ò´Ù°¡ 60ÃÊ ÈÄ¿¡ ´Ù½Ã black ¸®½ºÆ®¸¦ °»½ÅÇÏ¿© Á¢¼ÓÀÌ °¡´ÉÇÏ°Ô ÇØÁÝ´Ï´Ù.
·Î±×¿¡ ±â·ÏµÈ ȸéÀÔ´Ï´Ù. À§Ä¡´Â /var/log/messages ¿¡¼ º¼¼ö°¡ ÀÖ½À´Ï´Ù.
½Ç½Ã°£À¸·Î È®ÀÎ °¡´ÉÇÑ È¸éÀ» º¸½Ç¼ö ÀÖ½À´Ï´Ù. À§Ä¡´Â /proc/net/ipt_recent/SSH_BLACK ÆÄÀÏÀÔ´Ï´Ù.
À§ ½ºÅ©¸³Æ®¸¦ Àû¿ëÇÏ½Ç °æ¿ì ÇöÀç ¼¹öÀÇ IPTABLESÀÇ ·ê¼Â¿¡ Àû¿ë½ÃÅ°´Â ¹æ¹ýÀ» ¼Ò°³ÇÕ´Ï´Ù. À§ÀÇ ½ºÅ©¸³Æ®ÀÇ °æ¿ì´Â ´Üµ¶À¸·Î ¾²½Ç °æ¿ì¸¦ À§Çؼ ¸¸µç °Í ÀÔ´Ï´Ù. ¸¸ÀÏ ÇöÀçÀÇ ·ê¼Â¿¡ Ãß°¡ ÇÏ°í ½ÍÀ¸½Ã´Ù¸é ¾Æ·¡¿Í °°ÀÌ ÇØÁÖ¼¼¿ä.
ÀÏ´Ü, -A ´ë½Å –I ·Î ÇöÀç ·ê¼Â¿¡ »ðÀÔÀ» ÇÏ¿´½À´Ï´Ù. ±×¸®°í, ·ê¼ÂÀÇ 1,2,3 ¶óÀο¡ Ãß°¡¸¦ ½ÃÅ°µµ·Ï $IPT –I INPUT 1 , $IPT –I INPUT 2, $IPT –I INPUT 3 ·Î ¼³Á¤ÇÏ¿´½À´Ï´Ù. ÀúºÎºÐÀº ÀÚ½ÅÀÇ »çÁ¤¿¡ ¸Â°Ô °íÄ¡½Ã¸é µÇÁö¸¸ ±×³É Àú·¸°Ô ³Ö¾îµµ ÁöÀåÀº ¾ø½À´Ï´Ù.
°¨»çÇÕ´Ï´Ù.
|