¸®´ª½º 2.4 ÆÐŶ ÇÊÅ͸µ ÇÏ¿ìÅõ Rusty Russell, mailing list netfilter@lists.samba.org v1.0 Tue Mar 21 23:29:42 EST 2000 ÀÌ ¹®¼­´Â 2.4 ¸®´ª½º Ä¿³Î¿¡¼­ À߸øµÈ ÆÐŶÀ» ÇÊÅ͸µÇϱâ À§ÇÏ¿© ¾î¶»°Ô iptables À» ÀÌ¿ëÇϴ°¡¸¦ ±â¼úÇÑ´Ù. ______________________________________________________________________ ¸ñÂ÷ 1. ¼Ò°³AID CDATA intro(LABEL)LABEL 2. À¥»çÀÌÆ®¿Í ¸®½ºÆ®°¡ ¾îµð¿¡ ÀÖ³ª ? 3. ±×·¸´Ù¸é, ÆÐŶ ÇÊÅͶõ ¹«¾úÀϱî? 3.1 ¿Ö ¿ì¸®´Â ÆÐŶÀ» ÇÊÅÍÇÒ·Á°í Çϳª ? 3.2 ¸®´ª½º¿¡¼­ ÆÐŶ ÇÊÅÍ´Â ¾î¶»°Ô Çϳª ?AID CDATA filter-linux(LABEL)LABEL 3.2.1 iptables 3.2.2 ±ÔÄ¢µéÀ» ¿µ¼Ó½ÃÅ°±âAID CDATA permanent(LABEL)LABEL 4. ´ç½ÅÀº ´©±¸¸ç ¿Ö ³ªÀÇ Ä¿³ÎÀ» °¡Áö°í ³î·Á°í Çϳª ? 5. Rusty's ÀÇ ÆÐŶ ÇÊÅ͸µ¿¡ ´ëÇÑ ÃÑ¾Ë °¡À̵å 6. ÆÐŶÀÌ ÇÊÅ͸¦ ¾î¶»°Ô Áö³ª´Â°¡ ? 7. iptables »ç¿ëÇϱâ 7.1 ÄÄÇ»ÅÍ°¡ ºÎÆõɶ§ ¿©·¯ºÐÀÌ º¸°Ô µÇ´Â °Í 7.2 ÇϳªÀÇ ±ÔÄ¢À¸·Î ÀÛµ¿Çϱâ 7.3 ÇÊÅ͸µ ÁöÁ¤ 7.3.1 Ãâó¿Í ¸ñÀûÁö ÁöÁ¤ 7.3.2 '¿ª'ÀÇ °æ¿ì ÁöÁ¤ 7.3.3 ÇÁ·ÎÅäÄÝ ÁöÁ¤ 7.3.4 ÀÎÅÍÆäÀ̼­ ÁöÁ¤ 7.3.5 ºÐÀý (Fragments) ÁöÁ¤ 7.3.6 iptables ÀÇ È®Àå : »õ·Î¿î ´ë»ó(Matches) 7.3.6.1 TCP È®Àå 7.3.6.1.1 TCP Áö½ÃÀÚ¿¡´ëÇÑ ¼³¸í 7.3.6.2 UDP È®Àå 7.3.6.3 ICMP È®Àå 7.3.6.4 ±×¿ÜÀÇ Àû¿ë È®Àå 7.3.6.5 »óÅ Àû¿ë 7.4 Ÿ°Ù ÁöÁ¤ 7.4.1 »ç¿ëÀÚ ÁöÁ¤ÀÇ Ã¼Àεé 7.4.2 iptables·ÎÀÇ È®Àå : »õ·Î¿î Ÿ°Ù 7.4.3 Ưº°ÇÑ ¹Ì¸® ¸¸µé¾îÁø Ÿ°Ù 7.5 Àüü üÀο¡ ´ëÇÑ ÀÛ¿ë.AID CDATA chain-ops(LABEL)LABEL 7.5.1 »õ¿À·é üÀÎ »ý¼º 7.5.2 üÀÎ Á¦°Å 7.5.3 üÀÎ ºñ¿ì±âAID CDATA flushing(LABEL)LABEL 7.5.4 üÀÎ ±ÔÄ¢ ³ª¿­Çϱâ 7.5.5 Ä«¿îÆ® ¸®¼ÂÆ® ('0'À¸·Î ¸¸µé±â) 7.5.6 Á¤Ã¥ ¼³Á¤AID CDATA policy(LABEL)LABEL 7.5.7 ipchains¿Í ipfwadmÀ» »ç¿ëÇϱâAID CDATA oldstyle(LABEL)LABEL 8. iptables¿Í ipchainsÀÇ Â÷ÀÌÁ¡AID CDATA Appendix=A(LABEL)LABEL ______________________________________________________________________ 1. ¼Ò°³ ¿©·¯ºÐ ȯ¿µÇÕ´Ï´Ù. ÀÌ ¹®¼­´Â ¿©·¯ºÐÀÌ IP address, network address, netmask, routing, DNS °¡ ¹«¾úÀÎÁö ¾Ë°í ÀÖ´Ù°í °¡Á¤ÇÕ´Ï´Ù. ±×·¸Áö ¾Ê´Ù¸é '³×Æ®¿öÅ© °³³ä ÇÏ¿ìÅõ' ¸¦ Àб⸦ ±ÇÀ¯ÇÕ´Ï´Ù. ÀÌ ÇÏ¿ìÅõ´Â »ó³ÉÇÑ ¼Ò°³(ÀÌ°Ô ¿©·¯ºÐÀ» ¿­¹Þ°Ô ÇÏ°í Áö±ÝÀº È帮¸ÛÅÖÇÏ°í ±×·¯³ª ¹«¹æºñÀÎ)¿Í °¡°øµÇÁö¾ÊÀº ¿ÏÀü ³ëÃâ(which would leave all but the hardiest souls confused, paranoid and seeking heavy weaponry)»çÀ̸¦ ³Ñ ³ªµé °ÍÀÌ´Ù. ¿©·¯ºÐÀÇ ³×Æ®¿öÅ©´Â ¾ÈÀüÇÏÁö ¾Ê´Ù. ºü¸£°í, Æí¾ÈÇϸ鼭 ±× »ç¿ëÀÌ ÁÁÀº ÂÊÀ¸·Î¸¸ Çϵµ·ÏÇÏ°í ¾ÇÇÑ ½Ãµµ¸¦ Çã¶ôÇÏÁö ¾Êµµ·Ï ÇÏ·Á´Â °ÍÀº º¹ÀâÇÑ ¿µ È­°ü¿¡¼­ ÀÚÀ¯·Î¿î ´ëÈ­´Â Çã¶ôÇϸ鼭 "ºÒÀ̾ß"ÇÏ°í ¿ÜÄ¡´Â °ÍÀº ºÒÇãÇÏ´Â °Íó·³ °ÅÀÇ ÇØ°áºÒ´ÉÀÇ ¹®Á¦¿Í °°´Ù. ÀÌ°Í¿¡´ëÇÑ ÇØ´äÀº ÀÌ ÇÏ¿ìÅõ¿¡¼­ ±¸ÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù. ¿©·¯ºÐÀÌ ÇÒ ¼öÀÖ´Â °ÍÀº ±× ÀýÃæÁ¡À» °áÁ¤ÇÏ´Â ÀÏÀÌ´Ù. ³ª´Â ÀÌ·¯ÇÑ ¸ñÀû À¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ¸î¸î µµ±¸¿Í °æ°èÇÏ¿©¾ßÇÒ ¾àÁ¡¿¡ ´ëÇÏ¿© ¿©·¯ºÐÀÌ ÁÁÀº ¸ñÀûÀ¸·Î »ç¿ëÇÏ°í ¾ÇÀÇÀÖ´Â ¸ñÀûÀ¸·Î »ç¿ëÇÏÁö ¾Ê±â¸¦ ¹Ù¶ó¸ç, ¾Ë·Á ÁÖ·Á°í ÇÑ´Ù. ¶Ç´Ù¸¥ ¾î·Á¿î ¹®Á¦ÀÌ´Ù. 2. À¥»çÀÌÆ®¿Í ¸®½ºÆ®°¡ ¾îµð¿¡ ÀÖ³ª ? ¼¼°³ÀÇ À¥»çÀÌÆ®°¡ ÀÖ´Ù. o Thanks to Penguin Computing o Thanks to The Samba Team and SGI . o Thanks to Jim Pick . netfilterÀÇ ¸ÞÀϸµ ¸®½ºÆ®¸¦ À§Çؼ­´Â »ï¹ÙÀÇ ¸®½ºÆ® ¼­¹ö ¸¦ º¸¶ó. 3. ±×·¸´Ù¸é, ÆÐŶ ÇÊÅͶõ ¹«¾úÀϱî? ÆÐŶÇÊÅÍ´Â Áö³ª°¡´Â ÆÐŶÀÇ ÇØ´õ¸¦ »ìÆ캸°í ±× Àüü ÆÐŶÀÇ ¿î¸íÀ» °áÁ¤ÇÏ´Â ¼ÒÇÁÆ®¿þ¾îÀÇ ÀϺÎÀÌ´Ù. ÀÌ°ÍÀº ÆÐŶÀ» 'DROP'(Áï, ¸¶Ä¡ ÀüÇô Àü´ÞµÇÁöµµ ¸ø Çß´ø°Í ó·³ ÆÐŶÀ» °ÅºÎ) ÇÏ´ø°¡, 'ACCEPT'(Áï, ÆÐŶÀÌ Áö³ª°¡µµ·Ï ³»¹ö·Á µÒ) ÇÏ´ø°¡ ¶Ç´Â ´Ù¸¥ ´õ¿í º¹ÀâÇÑ ¹«¾ùÀ» ÇÒ °ÍÀΰ¡¸¦ °áÁ¤ÇÒ °ÍÀÌ´Ù. ¸®´ª½º¿¡¼­ ÆÐŶ ÇÊÅ͸µÀº Ä¿³Î ³»ºÎ¿¡ ±¸¼ºµÇ°í(Ä¿³ÎÀÇ ¸ðµâ·Î¼­ ¶Ç´Â ±× ³»ºÎ¿¡ Æ÷ÇÔ µÇ´Â ÇüÅÂÀÌ´Ù), ¿ì¸®°¡ ÆÐŶÀ¸·Î ÇؾßÇÒ ¸î¸î º¹ÀâÇÑ °ÍÀÌ ÀÖ´Ù. ±×·¯³ª, ±× ÆÐŶÀÇ Çì´õ¸¦ °üÂûÇÏ°í ±× ÆÐŶÀÇ ¿î¸íÀ» °áÁ¤ÇÏ´Â ±âº» ¿øÄ¢Àº ¿©ÀüÈ÷ Àû¿ë µÈ´Ù. 3.1. ¿Ö ¿ì¸®´Â ÆÐŶÀ» ÇÊÅÍÇÒ·Á°í Çϳª ? Á¦¾î, º¸¾È, °üÂû°¡´É¼º Á¦¾î: ¿©·¯ºÐÀÌ ³»ºÎ ³×Æ®¿öÅ©¿¡¼­ ´Ù¸¥ ³×Æ®¿öÅ©·Î ¸®´ª½º ¹Ú½º¸¦ ÀÌ¿ëÇÏ¿© Á¢¼ÓÀ» ÇÏ°íÀÚ ÇÒ¶§(¼ÒÀ§, ÀÎÅͳÝ) ¿©·¯ºÐÀº ¾î¶²ÇüÅÂÀÇ Àü¼ÛÀº °¡´ÉÇÏ°Ô ÇÏ°í ´Ù¸¥°ÍÀº ºÒ°¡´ÉÇÏ°Ô ÇÒ ±âȸ¸¦ °¡Áø´Ù. ¿¹¸¦ µé¾î, ÆÐŶ Çì´õ¿¡´Â ¸ñÀûÁöÀÇ ÁÖ¼Ò¸¦ Æ÷ÇÔÇÏ°í ÀÖ°í ÀÌ°ÍÀ¸·Î ÆÐŶÀÌ ¹Ù±ù ³×Æ®¿ö±×ÀÇ ´Ù¸¥°÷ À¸·Î °¡Áö ¾Êµµ·Ï ÇÑ´Ù. ´Ù¸¥ ¿¹·Î, ³ª´Â Dilbert archives¸¦ È£ÃâÇϱâ À§ÇÏ¿© ³Ý½ºÄÉÀÙÀ» ÀÌ¿ëÇÑ´Ù. ±×°÷ÀÇ À¥ÆäÀÌÁö¿¡´Â doubleclick.netÀ¸·Î ºÎÅÍÀÇ ±¤°í°¡ ÀÖ°í ³Ý½ºÄÉÀÙÀº ±× ±¤°í¸¦ ¹Þ±âÀ§ÇÏ¿© ³ªÀÇ ½Ã°£À» ¼ÒºñÇÑ ´Ù. doubleclick.netÀÇ ÁÖ¼Ò·Î °¡°Å³ª ¶Ç´Â ±×°÷¿¡¼­ ¿À´Â ¾î¶°ÇÑ ÆÐŶµµ Çã¶ôÇÏÁö ¾Êµµ·Ï ÆÐŶÇÊÅÍ¿¡°Ô À̾߱â ÇØ ³õÀ½À¸·Î ÀÌ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù. (ÀÌ·¸°Ô ÇÏ´Â ´õ ÁÁÀº ¹æ¹ýµµ ÀÖ´Ù : Junkbuster¸¦ º¸¼¼¿ä) º¸¾È: ¿©·¯ºÐÀÇ ¸ÚÁö°í, Àß Á¤µ·µÈ ³×Æ®¿öÅ©¿Í ÀÎÅͳÝÀÇ È¥µ·»çÀÌ¿¡ ¸®´ª½º ¹Ú½º ¸¸ÀÌ ÀÖ´Ù¸é, ¿©·¯ºÐÀÇ ³×Æ®¿öÅ©·Î µé¾î¿À·Á´Â °ÍÀ» ¾ïÁ¦ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀº ±Ù»çÇÑ ÀÏÀÌ´Ù. ¿¹¸¦µé¾î, ¿©·¯ºÐÀº ¿©·¯ºÐÀÇ ³×Æ®¿öÅ©·ÎºÎÅÍ ³ª°¡´Â ¸ðµç °ÍÀ» Çã¿ëÇÏ°í ½ÍÁö¸¸, ¹Ý¸é¿¡ ¹ÛÀ¸·ÎºÎÅÍ µé¾î¿À´Â, "Á×À½ÀÇ ÇÎ"°°Àº, ¾ÇÀÇ ÀÖ´Â °Í¿¡ ´ëÇÏ¿©´Â °ÍÁ¤ÀÌ µÉ °ÍÀÌ´Ù. ´Ù¸¥ ¿¹·Î, ¾Æ¹«¸® ¿©·¯ºÐ ¸®´ª½º ¹Ú½ºÀÇ ¸ðµç °èÁ¤»ç¿ëÀÚ°¡ ¾ÏÈ£¸¦ °¡Áö°í ÀÖ´Ù°í ÇÏ´õµµ ¹Ù±ùÀ¸·ÎºÎÅÍÀÇ Åڳݽõµ´Â ¹Ù¶óÁö ¾ÊÀ» °ÍÀÌ´Ù. ´ëºÎºÐÀÇ »ç¶÷µéó·³ ÀÎÅͳݿ¡¼­ ±¸°æ²Û ÀÌ µÇ°í ½Í°í Á¦°øÀÚ´Â µÇ°í½ÍÁö ¾ÊÀ» °ÍÀÌ´Ù. °£´ÜÈ÷ ¸»Çؼ­, Á¢¼ÓÁß¿¡ ¸ðµç µé¾î¿À·Á´Â ÆÐŶÀ» ÆÐŶ ÇÊÅ͸¦ ÀÌ¿ëÇÏ°Å °ÅºÎÇÒ·Á°í ÇÒ °ÍÀÌ´Ù. °üÂû°¡´É¼º: °¡²û À߸ø ¼³Á¤µÈ Áö¿ª³×Æ®¿öÅ©´Â ÆÐŶÀ» ¹Ù±ù¼¼»óÀ¸·Î ÅäÇسõ´Â´Ù. ÆÐŶ ÇÊÅÍ¿¡°Ô ¾î¶°ÇÑ ÀÌ»óÇÑ ÀÏÀÌ¶óµµ ÀϾ¸é ¿©·¯ºÐ¿¡°Ô ¾Ë·Á ÁÖµµ·Ï ¸»ÇØ µÎ´Â °ÍÀº ±Ù»çÇÑ ÀÏÀÌ´Ù. ¿©·¯ºÐÀº ÀÌ·± ÀÏ¿¡´ëÇÏ¿© ¹«¾ùÀΰ¡¸¦ ÇÒ ¼öµµ ÀÖ°í ±×³É 'ÀÌ»óÇÑ ÀÏÀ̳×'ÇÏ°í ³Ñ±æ ¼öµµ ÀÖ´Ù. 3.2. ¸®´ª½º¿¡¼­ ÆÐŶ ÇÊÅÍ´Â ¾î¶»°Ô Çϳª ? 1.1 ½Ã¸®Áî ºÎÅÍ ¸®´ª½º Ä¿³ÎÀº ÆÐŶ ÇÊÅ͸µÀ» Æ÷ÇÔÇϱ⠽ÃÀÛÇß´Ù. Á¦ 1¼¼´ë´Â BSDÀÇ ipfw¸¦ ±âº»À¸·Î ÇÏ¿´°í 1994³â ÈĹݱ⿡ Alan Cox¿¡ ÀÇÇؼ­ Æ÷Æ® µÇ¾ú´Ù. ÀÌ°ÍÀº ¸®´ª½º 2.0¿¡¼­ Jos Vos¿Í ´Ù¸¥À̵鿡 ÀÇÇؼ­ °³¼±µÇ¾ú°í Ä¿³ÎÀÇ ÇÊÅ͸µ ±ÔÄ¢À» Á¦¾îÇÏ´Â »ç¿ëÀÚ Åø·Î´Â 'ipfwadm'ÀÌ »ç¿ëµÇ¾ú´Ù. 1998³â Á߹ݿ¡ ¸®´ª½º 2.2¸¦ À§ÇÏ¿© ³ª´Â Michael NeulingÀÇ µµ¿òÀ¸·Î Ä¿³Î¿¡ ´ëÇÏ¿© ¿­½ÉÈ÷ ÀÏÇÏ¿´°í »ç¿ëÀÚ Åø·á´Â 'ipchains'¸¦ ³»³õ¾Ò´Ù. ¸¶Áö¸·À¸·Î, Á¦ 4¼¼´ë ÅøÀÌ 'iptables'ÀÌ°í ¸®´ª½º 2.4¸¦ À§ÇÏ¿© 1999³â Á߹ݿ¡ Ä¿³ÎÀ» Á¦ ÀÛ¼º ÇÏ¿´´Ù. ÀÌ ÇÏ¿ìÅõ ¹®¼­°¡ ÃÐÁ¡À» ¸ÂÃß°í ÀÖ´Â °ÍÀÌ ÀÌ iptables ¿¡ ´ëÇÑ ³»¿ëÀÌ´Ù. netfilter¸¦ °¡Áö°íÀÖ´Â Ä¿³ÎÀÌ ÇÊ¿äÇÏ´Ù. netfilter´Â ´Ù¸¥ °Íµé(iptables ¸ðµâ °°Àº)ÀÌ ºÙÀ»¼ö ÀÖ´Â ¸®´ª½º Ä¿³ÎÀÇ ÀϹÝÀûÀÎ ±âº» ±¸Á¶ÀÌ´Ù. ÀÌ°ÍÀº 2.3.15 ÀÌ»ó ÀÇ ¸®´ª½º Ä¿³Î¿¡ µé¾îÀÖ°í Ä¿³Î ¼³Á¤¿¡¼­ CONFIG_NETFILTER ¿¡ 'Y'·Î ´ë´äÇÏ°í ÄÄ ÆÄÀÏÇÑ °ÍÀ̾î¾ß ÇÑ´Ù. iptables¶ó´Â ÅøÀº Ä¿³Î¿¡°Ô ¾î¶² ÆÐŶÀ» ÇÊÅÍÇÒ °ÍÀÎÁö¸¦ ¾Ë·ÁÁØ´Ù. ¿©·¯ºÐÀÌ ÇÁ ·Î±×·¡¸Ó³ª º¯Å°¡ ¾Æ´Ï¶ó¸é, ÀÌ°ÍÀÌ ÆÐŶ ÇÊÅ͸µÀ» Á¦¾îÇÏ´Â ¼ö´ÜÀÌ´Ù. 3.2.1. iptables iptables ´Â Ä¿³ÎÀÇ ÆÐŶ ÇÊÅ͸µ Å×ÀÌºí¿¡ ÇÊÅ͸µ ±ÔÄ¢À» »ðÀÔÇϰųª »èÁ¦ÇÏ´Â µµ±¸ ÀÌ´Ù. ÀÌ°ÍÀº ¿©·¯ºÐÀÌ ¹«¾úÀ» ¼³Á¤ÇßµçÁö, ÀçºÎÆýÿ¡´Â ¼Ò½ÇµÈ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ´ÙÀ½¹ø ¸®´ª½º°¡ ´Ù½Ã ºÎÆõǾúÀ»¶§ ¼³Á¤ ³»¿ëµéÀÌ À缳ġ µÇ±â¸¦ ¹Ù¶õ´Ù¸é ``±ÔÄ¢µéÀ» ¿µ¼Ó½ÃÅ°±â''¸¦ º¸¾Æ¶ó iptables´Â ipfwadm°ú ipchains¸¦ ´ëÄ¡ÇÑ´Ù. ¼Õ½Ç¾øÀÌ iptables ÀÇ »ç¿ëÀ» ÇÇÇÏ°í ½Í ´Ù¸é ``ipchains¿Í ipfwadm »ç¿ëÇϱâ''¸¦ º¸¾Æ¶ó. 3.2.2. ±ÔÄ¢µéÀ» ¿µ¼Ó½ÃÅ°±â ¿©·¯ºÐÀÇ ÆÄÀ̾î¿ù ¼³Á¤Àº Ä¿³Î¿¡ ÀúÀåµÇ¹Ç·Î ÀçºÎÆýÿ¡ ¼Õ½ÇµÈ´Ù. iptables-save ¿Í iptables-restoreÀ» ±¸ÇöÇÏ´Â °ÍÀº ³ªÀÇ TODO ¸®½ºÆ®¿¡ ÀÖ´Ù. À̰͵éÀÌ ³ª¿À°Ô µÇ¸é Á¤¸» ÁÁÀ» °ÍÀÌ´Ù. ¾à¼ÓÇÑ´Ù. ±×µ¿¾ÈÀº ¿©·¯ºÐÀÇ ±ÔÄ¢À» ¼³Á¤ÇÏ´Â ¸í·ÉµéÀ» ÃʱâÈ­ ½ºÅ©¸³Æ®¿¡ ±â·ÏÇØ¾ß ÇÑ´Ù. ¸í ·ÉµéÁß Çϳª°¡ ½ÇÆÐÇÏ¿´À»¶§¸¦ ´ëºñÇÏ¿© ¹º°¡ À̼ºÀûÀΰÍÀ» Çصξî¾ß ÇÑ´Ù. (º¸Åë 4. ´ç½ÅÀº ´©±¸¸ç ¿Ö ³ªÀÇ Ä¿³ÎÀ» °¡Áö°í ³î·Á°í Çϳª ? ³ª´Â RustyÀÌ´Ù. ¸®´ª½º IP ÆÄÀ̾î¿ù À¯ÁöÇÏ´Â »ç¶÷ÀÌ°í ÀûÀýÇÑ ½Ã±â¿¡ ÀûÀýÇÑ Àå¼Ò¿¡ ÀÖ°ÔµÈ ±×³É ¿öÅ·ÄÚ´õÀÏ »ÓÀÌ´Ù. ³ª´Â ipchains¸¦ ¸Í±Û¾ú´Ù. (½ÇÁ¦ÀûÀÎ ÀÛ¾÷À» ÇÑ »ç¶÷À» º¼·Á¸é "How Do I Packet Filter Under Linux?"¶ó´Â ¹®¼­¸¦ º¸¶ó), ±×¸®°í À̹ø¿¡ ÆÐŶ ÇÊÅ͸µÀ» ±¸ÇÒ ¼ö ÀÖÀ» Á¤µµÀÇ ¸¹Àº °ÍÀ» ¹è¿ü´Ù. WatchGuard ´Â Á¤¸» ÈǸ¢ÇÑ ÆÄÀ̾î¿ù ȸ»çÀ̸ç, Á¤¸» ¸ÚÁø Ç÷°ÀÎ ÆÄÀ̾î¹Ú½º¸¦ ÆǸÅÇÏ¸ç ¾Æ¹«°Íµµ ÇÏÁö ¾Ê¾Æµµ ³ª¿¡°Ô ¿ù±ÞÀ» ÁØ´Ù. ´öºÐ¿¡ ³ª´Â ÀÌ ÀÛÇ°À» ¸¸µå´Âµ¥ ³ªÀÇ ¸ðµç ½Ã°£À» ¼Ò¸ðÇÒ ¼ö ÀÖ¾ú°í, ÀÌÀüÀÇ ÀÛ¾÷µµ ±×·¯ÇÏ´Ù. ³ª´Â 6°³¿ùÀÌ¸é ³¡¸¶Ä¡¸®¶ó ÁüÀÛÇßÁö¸¸ 12°³¿ùÀÌ °É·È´Ù. ±×·¯³ª ³»°¡ ¹Ù¸£°Ô Çß´Ù´Â »ý°¢ÀÌ µç´Ù. ¼ö¸¹Àº ¼öÁ¤°ú Çϵåµð½ºÅ© ¹Ú»ì°ú, ÇѹøÀÇ ·¦Å¾ºÐ½Ç°ú ¸î¹øÀÇ ÆÄÀϽýºÅÛ ¹Ú»ì°ú ÇѹøÀÇ ¸ð´ÏÅÍ ¹Ú»ìÀÇ °á°ú¹°ÀÌ ¿©±âÀÖ´Ù. ³»°¡ ¿©±â¿¡ ÀÖ´Â µ¿¾È, »ç¶÷µéÀÇ À߸øµÈ °³³äÀ» °íÃÄÁÖ°í ½Í´Ù. ³ª´Â Ä¿³Î´ë¿Õ ÀÌ ¾Æ´Ï´Ù. ³ªµµ ³»°¡ Ä¿³Î´ë¿ÕÀÌ ¾Æ´Ñ°ÍÀ» ¾È´Ù. ¿Ö³ÄÇϸé ÀÌ·± Ä¿³Î¿¡ ´ëÇÑ ÀÛ ¾÷Áß ÁøÂ¥ Ä¿³Î´ë¿Õµé(David S. Miller, Alexey Kuznetsov, Andi Kleen, Alan Cox °°Àº) ¸î¸í°ú Á¢ÃËÇØ ºÃ±â ¶§¹®ÀÌ´Ù. ±×·¯³ª ±×µéÀº ½É¿ÀÇÑ ¸¶¼úÀ» ÇÏ´À¶ó ³Ê¹«³ª ¹Ù»¦°í, ³»°¡ ¾ÈÀüÇÑ ¹° °¡ÀåÀÚ¸®¿¡¼­ Çã¿ìÀû °Å¸®µµ·Ï ³»¹ö·Á µÎ¾ú´Ù. 5. Rusty's ÀÇ ÆÐŶ ÇÊÅ͸µ¿¡ ´ëÇÑ ÃÑ¾Ë °¡ÀÌµå ´ëºÎºÐÀÇ »ç¶÷µéÀº ´Ü ÇϳªÀÇ PPP Á¢¼Ó¸¸ »ç¿ëÇÏ°í ¾î¶² ´©±¸µµ ÀÌ°ÍÀ» ÅëÇؼ­ µé¾î¿À´Â °ÍÀ» ¿øÇÏÁö ¾Ê´Â´Ù. ## connection-tracking modulesÀ» »ðÀÔÇÑ´Ù. (not needed if built into kernel). # insmod ip_conntrack # insmod ip_conntrack_ftp ## ³»ºÎ·ÎºÎÅÍ ¿À´Â °ÍÀ» Á¦¿ÜÇÑ ´Ù¸¥ »õ·Î¿î Á¢¼ÓÀ» ¸·±âÀ§ÇÏ¿© »õ·Î¿î üÀÎÀ» ## ¸¸µç´Ù. # iptables -N block # iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT # iptables -A block -m state --state NEW -i ! ppp0 -j ACCEPT # iptables -A block -j DROP ## ÀԷ°ú Æ÷¿öµå üÀÎÀ¸·ÎºÎÅÍ ±× üÀÎÀ¸·Î °¡µµ·Ï ÇÑ´Ù. # iptables -A INPUT -j block # iptables -A FORWARD -j block 6. ÆÐŶÀÌ ÇÊÅ͸¦ ¾î¶»°Ô Áö³ª´Â°¡ ? Ä¿³ÎÀº 'ÇÊÅÍ' Å×ÀÌºí¿¡ ¼¼°³ÀÇ ±ÔÄ¢À» °¡Áö°í ½ÃÀÛÇÑ´Ù. ÀÌ°ÍÀ» ÆÄÀ̾î¿ù üÀÎ ¶Ç´Â ±×³É üÀÎÀ̶ó°í ÇÑ´Ù. ±× ¼¼°³ÀÇ Ã¼ÀÎÀº INPUT, OUTPUT, FORWARD ÀÌ´Ù. ÀÌ°ÍÀº 2.0 À̳ª 2.2 Ä¿³Î°ú´Â ¾ÆÁÖ ´Ù¸£°Ô ¿òÁ÷ÀδÙ. ÀÌ Ã¼ÀÎÀº ¾Æ·¡±×¸²Ã³·³ »ý°å´Ù. _____ / \ -->[ ¶ó¿ìÆà ]--->|Æ÷¿öµù |-------> [ ÆÇ Á¤ ] \_____/ ^ | | v ____ ___ / \ / \ | Ãâ·Â | |ÀÔ·Â | \____/ \___/ ^ | | ----> Local Process ---- À§ ±×¸²¿¡¼­ ¼¼°³ÀÇ ¿øÀº À§¿¡¼­ ¾ð±ÞÇÑ ¼¼°³ÀÇ Ã¼ÀÎÀ» ³ªÅ¸³½´Ù. ÆÐŶÀÌ ÀÌ ±×¸²¿¡¼­ µ¿±×¶ó¹Ì·Î ³ªÅ¸³½°÷¿¡ À̸£¸é ±× üÀÎÀº ±× ÆÐŶÀÇ ¿î¸íÀ» °áÁ¤ÇÏ ±âÀ§ÇÏ¿© ½ÃÇèÇÑ´Ù. üÀÎÀÌ ±× ÆÐŶÀ» DROP Ç϶ó°í Çϸé ÆÐŶÀº ±×°÷¿¡¼­ »è Á¦µÈ´Ù. ±×·¯³ª ±× üÀÎÀÌ ACCEPT ÇÏ°í Çϸé ÀÌ ÀÌ ±×¸²ÀÇ ´ÙÀ½ ºÎºÐÀ¸·Î °è ¼Ó Àü´ÞµÈ´Ù. üÀÎÀº ±ÔÄ¢ÀÇ Á¡°ËÇ¥ÀÌ´Ù. °¢ ±ÔÄ¢Àº 'ÆÐŶÀÇ Çì´õ°¡ ÀÌ·¸°Ô µÇ¾îÀÖÀ¸¸é ÀÌ °÷¿¡¼­ ¹«¾ùÀ» Ç϶ó'´Â ÇüÅ·ΠµÇ¾î ÀÖ´Ù. ±ÔÄ¢ÀÌ ±× ÆÐŶ¿¡ ¸ÂÁö ¾ÊÀ¸¸é ´Ù À½ ±ÔÄ¢À» Âü°íÇÑ´Ù. ¸¶Áö¸·À¸·Î ´õÀÌ»ó °í·ÁÇÒ ±ÔÄ¢ÀÌ ¾øÀ¸¸é Ä¿³ÎÀº ¹«¾ù À» ÇÒ °ÍÀΰ¡¸¦ °áÁ¤Çϱâ À§ÇÏ¿© ±× üÀÎÀÇ Á¤Ã¥À» È®ÀÎÇÑ´Ù. º¸¾ÈÀ» »ý°¢ÇÏ ´Â ½Ã½ºÅÛ¿¡¼­ ÀÌ·¯ÇÑ Á¤Ã¥Àº º¸Åë Ä¿³Î¿¡°Ô ±× ÆÐŶÀ» DROP Çϵµ·Ï ÇÑ´Ù. 1. ÆÐŶÀÌ Ä¿³Î¿¡ µµÅ¹ÇÏ¸é ±× ÆÐŶÀÇ ¸ñÀûÁö¸¦ È®ÀÎÇÑ´Ù. ÀÌ°ÍÀº '¶ó¿ìÆÃ' À̶ó°í ÇÑ´Ù. 2. ÀÌ°ÍÀÇ ¸ñÀûÁö°¡ ÀÌ°÷À̸é, ÆÐŶÀº À§ ±×¸²¿¡¼­ ¾Æ·¡ÂÊ ¹æÇâÀ¸·Î Àü´Þ µÇ¾î ÀԷ üÀο¡ µµ´ÞÇÑ´Ù. ÀÌ°ÍÀÌ ÀÌ Ã¼ÀÎÀ» Åë°úÇϸé ÆÐŶÀ» ±â´Ù¸® °íÀÖ´ø ¾î¶² ÇÁ·Î¼¼¼­µµ ±×°ÍÀ» ¹Þ°Ô µÈ´Ù. 3. ±×·¸Áö ¾ÊÀ¸¸é, Ä¿³ÎÀÌ Æ÷¿öµù ºÒ´ÉÀ¸·Î µÇ¾îÀÖ´ø°¡, ÆÐŶÀ» ¾î¶»°Ô Æ÷ ¿öµùÇØ¾ß Çϴ°¡¸¦ ¾ËÁö ¸øÇϸé, ±× ÆÐŶÀº DROP µÈ´Ù. Æ÷¿öµùÀÌ °¡´ÉÇÏ °Ô µÇ¾îÀÖ°í ´Ù¸¥ °÷ÀÌ ¸ñÀûÁöÀ̸é ÆÐŶÀº ±×¸²ÀÇ ¿À¸¥ÂÊ ¹æÇâÀ¸·Î Àü´Þ µÇ¾î Æ÷¿öµù üÀÎÀ¸·Î °£´Ù. ÀÌ Ã¼ÀÎÀÌ ACCEPT ÇÏ°Ô µÇ¸é ÀÌ°ÍÀº Æ÷¿öµù ÇÒ ³×Æ®¿öÅ©·Î º¸³»Áø´Ù. 4. ¸¶Áö¸·À¸·Î, ÀÌ°÷¿¡¼­ µ¹¾Æ°¡´ø ÇÁ·Î±×·¥Àº ³×Æ®¿öÅ© ÆÐŶÀ» Àü¼ÛÇÒ ¼ö ÀÖ °Ô µÈ´Ù. ÀÌ ÆÐŶÀº Áï½Ã Ãâ·Â üÀο¡ º¸³»Áø´Ù. ÀÌ Ã¼ÀÎÀÌ ACCEPT ÇÏ°Ô µÇ¸é ÀÌ ÆÐŶÀº ±× ¸ñÀûÁö°¡ ¾îµðµçÁö º¸³»Áø´Ù. 7. iptables »ç¿ëÇϱâ iptables´Â »ó´çÈ÷ ÀÚ¼¼ÇÑ ¸Þ´º¾ó ÆäÀÌÁö(man iptables)¸¦ °¡Áö°í ÀÖ´Ù. ipchains ¿¡ Àͼ÷ÇÏ´Ù¸é ``ipchains¿Í iptablesÀÇ ´Ù¸¥Á¡''À» º¸¾Æ¶ó. ÀÌ µÑÀº ¸Å¿ì ºñ½ÁÇÏ´Ù. iptables·Î ÇÒ¼ö ÀÖ´Â ÀÏ¿¡´Â ¸î°¡Áö ´Ù¸¥°ÍÀÌ ÀÖ´Ù. ù¹ø° ÀÛµ¿Àº Àüü üÀÎÀ» Á¶ÀýÇÑ´Ù. óÀ½ ½ÃÀÛÀº ¼¼°³ÀÇ ¹Ì¸® ¸¸µé¾îÁø üÀÎÀ¸·Î ½ÃÀÛÇÏ´Â µ¥ ÀÌ°ÍÀº Á¦°ÅµÉ ¼ö ¾ø´Ù. 1. »õ·Î¿î üÀÎ ¸¸µé±â (-N). 2. ºñ¾îÀִ üÀÎÀ» Á¦°ÅÇϱâ (-X). 3. ¹Ì¸® ¸¸µé¾îÁø üÀÎÀÇ Á¤Ã¥À» ¹Ù²Ù±â (-P) 4. ¾î¶² üÀÎÀÇ ±ÔÄ¢µéÀ» ³ª¿­Çϱâ (-L) 5. üÀÎÀ¸·ÎºÎÅÍ ±ÔÄ¢µéÀ» Áö¿ì±â (-F) 6. üÀγ»ÀÇ ¸ðµç ±ÔÄ¢µéÀÇ ÆÐŶ°ú ¹ÙÀÌÆ®ÀÇ Ä«¿îµå¸¦ 0 À¸·Î ¸¸µé±â (-Z) üÀÎ ³»ºÎÀÇ ±ÔÄ¢À» Á¶ÀÛÇÏ´Â ¸î°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. 1. üÀο¡ »õ·Î¿î ±ÔÄ¢À» Ãß°¡Çϱâ (-A) 2. üÀÎÀÇ ¾î¶² ÁöÁ¡¿¡ ±ÔÄ¢À» »ðÀÔÇϱâ (-I) 3. üÀÎÀÇ ¾î¶² ÁöÁ¡ÀÇ ±ÔÄ¢À» ±³È¯Çϱâ (-R) 4. üÀÎÀÇ ¾î¶² ÁöÁ¡ÀÇ ±ÔÄ¢À» Á¦°ÅÇϱâ (-D) 5. üÀο¡¼­ ÀÏÄ¡Çϴ ù¹ø° ±ÔÄ¢À» Á¦°ÅÇϱâ (-D) 7.1. ÄÄÇ»ÅÍ°¡ ºÎÆõɶ§ ¿©·¯ºÐÀÌ º¸°Ô µÇ´Â °Í iptables´Â ¸ðµâ·Î µÇ¾îÀÖÀ» °ÍÀÌ´Ù. ÀÌ°ÍÀº iptable_filter.o ÀÌ´Ù. ÀÌ°ÍÀº óÀ½À¸·Î iptables¸¦ ½ÇÇàÇÒ¶§ ÀÚµ¿À¸·Î ·ÎµåµÉ °ÍÀÌ´Ù. ÀÌ°Í´À Ä¿³Î¿¡ ¿µ±¸È÷ Æ÷Ç﵃ ¼öµµ ÀÖ´Ù. iptables ¸í·ÉÀÌ ½ÇÇàµÇ±â Àü¿¡´Â ±âº»ÀûÀ¸·Î ¸¸µé¾îÁ®Àִ üÀÎ(ÀÔ·Â, Æ÷¿öµù, Ãâ·Â)¿¡´Â ¾Æ¹«¸¥ ±ÔÄ¢µµ ¾ø´Ù. (ÁÖÀÇ : ¾î¶² ¹èÆ÷ÆÇ¿¡´Â ÃʱâÈ­ ½ºÅ©±éÆ®¿¡ iptables¸¦ ½ÇÇàÇÏ´Â °ÍÀÌ µé¾îÀÖÀ» ¼ö ÀÖ´Ù.) ÀԷ°ú Ãâ·Â üÀÎÀÇ Á¤Ã¥Àº ACCEPTÀÌ°í Æ÷¿öµù üÀÎÀÇ Á¤Ã¥Àº DROPÀÌ´Ù. (iptable_filter ¸ðµâ¿¡ 7.2. ÇϳªÀÇ ±ÔÄ¢À¸·Î ÀÛµ¿Çϱâ ÀÌ°ÍÀº ÆÐŶ ÇÊÅ͸µÀÇ ¾à¹æÀÇ °¨ÃÊÀÌ´Ù. ÀϹÝÀûÀ¸·Î Ãß°¡¿Í Á¦°Å ¸í·ÉÀ» »ç¿ëÇÒ °ÍÀÌ´Ù. ´Ù¸¥°ÍÀº ÀÌ·± °³³äÀÇ ´Ü¼øÇÑ È®ÀåÀÌ´Ù. °¢ ±ÔÄ¢Àº ÆÐŶÀÌ ÀÏÄ¡µÇ¾î¾ßÇÒ »óŸ¦ ¼³Á¤ÇÏ°í, ÀÏÄ¡µÇ¾úÀ»¶§ ¹«¾úÀ» ÇÒ °ÍÀΰ¡ ('target')¸¦ ³ªÅ¸³½´Ù. ¿¹¸¦µé¾î, ¿©·¯ºÐÀº 127.0.0.1·ÎºÎÅÍÀÇ ¸ðµç ICMP ÆÐŶÀ» DROPÇÏ·Á°í ÇÒ °ÍÀÌ´Ù. ±×·¸´Ù¸é, ÀÌ°æ¿ì ÀÏÄ¡µÇ¾î¾ßÇÒ »óÅ´ 'ICMPÀ̸鼭 ±× Ãâó °¡ 127.0.0.1' ÀÌ´Ù. ÀÌ °æ¿ì 'target' Àº DROP ÀÌ´Ù. 127.0.0.1 Àº 'loopback' ÀÎÅÍÆäÀ̼­ ÀÌ°í ½ÇÁ¦ÀûÀÎ ³×Æ®¿öÅ© Á¢¼ÓÀÌ ÀüÇô ¾ø´õ¶óµµ ÀÌ°ÍÀº °¡Áö°í ÀÖÀ» °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ÆÐŶÀº 'ping' ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¿© »ý¼ºÇÒ ¼ö ÀÖ´Ù. (ÀÌ°ÍÀº ´Ü¼øÈ÷ ICMP type 8 (¹ÝÀÀ¿ä±¸)À» º¸³»°í ¸ðµç ÇùÁ¶ÀûÀΠȣ½ºÆ®´Â Ä£ÀýÇÏ°Ô ICMP type 0 (¹ÝÀÀ¿ä±¸¿¡ ´ëÇÑ ÀÀ´ä)À» ´ë´äÇÑ´Ù. ÀÌ°ÍÀº Å×½ºÆ®Çϴµ¥ À¯¿ë ÇÏ´Ù. # ping -c 1 127.0.0.1 PING 127.0.0.1 (127.0.0.1): 56 data bytes 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.2 ms --- 127.0.0.1 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 0.2/0.2/0.2 ms # iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP # ping -c 1 127.0.0.1 PING 127.0.0.1 (127.0.0.1): 56 data bytes --- 127.0.0.1 ping statistics --- 1 packets transmitted, 0 packets received, 100% packet loss # ¿©±â¼­ ù¹ø° ping ÀÌ ¼º°øÇÑ °á°ú¸¦ º¼ ¼ö ÀÖ´Ù. ('-c 1'Àº ÇϳªÀÇ ÆÐŶ¸¸ º¸³»µµ·Ï ping¿¡°Ô ¸»ÇÏ´Â °ÍÀÌ´Ù.) ±×¸®°í, 'ÀÔ·Â' üÀο¡ 127.0.0.1¿¡¼­ ¿À´Â ÆÐŶ('-s 127.0.0.1')À¸·Î ICMP ÇÁ·ÎÅäÄÝÀÎ°Í ('-p icmp')Àº DROP ('-j DROP')Ç϶ó´Â ±ÔÄ¢À» Ãß°¡(-A)ÇÏ¿´´Ù. ±×¸®°í´Â ´Ù½Ã pingÀ¸·Î ±ÔÄ¢À» Å×½ºÆ®ÇÏ¿´´Ù. pingÀÌ ¿ÀÁö¾ÊÀº ÀÀ´äÀ» ±â´Ù ¸®Áö ¸øÇÏ°í ÀÀ´ä¹Þ±â¸¦ Æ÷±âÇϱâ±îÁö ¾à°£ÀÇ ½Ã°£ÀÌ °É¸±°ÍÀÌ´Ù. ±ÔÄ¢À» Á¦°ÅÇϴµ¥´Â µÎ°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. ù°, ÀÔ·ÂüÀο¡´Â ´Ü ÇϳªÀÇ ±ÔÄ¢ ¸¸ÀÌ ÀÖ´Ù´Â °ÍÀ» ¾ÍÀ¸·Î, ¸î¹øÀ» Áö¿ö¶ó´Â ¹æ½ÄÀ¸·Î ÇÒ ¼ö ÀÖ´Ù. # iptables -D INPUT 1 # ÀԷ üÀÎÀ¸·ÎºÎÅÍ 1¹ø ±ÔÄ¢À» Á¦°ÅÇÑ´Ù. µÎ¹ø° ¹æ¹ýÀº -A ¸í·ÉÀ» ÀÌ¿ëÇÑ ÀÌÀüÀÇ ¸í·É¿¡¼­ -A¸¦ -D·Î ´Ù²ãÁÖ¸é µÈ´Ù. ÀÌ°ÍÀº º¹ÀâÇÑ ±ÔÄ¢À» °¡Áö°í ÀÖ°í °¢ ±ÔÄ¢ÀÌ ¸î¹ø° ±ÔÄ¢ÀÎÁö¸¦ ¿Ü¿ì°í ´Ù´Ï±â¸¦ ½È¾î ÇÑ´Ù¸é, ¾ÆÁÖ À¯¿ëÇÑ ¹æ¹ýÀÌ´Ù. # iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP # -D ¸í·ÉÀº -A ¸í·É°ú ¶È °°Àº ¹®¹ýÀÌ´Ù. (-I ³ª -R µµ ¸¶Âù°¡ÁöÀÌ´Ù.) ¸¸¾à, ¿©·¯°³ÀÇ ¶È °°Àº ±ÔÄ¢µéÀÌ °°Àº üÀο¡ ÀÖ´Ù¸é, ù¹ø° °Í¸¸ Á¦°Å µÉ °ÍÀÌ´Ù. 7.3. ÇÊÅ͸µ ÁöÁ¤ ¾Õ¿¡¼­ ÇÁ·ÎÅäÄÝÀ» ÁöÁ¤ÇϱâÀ§ÇÏ¿© '-p'¸¦ ÀÌ¿ëÇÏ¿´°í, Ãâó¸¦ ÁöÁ¤Çϱâ À§ÇÏ¿© '-s'¸¦ ÀÌ¿ëÇÏ¿´´Ù. ±× ¿Ü¿¡µµ ÆÐŶÀÇ Æ¯Â¡À» ÁöÁ¤Çϴµ¥ »ç¿ëµÇ ´Â ´Ù¸¥ ¿É¼ÇµéÀÌ ÀÖ´Ù. ¾Æ·¡´Â À̰͵鿡 ´ëÇÑ ¿Ïº®ÇÑ °³¿äÀÌ´Ù. 7.3.1. Ãâó¿Í ¸ñÀûÁö ÁöÁ¤ Ãâó('-s', '--source', '--src')¿Í ¸ñÀûÁö('-d', '--destination', ¹æ¹ýÀº '127.0.0.1' ó·³ IP ÁÖ¼Ò¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÌ´Ù. ¼¼¹ø°¿Í ³×¹ø° ¹æ¹ýÀº IP ÁÖ¼ÒÀÇ ±×·ìÀ» ÁöÁ¤ÇÏ´Â °ÍÀ¸·Î '199.95.207.0/24' ¶Ç´Â '199.95.207.0/255.255.255.0' °°Àº ÇüÅÂÀÌ´Ù. ÀÌ µÑÀº ¸ðµÎ 199.95.207.0 ºÎÅÍ 199.95.207.255 »çÀÌÀÇ ¸ðµç IP ÁÖ¼Ò¸¦ ÁöÁ¤ÇÑ´Ù. '/' ´ÙÀ½ÀÇ ¼ýÀÚ´Â IP ÁÖ¼ÒÀÇ ¾î¶² ºÎºÐÀÌ ÀǹÌÀִ°¡¸¦ ³ªÅ¸³½´Ù. '/32' ³ª ¸ðµç IP ÁÖ¼Ò¸¦ ÁöÁ¤Çϴµ¥ '/0' °¡ »ç¿ëµÈ´Ù. # iptables -A INPUT -s 0/0 -j DROP # ÀÌ°ÍÀº '-s' ¿É¼ÇÀ» ÀÌ¿ëÇÏÁö ¾ÊÀº°Í°ú °°Àº È¿°ú¸¦ ³ªÅ¸³»¹Ç·Î Àß »ç¿ëµÇÁö ¾Ê´Â´Ù. 7.3.2. ¸¹Àº Áö½ÃÀÚµé('-s'³ª '-d' °°Àº)Àº ÀÏÄ¡ÇÏÁö ¾Ê´Â ÁÖ¼Ò¸¦ ³ªÅ¸³»±â À§ÇÏ¿© 7.3.3. ÇÁ·ÎÅäÄÝ ÁöÁ¤ ÇÁ·ÎÅäÄÝÀº '-p' Áö½ÃÀÚ·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ÇÁ·ÎÅäÄÝÀ» ¼ýÀÚ°¡ µÉ¼ö ÀÖ°í (IPÀÇ ÇÁ·ÎÅäÄÝ ¹øÈ£¸¦ ¾Ë°í ÀÖ´Ù¸é) 'TCP', 'UDP', 'ICMP' °°Àº À̸§ÀÌ µÉ ¼öµµ ÀÖ´Ù. ±×¸®°í 'tcp'´Â 'TCP'¿Í °°Àº ¿ªÇÒÀ» ÇÑ´Ù. ÇÁ·ÎÅäÄÝ À̸§ ÁöÁ¤¿¡µµ '!'À» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. '-p ! TCP' 7.3.4. ÀÎÅÍÆäÀ̼­ ÁöÁ¤ Çϴµ¥ »ç¿ëµÈ´Ù. ÀÎÅÍÆäÀ̼­´Â ÆÐŶÀÌ µé¾î¿À°í ³ª°¡´Â ¹°¸®ÀûÀÎ µµ±¸ÀÌ´Ù. ifconfig ¸í·ÉÀ» »ç¿ëÇÏ¿© ÇöÀç È°¼ºÈ­ µÇ¾îÀÖ´Â ÀÎÅÍÆäÀ̼­¸¦ ¾Ë¾Æº¼¼ö ÀÖ´Ù. ÀԷ üÀÎÀ» Áö³ª´Â ÆÐŶÀº Ãâ·Â ÀÎÅÍÆäÀ̼­¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ¸¹Ç·Î '-o' ¼³Á¤¿¡ ÀÏÄ¡ÇÏ´Â ÆÐŶÀÌ ¾øÀ» °ÍÀÌ°í Ãâ·Â üÀÎÀ» Áö³ª´Â ÆÐŶÀº ÀÔ·Â ÀÎÅÍ ÆäÀ̼­¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ¸¹Ç·Î '-i' ¼³Á¤¿¡ ÀÏÄ¡ÇÏ´Â ÆÐŶÀÌ ¾øÀ» °ÍÀÌ´Ù. Æ÷¿öµù üÀÎÀ» Áö³ª´Â ÆÐŶ¸¸ÀÌ ÀԷ°ú Ãâ·Â ÀÎÅÍÆäÀ̼­¸¦ ¸ðµÎ °¡Áú°ÍÀÌ´Ù. ÇöÀç Á¸ÀçÇÏÁö ¾Ê´Â ÀÎÅÍÆäÀ̼­¸¦ ÁöÁ¤ÇÏ´Â °Íµµ ¾Æ¹«·± ¹®Á¦¾øÀÌ µÉ ¼ö ÀÖ ´Ù. ÀÌ°ÍÀº ÀÎÅÍÆäÀ̼­°¡ È°¼ºÈ­ µÇ±â Àü±îÁö´Â ±ÔÄ¢¿¡ ÀÏÄ¡ÇÏ´Â ÆÐŶÀÌ ÀÖÀ»¼ö ¾øÀ» °ÍÀÌ´Ù. ÀÌ°ÍÀº dial-up PPP¸¦ »ç¿ëÇÏ´Â °æ¿ì ƯÈ÷ À¯¿ëÇÏ´Ù. Ưº°ÇÑ °æ¿ì·Î, ÀÎÅÍÆäÀ̼­ À̸§ÀÌ '+'·Î ³¡³¯¼ö Àִµ¥ ÀÌ°ÍÀº ±× À̸§À¸·Î ½ÃÀÛÇÏ´Â ¸ðµç ÀÎÅÍÆäÀ̼­¸¦ ¸ðµÎ ÁöÁ¤ÇÑ´Ù(±×°ÍÀÌ ÇöÀç Á¸ÀçÇϵç Á¸ÀçÇÏÁö ¾Êµç). ¿¹¸¦µé¾î, ¸ðµç PPP ÀÎÅÍÆäÀ̼­¿Í ÀÏÄ¡ÇÏ´Â ±ÔÄ¢À» ÁöÁ¤ÇÏ·Á¸é -i ppp+¿Í°°ÀÌ ÇÏ¸é µÈ´Ù. ÀÎÅÍÆäÀ̼­ À̸§¾Õ¿¡ '!'µµ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. 7.3.5. ºÐÀý (Fragments) ÁöÁ¤ °¡²û ÆÐŶÀº Çѹø¿¡ ´Ù Àü´ÞµÇ±â¿¡´Â ³Ê¹« Å« °æ¿ì°¡ ÀÖ´Ù. ÀÌ·±°æ¿ì ÆÐŶÀº ¿©·¯ ºÐÀý·Î ³ª´µ¾îÁö°í ´ÙÁßÆÐŶÀÇ ÇüÅ·ΠÀü´ÞµÈ´Ù. ¸ñÀûÁö¿¡¼­ ÀÌ ºÐÀýµé Àº Àç ±¸¼ºµÇ¾î Àüü ÆÐŶÀÌ µÈ´Ù. ºÐÀý¿¡¼­ ¹®Á¦Á¡Àº ³»ºÎ ÆÐŶÀÇ ºÎºÐÀ¸·Î IP Çì´õ ´ÙÀ½ÀÇ À§Ä¡¿¡¼­ ÇÁ·ÎÅäÄÝ Çì´õ¸¦ ã´Âµ¥, ÀÌ°ÍÀº ù¹ø° ºÐÀý¿¡¸¸ Àֱ⠶§¹®¿¡ ãÀ»¼ö°¡ ¾ø´Ù. ¸¸¾à ¿©·¯ºÐÀÌ Á¢¼ÓÃßÀûÀ̳ª NAT¸¦ ÇÑ´Ù¸é ¸ðµç ºÐÀýÀº ÇÊÅ͸µ Äڵ忡 µµ´ÞÇÏ ±â Àü¿¡ ¹¶ÃÄÁö¹Ç·Î ºÐÀý¿¡ ´ëÇÑ °ÆÁ¤Àº ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ±×·¸Áö ¾Ê´Ù¸é, ºÐÀýµéÀÌ ÇÊÅ͸µ ±ÔÄ¢¿¡¼­ ¾î¶»°Ô 󸮵Ǵ°¡¸¦ ÀÌÇØÇÏ´Â °Í Àº Áß¿äÇÏ´Ù. ¿ì¸®°¡ °¡Áö°íÀÖÁö ¾ÊÀº Á¤º¸¸¦ ¿ä±¸ÇÏ´Â ÇÊÅ͸µ ±ÔÄ¢¿¡ ºÎÇÕµÉ ¼ö°¡ ¾ø´Ù. ÀÌ°ÍÀº ù¹ø° ÆÐŶÀº ´Ù¸¥ ÆÐŶ°ú °°ÀÌ Ã³¸®µÇ°í µÎ¹ø° ÀÌÈÄÀÇ ºÐÀýÀº Àü´ÞµÉ ¼ö ¾øÀ½À» ÀǹÌÇÑ´Ù. ±×·¯¹Ç·Î -p TCP --sport www ('www' ¸¦ Ãâ½Å Æ÷Æ®·Î ÁöÁ¤ÇÏ´Â °æ¿ì)¿Í °°Àº ±ÔÄ¢¿¡ ¸Â´Â ºÐÀýÀº ÀÖÀ» ¼ö ¾ø´Ù( ù¹ø° ºÐÀýÀ» Á¦¿ÜÇÏ°í). ±× ¹Ý´ëÀÇ ±ÔÄ¢ÀÎ -p TCP --sport ! wwwµµ ºÐ ÀýµéÀ» ó¸®ÇÒ ¼ö ¾ø´Ù. ±×·¯³ª, µÎ¹ø° ÀÌ»óÀÇ ºÐÀý¿¡ ´ëÇÏ¿© ±ÔÄ¢À» ÁöÁ¤ÇϱâÀ§ÇÏ¿© '-f' ('--fragment')¶ó´Â Áö½ÃÀÚ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. µÎ¹ø° ÀÌ»óÀÇ ºÐÀý¿¡´Â Àû¿ë µÇÁö¾Ê´Â ±ÔÄ¢À» ÁöÁ¤Çϱâ À§ÇÏ¿© '-f' ¾Õ¿¡ '!' ¸¦ ºÙÀÌ´Â °Íµµ °¡´ÉÇÏ´Ù. ÀϹÝÀûÀ¸·Î , ù¹ø° ºÐÀý¿¡ ÇÊÅ͸µÀÌ Àû¿ëµÇ¾î DROP µÇ¸é ¸ñÀûÁö ¿¡¼­ ´Ù¸¥ ºÐÀýµéÀÇ ÀçÇÕ¼ºÀÌ µÇÁö ¾ÊÀ¸¹Ç·Î, µÎ¹ø° ÀÌ»óÀÇ ºÐÀýÀÌ ±×³É Áö³ª°¡µµ·ÏÇÏ´Â °Íµµ ¾ÈÀüÇÑ °ÍÀ¸·Î °£ÁÖ µÈ´Ù. ±×·¯³ª ´Ü¼øÈ÷ ºÐÀýµéÀ» Àü´ÞÇÏ´Â °Í¸¸À¸·Î È£½ºÆ®¸¦ Å©·¡½¬°¡ »ý±â´Â ¹ö±×°¡ ¾Ë·ÁÁ® ÀÖ´Ù. ¿©·¯ºÐÀÌ °áÁ¤ÇÒ ÀÏÀÌ´Ù. ³×Æ®¿öÅ© Çì´õ¿¡ ´ëÇÑ ÁÖÀÇ : À߸ø ±¸¼ºµÈ ÆÐŶµéÀº ÀÌ·¯ÇÑ ½ÃÇèÀ» ÇÒ¶§ DROP µÇ¾ú´Ù. (TCP, UDP, ICMP ÆÐŶÁß ±æÀÌ°¡ ³Ê¹« ª¾Æ ÆÄÀ̾î¿ù Äڵ尡 Æ÷Æ®³ª ICMP ÄÚµå¿Í ÇüŸ¦ ÀÐÀ» ¼ö ¾ø´Â °æ¿ì). ¿Ö³ÄÇϸé TCP ºÐÀýÀº 8¹ø° À§Ä¡ºÎÅÍ ½ÃÀ۵DZ⠶§¹®ÀÌ´Ù. ¿¹·Î, ´ÙÀ½°ú °°Àº ±ÔÄ¢Àº 192.168.1.1 ·Î ÇâÇÏ´Â ºÐÀýÀ» DROP ½ÃŲ´Ù. # iptables -A OUTPUT -f -d 192.168.1.1 -j DROP # 7.3.6. iptables ÀÇ È®Àå : »õ·Î¿î ´ë»ó(Matches) iptables´Â È®Àå °¡´ÉÇÏ´Ù. Áï »õ·Î¿î ÇüŸ¦ Á¦°øÇϱâ À§ÇÏ¿© iptables¿Í Ä¿³Î ¸ðµÎ°¡ È®Àå °¡´ÉÇÏ´Ù´Â ÀǹÌÀÌ´Ù. ÀÌÁß ÀϺδ ǥÁØÀûÀÌ°í ´Ù¸¥ °ÍÀº ÀÌ»öÀûÀÌ´Ù. ´Ù¸¥»ç¶÷¿¡ ÀÇÇؼ­µµ È®Àå Àº ¸¸µé¾îÁú ¼öµµ ÀÖÀ¸¸ç µ¶¸³ÀûÀ¸·Î ¹èÆ÷µÉ ¼ö ÀÖ´Ù. Á¤»óÀûÀ¸·Î Ä¿³Î È®ÀåÀº Ä¿³Î ¸ðµâ ÇϺΠµð·ºÅ丮¿¡ Á¸ÀçÇÑ´Ù. (/lib/modules/2.3.15/net). ÀÌ°ÍÀº ¿ä±¸¿¡ ÀÇÇÏ¿© ÀûÀçµÈ´Ù. ±×·¯¹Ç·Î Á÷ Á¢ ÀÌµé ¸ðµâÀ» ÀûÀçÇÒ ÇÊ¿ä´Â ¾ø´Ù. iptablesÀÇ È®ÀåµéÀº °øÀ¯¶óÀ̹ö·¯¸® ÇüÅ·Πº¸Åë /usr/local/lib/iptables ¿¡ À§Ä¡ÇÑ´Ù. ¹èÆ÷ÆÇÀº ÀÌ°ÍÀ» /lib/iptables³ª /usr/lib/iptables¿¡ ³ÖÀ¸ ·Á ÇÒ °ÍÀÌ´Ù. È®ÀåÀº µÎ°¡Áö ÇüÅÂÀÌ´Ù. : »õ·Î¿î Ÿ°Ù(target), »õ·Î¿î Àû¿ë(match) ¾Æ·¡¿¡ »õ·Î¿î Ÿ°Ù¿¡ ´ëÇÏ¿© À̾߱â ÇÒ °ÍÀÌ´Ù. ¾î¶² ÇÁ·ÎÅäÄÝÀº ÀÚµ¿À¸·Î »õ·Î¿î Å×½ºÆ®¸¦ Á¦°øÇϴµ¥ ÇöÀç·Î´Â TCP, UDP, ICMP ¿¡ ´ëÇؼ­ ¾Æ·¡¿¡ º¸¿© ÁÙ °ÍÀÌ´Ù. ÀÌ°ÍÀ» À§Çؼ­ '-p' ¿É¼Ç µÚ¿¡ ÁöÁ¤Çϴµ¥ ±×·¯¸é È®ÀåÀ» ÀûÁ¦ÇÒ °ÍÀÌ´Ù. ¸í¹éÈ÷ ÇÒ·Á¸é '-m' ¿É¼ÇÀ¸·Î È®ÀåÀ» ÀûÀçÇÏ°í È®Àå ¿É¼ÇÀ» »ç¿ë°¡´ÉÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù. È®Àå¿¡ ´ëÇÑ µµ¿òÀ» ¾òÀ¸·Á¸é, ÀûÁ¦ÇÏ´Â ¿É¼Ç('-p', '-j', '-m')À» '-h'³ª 7.3.6.1. TCP È®Àå TCP È®ÀåÀº '--protocol tcp' °¡ ÁöÁ¤µÇ°í ´Ù¸¥ Àû¿ëÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ÀÚµ¿À¸·Î ÀûÁ¦µÈ´Ù. ÀÌ°ÍÀº ´ÙÀ½°ú °°Àº ¿É¼ÇÀ» Á¦°øÇÑ´Ù. --tcp-flags °ÍÀº °Ë»çÇÏ°íÀÚ ÇÏ´Â Áö½ÃÀÚ ¸®½ºÆ®ÀÇ ¸¶½ºÅ©ÀÌ´Ù. µÎ¹ø° ´Ü¾î´Â Áö½ÃÀÚ¿¡°Ô ¾î¶²°ÍÀÌ ¼³Á¤ µÉ °ÍÀÎÁö¸¦ ¸»ÇØÁØ´Ù. ¿¹¸¦µé¾î, # iptables -A INPUT --protocol tcp --tcp-flags ALL SYN,ACK -j DENY ÀÌ°ÍÀº ¸ðµç°ÍÀÌ °Ë»çµÇ¾î¾ß ÇÔÀ» ¸»ÇÑ´Ù.('ALL'Àº `SYN,ACK,FIN,RST,URG,PSH' ¿Í °°´Ù.) ±×·¯³ª SYN °ú ACK ¸¸ ¼³Á¤µÈ´Ù. 'NONE'´Â Áö½ÃÀÚ°¡ ¾øÀ½ À» ¸»ÇÑ´Ù. --syn ¾à¾îÀÌ´Ù. --source-port ÁöÁ¤ÇÑ´Ù. /etc/services ¿¡ ±â·ÏµÈ °Í°ú °°Àº Æ÷Æ® À̸§ÀÌ »ç¿ëµÉ ¼ö µµ ÀÖ°í ¼ýÀÚ·Î ³ªÅ¸³¾ ¼öµµ ÀÖ´Ù. ¹üÀ§´Â µÎ°³¸£ Æ÷Æ® À̸§À» '-' À¸ ·Î ¿¬°áÇؼ­ »ç¿ëÇϰųª (Ä¿°Å³ª °°Àº°æ¿ì¸¦ À§Çؼ­) ÇϳªÀÇ Æ÷Æ® µÚ¿¡ ¸¦ µ¡ºÙÀÏ ¼ö ÀÖ´Ù. --sport ÀÌ°ÍÀº '--source-port'¿Í µ¿ÀǾîÀÌ´Ù. --destination-port ¿Í --dport ´Â À§ÀÇ ³»¿ë°ú °°À¸³ª ¸ñÀû Áö¸¦ ÁöÁ¤ÇÑ´Ù. --tcp-option ¿Í TCP ¿É¼ÇÀÌ °°Àº °æ¿ìÀÇ ÆÐŶÀ» °Ë»çÇÑ´Ù. TCP ¿É¼ÇÀ» °Ë»çÇÏ·Á ÇÒ ¶§ ¿ÏÀüÇÑ TCP Çì´õ¸¦ °®Áö¾Ê´Â °ÍÀº ÀÚµ¿À¸·Î DROP µÈ´Ù. 7.3.6.1.1. TCP Áö½ÃÀÚ¿¡´ëÇÑ ¼³¸í °¡²û ÇÑÂÊ ¹æÇâ¿¡¼­ÀÇ TCP Á¢¼Ó¸¸ Çã¶ûÇÏ°í ´Ù¸¥ ¹æÇâ¿¡¼­ÀÇ Á¢¼ÓÀ» ºÒÇãÇÏ ´Â °ÍÀÌ À¯¿ëÇÏ´Ù. ¿¹·Î, ¿©·¯ºÐÀº ¿ÜºÎ WWW ¼­¹ö·ÎÀÇ Á¢¼ÓÀº Çã¶ôÇÏ¸ç ±× ¼­¹ö·Î ºÎÅÍÀÇ Á¢¼ÓÀº ºÒÇãÇϱ⸦ ¿øÇÒ °ÍÀÌ´Ù. ´Ü¼øÇÏ°Ô ±× ¼­¹ö·ÎºÎÅÍ ¿À´Â TCP ÆÐŶÀ» ¸·À¸¸é µÈ´Ù°í »ý°¢ÇÒ °ÍÀÌ´Ù. ±×·¯ ³ª, ºÒÇàÈ÷µµ ÀÛµ¿Çϱâ À§Çؼ­ TCP Á¢¼ÓÀº ¾ç¹æÇâÀÇ ÆÐŶÀ» ¿ä±¸ÇÑ´Ù. ÇعýÀº Á¢¼ÓÀ» ¿ä±¸ÇÏ´Â ÆÐŶ¸¸ ¸·´Â °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ÆÐŶÀ» SYN ÆÐŶÀ̶óÇÑ´Ù. (¹°·Ð, ±â¼úÀûÀ¸·Î SYN Áö½ÃÀÚ ¼ÂÀ» °®´Â ÆÐŶÀÌ ÀÖ´Ù. ±×¸®°í FIN °ú ACK Áö½Ã ÀÚ´Â Áö¿öÁø´Ù. ±×·¯³ª °£´ÜÈ÷ ±×°ÍÀ» SYN ÆÐŶÀ̶ó°í ÇÑ´Ù.) ÀÌ·¯ÇÑ ÆÐŶ¸¸ ºÒ°¡´ÉÀ¸·Î ¸¸µëÀ¸·Î¼­ ¿ÜºÎ·Î ºÎÅÍÀÇ Á¢¼Ó ½Ãµµ¸¦ ¸·À» ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ °ÍÀ» À§Çؼ­ '--syn' Áö½ÃÀÚ°¡ »ç¿ëµÈ´Ù. : ÀÌ°ÍÀº ÇÁ·ÎÅäÄÝÀ» TCP ·Î ÁöÁ¤ÇßÀ» ¶§¸¸ È¿°ú°¡ ÀÖ´Ù. ¿¹¸¦ µé¸é, 192.168.1.1 ·ÎºÎÅÍÀÇ TCP Á¢¼ÓÀ» Áö Á¤Çϱâ À§ÇÏ¿© ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù. -p TCP -s 192.168.1.1 --syn Á¢¼ÓÀ» ½ÃÀÛÇÑ °Í ¿ÜÀÇ ¸ðµç ÆÐŶÀ» ÁöÁ¤Çϱâ À§ÇÏ¿© '!' ¿É¼ÇÀÌ ¼±ÇàµÉ ¼ö ÀÖ´Ù. 7.3.6.2. UDP È®Àå ÀÌ È®ÀåÀº '--protocol udp'°¡ ÁöÁ¤µÇ°í Àû¿ëÀÌ ÀúÁ¤µÇÁö ¾ÊÀ¸¸é ÀÚµ¿À¸·Î ÀûÀçµÈ´Ù. ÀÌ°ÍÀº '--source-port', '--sport', '--destination-port', 7.3.6.3. ICMP È®Àå ÀÌ È®ÀåÀº '--protocol icmp'°¡ ÁöÁ¤µÇ°í ±× Àû¿ëÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ÀÚµ¿À¸·Î ÀûÀçµÈ´Ù. ÀÌ°ÍÀº ´Ü ÇϳªÀÇ »õ·Î¿î ¿É¼Ç¸¸ Áö¿øÇÑ´Ù.: --icmp-type À̳ª ¼ýÀÚÇüÅ ('3'), ¶Ç´Â ¼ýÀÚÇüÅÂ¿Í ÄÚµå('/'·Î ºÐ¸® ¿¹. '3/3') ÀÇ Çü Å°¡ »ç¿ëµÈ´Ù. »ç¿ëÇÒ ¼ö ÀÖ´Â ICMP ÇüÅÂÀÇ À̸§ÀÇ ¸®½ºÆ®´Â 7.3.6.4. ±×¿ÜÀÇ Àû¿ë È®Àå Netfilter ÆÐÅ°ÁöÀÇ ´Ù¸¥ È®ÀåÀº ½ÃÇèÀûÀÎ È®ÀåÀÌ´Ù. ÀÌ°ÍÀº (¼³Ä¡ µÇ¾îÀÖ´Ù¸é) mac ÀÌ ¸ðµâÀº '-m mac' ¶Ç´Â '--match mac' À̶ó°í ÇÔÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº µé¾î¿À´Â ÆÐŶÀÇ ÀÌ´õ³Ý ÁÖ¼Ò¸¦ °Ë»çÇÑ´Ù. ±×·¯¹Ç·Î ÀԷ üÀο¡ ¼­¸¸ À¯¿ëÇÏ´Ù. ÀÌ°ÍÀº ÇϳªÀÇ ¿É¼Ç¸¸ Á¦°øÇÑ´Ù. --mac-source ÀÌ´õ³Ý ÁÖ¼Ò°¡ ¿Â´Ù. ¿¹ '--mac-source 00:60:08:91:CC:B7' limit ÀÌ ¸ðµâÀº '-m limit' ¶Ç´Â '--match limit'À̶ó°í ÇÔÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ ´Ù. ÀÌ°ÍÀº ·Î±× ¸Þ¼¼Áö¸¦ ¾ïÁ¦ÇÒ¶§ ó·³ Àû¿ë°Ë»çÀÇ ¼Óµµ¸¦ Á¦ÇÑÇϴµ¥ »ç¿ëÇÑ´Ù. 1ÃÊ¿¡ ÁÖ¾îÁø ¼ýÀÚ¸¸Å­ÀÇ Àû¿ë¸¸ °Ë»çÇÑ´Ù. (±âº»°ªÀº ÇÑ ½Ã°£ ¿¡ 3¹ø, ÃÖ°í 5¹øÀÌ´Ù.) ÀÌ°ÍÀº µÎ°³ÀÇ ¿É¼ÇÀ» Á¦°øÇÑ´Ù. --limit ¼ýÀÚ°¡ µû¶ó¿Â´Ù : ÃÊ´ç Æò±Õ ÃÖ´ë Àû¿ë °Ë»ç ¼ö¸¦ ÁöÁ¤ÇÑ´Ù. ¼ýÀÚµÚ ¿¡ ½Ã°£´ÜÀ§¸¦ Áö¾îÇÒ ¼ö µµ ÀÖ´Ù. ('/second', '/minute', '/hour', --limit-burst ¼ýÀÚ°¡ µû¶ó¿Â´Ù. À§ÀÇ Á¦ÇÑÀÌ Àû¿ëµÇ±âÀüÀÇ ÃÖ´ë Burst(?) ¸¦ Á¦ÇÑ ÇÑ´Ù. ÀÌ Àû¿ëÀº Á¾Á¾ ·Î±×ÀÇ ¼Óµµ¸¦ Á¦ÇÑÇϱâÀ§ÇÏ¿© LOG Ÿ°Ù°ú ÇÔ²² »ç¿ëµÈ ´Ù. ÀÌ°ÍÀ» ÀÌÇØÇϱâÀ§ÇÏ¿© ¾Æ·¡¿¡ ±âº» Á¦ÇѼ³Á¤À» ÇÏ´Â ·Î±× ÆÐŶÁ¦ÇÑ À» º¸ÀÚ. # iptables -A FORWARD -m limit -j LOG ÀÌ ±ÔÄ¢¿¡ µµ´ÞµÉ¶§±îÁö ÆÐŶÀº ·Î±×µÉ °ÍÀÌ´Ù. »ç½Ç BurstÀÇ ±âº»°ªÀº 5 À̹ǷΠó¹Ç¤· 5°³ÀÇ ÆÐŶÀº ·Î±×µÉ°ÍÀÌ´Ù. ±× ÀÌÈÄ ¾ó¸¶³ª ¸¹Àº ÆÐŶÀÌ µµ´ÞÇÏµç °£¿¡ ÇϳªÀÇ ÆÐŶÀÌ ·Î±×µÇ±âÀü¿¡ 20ºÐÀÌ °É¸± °ÍÀÌ´Ù. ±×¸®°í 20ºÐ µ¿¾È ÆÐŶ Àû¿ëÀÌ ¾øÀ¸¸é Burst Çϳª°¡ ´Ù½Ã »ý±æ °ÍÀÌ´Ù. ÆÐŶ¾øÀÌ 100ºÐ ÀÌ Áö³ª¸é Burst´Â ¿ÏÀüÀÌ ¿ø»ó º¹±¸ µÉ°ÍÀÌ´Ù. óÀ½ ½ÃÀÛÇÒ¶§·Î µ¹¾Æ°¡´Â °Í ÀÌ´Ù. À纹±¸ ½Ã°£À» 59½Ã°£ ÀÌ»óÀ¸·Î´Â ¼³Á¤ÇÏÁö ¸øÇÑ´Ù. ±×·¯¹Ç·Î Æò±Õ¼Óµµ¸¦ ÇÏ ·ç¿¡ 1°³·Î ¼³Á¤ÇÏ¿´´Ù¸é Burst ¼Óµµ´Â 3 ÀÌÇÏ°¡ µÇ¾î¾ß ÇÑ´Ù. owner ÀÌ ¸ðµâÀº Áö¿ª¿¡¼­ »ý¼ºµÈ ÆÐŶÀÇ »ý¼ºÀÚÀÇ ¿©·¯ Ư¡À» Àû¿ëÇÏ·Á°í ÇÑ´Ù. ÀÌ°ÍÀº Ãâ·Â üÀο¡¸¸ »ç¿ëµÇ¸ç ¾î¶² ÆÐŶµé(ICMP ping ÀÀ´ä°°Àº)Àº ¼ÒÀ¯ÀÚ °¡ ¾øÀ¸¹Ç·Î Àû¿ëµÇÁö ¾Ê´Â´Ù. --uid-owner userid À¯È¿ÇÑ »ç¿ëÀÚ id (¼ýÀÚ)ÀÇ ÇÁ·Î¼¼¼­°¡ »ý¼ºÇÑ ÆÐŶ¿¡ Àû¿ëÇÑ´Ù. --uid-owner groupid À¯È¿ÇÑ ±×·ì id (¼ýÀÚ)ÀÇ ÇÁ·Î¼¼¼­°¡ »ý¼ºÇÑ ÆÐŶ¿¡ Àû¿ëÇÑ´Ù. --pid-owner processid ÁÖ¾îÁø ÇÁ·Î¼¼¼­ id ÀÇ ÇÁ·Î¼¼¼­°¡ »ý¼ºÇÑ ÆÐŶ¿¡ Àû¿ëÇÑ´Ù. --sid-owner processid ¼¼¼Ç ±×·ì³»ÀÇ ÇÁ·Î¼¼¼­°¡ »ý¼ºÇÑ ÆÐŶ¿¡ Àû¿ëÇÑ´Ù. unclean ÀÌ ½ÃÇèÀûÀÎ ¸ðµâÀº Á¤È®È÷ '-m unclean' ¶Ç´Â '--match unclean'À¸·Î ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ÀÌ°ÍÀº ¹«ÀÛÀ§ÀÇ ¿©·¯ °ÇÀü¼º °Ë»ç¸¦ ÇÑ´Ù. ÀÌ°ÍÀº Á¦´ë·Î °Ë»çµÇÁö ¾Ê¾Ò°í ¾ÈÀü¼º µµ±¸·Îµµ »ç¿ëµÇÁö ¸øÇÑ´Ù.(¾Æ¸¶µµ ÀÌ°Í Àº ¹«Á¦¸¦ ´õ¿í Èûµé°Ô ÇÏ°í ¹ö±× ±× ÀÚüÀÏ °ÍÀÌ´Ù.) ÀÌ°ÍÀº ¿É¼ÇÀÌ ¾ø´Ù. 7.3.6.5. »óÅ Àû¿ë °¡Àå À¯¿ëÇÑ Àû¿ë ±âÁØÀº 'ip_conntrack' ¸ðµâÀÇ Á¢¼Ó ÃßÀû ºÐ¼®À» Çؼ®ÇÏ´Â ºÐ¸®µÇ´Â Àû¿ëÇÒ »óŵéÀÇ ¸®½ºÆ®°¡ ¿Â´Ù.('!' Áö½ÃÀÚ´Â »ç¿ëµÇ¾îÁöÁö ¾Ê´Â ´Ù.) ÀÌ »óŵéÀº ; NEW »õ·Î¿î Á¢¼ÓÀ» ¸¸µå´Â ÆÐŶ ESTABLISHED Á¸ÀçÇÏ´Â Á¢¼Ó¿¡ ¼ÓÇÏ´Â ÆÐŶ (Áï, ÀÀ´ä ÆÐŶÀ» °¡Á³´ø °Í) RELATED ±âÁ¸ÀÇ Á¢¼ÓÀÇ ºÎºÐÀº ¾Æ´ÏÁö¸¸ ¿¬°ü¼ºÀ» °¡Áø ÆÐŶÀ¸·Î . ICMP ¿¡·¯ ³ª (FTP ¸ðµâÀÌ »ðÀÔ µÇ¾îÀÖÀ¸¸é) ftp µ¥ÀÌÅÍ Á¢¼ÓÀ» Çü¼ºÇÏ´Â ÆÐŶ. INVALID ¾î¶² ÀÌÀ¯·Î È®ÀÎÇÒ ¼ö ¾ø´Â ÆÐŶ: ¾Ë·ÁÁø Á¢¼Ó°ú ºÎÇÕÇÏÁö ¾Ê´Â ICMP ¿¡·¯¿Í 'out of memory' µîÀ» Æ÷ÇÔÇÑ´Ù. º¸Åë ÀÌ·± ÆÐŶÀº DROP µÈ´Ù. 7.4. Ÿ°Ù ÁöÁ¤ ÀÌÁ¦ ÆÐŶ¿¡¼­ ¾î¶² °Ë»ç¸¦ ÇÒ ¼ö ÀÖ´ÂÁö¸¦ ¾Ë¾Ò´Ù. ÀÌÁ¦ ¿ì¸®ÀÇ °Ë»ç¿¡ ÀÏÄ¡ ÇÏ´Â ÆÐŶÀ» ¾î¶»°Ô ÇÒ °ÍÀÎÁö¸¦ ¸»ÇÏ´Â °ÍÀ» ¾Ë¾Æ¾ß ÇÑ´Ù. ÀÌ°ÍÀ» ±ÔÄ¢ Ÿ°Ù À̶ó°í ÇÑ´Ù. µÎ°³ÀÇ ÀÌ¹Ì ¸¸µé¾îÁø ´Ü¼øÇÑ Å¸°ÙÀÌ ÀÖ´Ù. : DROP °ú ACCEPT. ÀÌ¹Ì ÀÌ°Í¿¡ ´ëÇؼ­´Â À̾߱⸦ ÇÑ ÀûÀÌ ÀÖ´Ù. Àû¿ëÀÌ µÇ´Â ÆÐŶ°ú ±×°ÍÀÇ Å¸°ÙÀÌ À§ÀÇ µÎ °³Áß Çϳª¶ó¸é ´õÀÌ»óÀÇ Âü°íÇÒ ±ÔÄ¢Àº ¾ø´Ù. : ÆÐŶÀÇ ¿î¸íÀº °áÁ¤ µÇ´Â °Í ÀÌ´Ù. ÀÌ¹Ì ¸¸µé¾îÁø µÎ°³ÀÇ Å¸°Ù¿Ü¿¡ µÎ°¡Áö ÇüÅÂÀÇ Å¸°ÙÀÌ ÀÖ´Ù.: È®Àå°ú »ç¿ëÀÚ ÁöÁ¤ÀÇ Ã¼Àεé ÀÌ´Ù. 7.4.1. »ç¿ëÀÚ ÁöÁ¤ÀÇ Ã¼Àεé ipchains·Î ºÎÅÍ »ó¼ÓµÇ´Â iptablesÀÇ °­·ÂÇÑ ±â´ÉÁßÀÇ Çϳª´Â ´É·ÂµÇ´Â »ç¿ë ÀÚ°¡ ±âÁ¸ÀÇ ¼¼°³ÀÇ Ã¼ÀÎ(ÀÔ·Â, Ãâ·Â, Æ÷¿öµå)¿Ü¿¡ »õ·Î¿î üÀÎÀ» »ý¼ºÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ¸ðÀÓÀÇ °á°ú »ç¿ëÀÚ ÁöÁ¤ÀÇ Ã¼ÀÎÀº ±×°ÍÀ» ±¸ºÐÇϱâ À§ÇÏ¿© ¼Ò¹® ÀÚ·Î ³ªÅ¸³½´Ù. (¾Æ·¡ ``Àüü üÀο¡ ´ëÇÑ ÀÛ¿ë'' ºÎºÐ¿¡¼­ ¾î¶»°Ô »ç¿ëÀÚ ÁöÁ¤ÀÇ »õ·Î¿î üÀÎÀ» ¸¸µå´ÂÁö ±â¼úÇÒ °ÍÀÌ´Ù.) Ÿ°ÙÀÌ »ç¿ëÀÚ ÁöÁ¤ÀÇ Ã¼ÀÎÀÎ ±ÔÄ¢¿¡ ÆÐŶÀÌ ¸ÂÀ¸¸é ÆÐŶÀº »ç¿ëÀÚ ÁöÁ¤ÀÇ Ã¼ÀÎÀ» µû¶ó ¿òÁ÷ÀÌ°Ô µÈ´Ù. ±× üÀÎÀÌ ÆÐŶÀÇ ¿î¸íÀ» °áÁ¤ÇÏÁö ¸øÇÏ¸é ±×¸®°í ±× üÀο¡ µû¸¥ À̼ÛÀÌ ³¡³ª¸é, ÆÐŶÀº ÇöÁ¦ üÀÎÀÇ ´ÙÀ½ ±ÔÄ¢À¸·Î µ¹¾Æ¿Â´Ù. ±×¸²À» º¸ÀÚ. µÎ°³ÀÇ Ã¼ÀÎÀÌ ÀÖ°í ±×°ÍÀÌ ÀԷ°ú Å×½ºÆ®¶ó´Â »ç¿ëÀÚ ÁöÁ¤ÀÇ Ã¼ÀÎÀÌ ¶ó°í °¡Á¤ÇÏÀÚ. `INPUT' `test' ---------------------------- ---------------------------- | Rule1: -p ICMP -j DROP | | Rule1: -s 192.168.1.1 | |--------------------------| |--------------------------| | Rule2: -p TCP -j test | | Rule2: -d 192.168.1.1 | |--------------------------| ---------------------------- | Rule3: -p UDP -j DROP | ---------------------------- 192.168.1.1 ·ÎºÎÅÍ ¿Í¼­ 1.2.3.4 ·Î ÇâÇÏ´Â TCP ÆÐŶÀÌ ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. ÀÌ°ÍÀº ÀԷ üÀÎÀ¸·Î µé¾î¿Â´Ù. Rule1 À» °Ë»çÇÑ´Ù. ¸ÂÁö ¾ÊÀ½. Rule2 ¸ÂÀ½. ±×°ÍÀÇ Å¸°Ù Àº Å×½ºÆ®, °í·Î ´ÙÀ½ °Ë»çÇÒ ±ÔÄ¢Àº Å×½ºÆ®ÀÇ ½ÃÀÛÀÌ´Ù. Å×½ºÆ®ÀÇ Rule1 ÀÌ ¸Â´Ù. ±×·¯³ª ÀÌ°ÍÀÌ Å¸°ÙÀ» ÁöÁ¤ÇÏÁö ¾Ê´Â´Ù. ±×·¯¹Ç·Î ´ÙÀ½ ±ÔÄ¢ÀÌ °Ë»çµÈ´Ù. Rule 2. ¸ÂÁö ¾Ê´Ù. ±× üÀÎÀÇ ³¡¿¡ µµ´ÞÇß´Ù. ´Ù½Ã ÀԷ üÀÎÀ¸·Î µ¹¾Æ°¡¼­ Rule3 À» °Ë»ç ÇÑ´Ù. ±×°Íµµ ¸ÂÁö ¾Ê´Ù. ¿©±â¼­ ÆÐŶÀÇ À̵¿°æ·Î¸¦ ±×¸²À¸·Î ³ªÅ¸³Â´Ù. v __________________________ `INPUT' | / `test' v ------------------------|--/ -----------------------|---- | Rule1 | /| | Rule1 | | |-----------------------|/-| |----------------------|---| | Rule2 / | | Rule2 | | |--------------------------| -----------------------v---- | Rule3 /--+___________________________/ ------------------------|--- v »ç¿ëÀÚ ÁöÁ¤ÀÇ Ã¼Àο¡¼­ ´ë¸¦ »ç¿ëÀÚ ÁöÁ¤ÀÇ Ã¼ÀÎÀ¸·Î °¥¼ö ÀÖ´Ù. (±×·¯³ª ·çÇÁ ¸¦ µ¹¼ö´Â ¾ø´Ù. ·çÇÁ¸¦ ¹ß°ßÇÏ°Ô µÇ¸é ÆÐŶÀº DROP µÈ´Ù.) 7.4.2. iptables·ÎÀÇ È®Àå : »õ·Î¿î Ÿ°Ù Ÿ°ÙÀÇ ´Ù¸¥ ÇüÅ´ ȮÀåÀÌ´Ù. Ÿ°Ù È®ÀåÀº Ä¿³Î ¸ðµâ·Î ±¸¼ºµÈ´Ù. ±×¸®°í iptables ¿¡ ´ëÇÑ ¼±ÅÃÀû È®ÀåÀº »õ·Î¿î ¸í·ÉÇàÀÇ ¿É¼ÇÀ» Á¦°øÇÑ´Ù. ±âº»ÀûÀ¸·Î ³ÝÇÊÅÍ ¹èÆ÷¿¡ Æ÷ÇÔµÈ ¸î¸îÀÇ È®ÀåÀº ´ÙÀ½°ú °°´Ù. LOG ÀÏÄ¡ÇÏ´Â ÆÐŶÀÇ Ä¿³Î ·Î±×¸¦ Á¦°øÇÑ´Ù. ÀÌ°ÍÀº ºÎ°¡ÀÇ ¿É¼ÇÀ» Á¦°øÇÑ´Ù. --log-level ·¹º§ ¼ýÀÚ³ª À̸§ÀÌ µû¶ó¿Â´Ù. À¯È¿ÇÑ À̸§Àº (»óȲ¿¡ µû¶ó ´Ù¸£´Ù) 'debug' Àº °¢°¢ ¼ýÀÚ 7 ¿¡¼­ 0 ¿¡ ´ëÀÀÇÑ´Ù. ÀÌ·± ·¹º§¿¡ ´ëÇÑ ¼³¸íÀº syslog.conf ÀÇ man ÆäÀÌÁö¸¦ º¸¶ó. --log-prefix 14ÀÚ ±îÁöÀÇ ¹®ÀåÀÌ µû¶ó¿Â´Ù. ÀÌ ¸Þ¼¼Áö´Â ·Î±× ¸Þ¼¼ÁöÀÇ ½ÃÀۺκÐÀ¸·Î º¸³»Á®¼­ È®Àο¡ »ç¿ëµÉ ¼ö ÀÖ´Ù. ÀÌ ¸ðµâÀº 'limit' Ÿ°Ù ´ÙÀ½¿¡ »ç¿ëÇÏ¸é °¡Àå È¿°úÀûÀÌ´Ù. ±×·¡¼­ ·Î±×°¡ ³Ñ Áö³ªÁö ¾Êµµ·Ï ÇÒ ¼ö ÀÖ´Ù. REJECT ÀÌ ¸ðµâÀº 'DROP'°ú °°Àº È¿°ú¸¦ ³ªÅ¸³½´Ù. ´Ù¸¸, 'port unreachable' À̶ó´Â ¿¡·¯ ¸Þ¼¼Áö¸¦ ICMP ·Î º¸³½´Ù. ÁÖÀÇÇÒ °ÍÀº ICMP ¿¡·¯ ¸Þ¼¼Áö´Â ´ÙÀ½ÀÇ °æ¿ì º¸³» ÁöÁö ¾Ê´Â´Ù ( RFC 1122 ¸¦ º¸¶ó) : o °Ë»çµÈ ÆÐŶÀÌ ICMP ¿¡·¯¸Þ¼¼ÁöÀ̰ųª³ª ¾Ë¼ö ¾ø´Â ICMP ÇüÅÂÀÎ °æ¿ì o °Ë»çµÈ ÆÐŶÀÌ Çì´õ°¡ ¾ø´Â ºÐÀýÀÎ °æ¿ì o ³Ê¹« ¸¹Àº ICMP ¿¡·¯ ¸Þ¼¼Áö¸¦ ±× ¸ñÀûÁö·Î º¸³½ °æ¿ì. REJECT ´Â '--reject-with'¶ó´Â ¿É¼ÇÀ» °¡Áö´Âµ¥ ÀÌ°ÍÀº »ç¿ëÇÒ ÀÀ´ä ÆÐŶÀ» º¯°æÇÑ´Ù. ÀÚ¼¼ÇÑ °ÍÀº ¸Þ´º¾ó ÆäÀÌÁö¸¦ º¸¶ó. 7.4.3. Ưº°ÇÑ ¹Ì¸® ¸¸µé¾îÁø Ÿ°Ù µÎ°³ÀÇ ¹Ì¸® ¸¸µé¾îÁø Ÿ°ÙÀÌ ÀÖ´Ù : RETURN, QUEUE RETURNÀº ÇÑ Ã¼ÀÎÀÇ ³¡À¸·Î º¸³»Áö´Â °Í°ú °°Àº È¿°ú°¡ ÀÖ´Ù. : ¹Ì¸® ¸¸µé¾îÁø ü ÀÎÀÇ °æ¿ì ±× üÀÎÀÇ Á¤Ã¥Àº ½ÇÇàÀÌ´Ù. »ç¿ëÀÚ Á¤ÀÇ Ã¼ÀÎÀÇ °æ¿ì ÀÌ Ã¼ÀÎÀ¸·Î Á¡ÇÁ ÇÏ´Â ±ÔÄ¢ÀÇ ¹Ù·Î ´ÙÀ½ÀÎ ÀÌÀü üÀÎÀ¸·Î À̵¿ÇÑ´Ù. QUEUEÀº Ưº°ÇÑ Å¸°ÙÀ¸·Î, »ç¿ëÀÚ°ø°£ÀÇ ÀÛ¾÷À» À§ÇØ ÆÐŶÀ» ´ë±âÇϵµ·Ï ÇÑ´Ù. ÆÐŶ À» À§Çؼ­ ´ë±âÇÏ°íÀÖ´Â °ÍÀÌ ¾ø´Ù¸é(Áï, ÀÌ ÆÐŶÀ» ´Ù·ê ÇÁ·Î±×·¥ÀÌ ¾ÆÁ÷ ¾º¾îÁ® ÀÖÁö ¾Ê´Ù¸é) ÆÐŶÀº DROP µÉ °ÍÀÌ´Ù. 7.5. Àüü üÀο¡ ´ëÇÑ ÀÛ¿ë. iptablesÀÇ À¯¿ëÇÑ ±â´ÉÁÖ Çϳª´Â ¿©·¯ °ü°è°¡ ÀÖ´Â ±ÔÄ¢À» ÇϳªÀÇ Ã¼ÀμÓÀ¸·Î ±×·ìÈ­ ÇÏ´Â °ÍÀÌ´Ù. üÀÎÀÇ À̸§Àº ¾î¶² °ÍÀ» »ç¿ëÇÒ ¼öµµ ÀÖÀ¸³ª ¹Ì¸® ¸¸µé¾î Áø üÀΰúÀÇ È¥µ¿À» ¸·±â À§ÇÏ¿© ¼Ò¹®ÀÚ¸¦ »ç¿ëÇϱ⸦ ±ÇÇÑ´Ù. üÀÎÀÇ À̸§Àº 16 ÀÚ ±îÁö °¡´ÉÇÏ´Ù. 7.5.1. »õ¿À·é üÀÎ »ý¼º »õ·Î¿î üÀÎÀ» ¸¸µé¾î º¸ÀÚ. ³ª´Â ¸Å¿ì »ó»ó·ÂÀÌ ÁÁÀº »ç¶÷À̹ǷΠÀÌ°ÍÀ» Å×½ºÆ® ¶ó°í ºÎ¸£±â·Î ÇÏ°Ú´Ù. '-N' ¶Ç´Â '--new-chain' ¿É¼ÇÀ» »ç¿ëÇÑ´Ù. # iptables -N test # ´Ü¼øÇÏ´Ù. ÀÌÁ¦ ÀÌ Ã¼Àο¡ »ó¼¼ÇÑ ±ÔÄ¢À» Àû¿ëÇÒ ¼ö ÀÖ´Ù. 7.5.2. üÀÎ Á¦°Å üÀÎÀ» Á¦°ÅÇÏ´Â °Íµµ ´Ü¼øÇϤ§. '-X' ³ª '--delete-chain' À» »ç¿ëÇÑ´Ù. # iptables -X test # üÀÎÀ» Á¦°Å Çϴµ¥´Â ¸î°¡Áö Á¦ÇÑÀÌ ÀÖ´Ù. ÀÌ°ÍÀº ºñ¾îÀÖ¾î¾ß ÇÑ´Ù. (¾Æ·¡ÀÇ ``üÀÎ ºñ¿ì±â''¸¦ º¸¶ó) ±×¸®°í ±×°ÍÀº ´Ù¸¥ ¾î¶² ±ÔÄ¢ÀÇ Å¸°Ùµµ ¾Æ´Ï¾î¾ß ÇÑ´Ù. ¹Ì¸® ¸¸µé¾îÁø ¼¼°³ÀÇ Ã¼ÀÎÀº Á¦°ÅÇÒ ¼ö ¾ø´Ù. üÀÎÀÇ À̸§À» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¸ðµç »ç¿ëÀÚ Á¤ÀÇÀÇ Ã¼ÀÎÀº Á¦°ÅµÈ´Ù. 7.5.3. üÀÎ ºñ¿ì±â ÇϳªÀÇ Ã¼ÀÎÀÇ ¸ðµç ±ÔÄ¢À» ºñ¿ì´Â °£´ÜÇÑ ¹æ¹ýÀÌ ÀÖÀ¸´Ï, '-F' ('--flush') ¸í·ÉÀÌ´Ù. # iptables -F forward # üÀÎÀ» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¸ðµç üÀÎÀÇ ±ÔÄ¢ÀÌ Áö¿öÁø´Ù. 7.5.4. üÀÎ ±ÔÄ¢ ³ª¿­Çϱâ ÇÑ Ã¼ÀÎÀÇ ¸ðµç ±ÔÄ¢Àº '-L' ¸í·ÉÀ¸·Î ³ª¿­ÇÒ ¼ö ÀÖ´Ù. °¢ »ç¿ëÀÚ Á¤ÀÇÀÇ Ã¼ÀÎÀ» ³ª¿­Çß´ø 'refcnt' ´Â ±× üÀÎÀ» ±×µéÀÇ Å¸°ÙÀ¸·ÎÇÏ ´Â ±ÔÄ¢µéÀÇ ¹øÈ£ÀÌ´Ù. üÀÎÀÌ Á¦°ÅµÇ±â À§Çؼ­´Â ÀÌ°ÍÀÌ '0' À¸·Î µÇ¾î¾ß ÇÑ´Ù. (±×¸®°í ±× üÀÎÀº ºñ¾î¾ß ÇÑ´Ù) üÀÎÀÇ À̸§ÀÌ »ý·«µÇ¸é ºñ¾îÀÖ´Â °ÍÀ» Æ÷ÇÔÇÑ ¸ðµç üÀÎÀÌ ³ª¿­µÈ´Ù. ¿©·¯ºÐÀÌ DNS ¿ä±¸¸¦ ÇÊÅ͸µ ¾Æ¿ôÇÑ °æ¿ì³ª DNS°¡ ÀûÀýÀÌ ¼³Á¤µÇ¾î ÀÖÁö ¾Ê´Ù¸é ¿À·£ ½Ã°£ÀÌ °É¸®´Â, IP ÁÖ¼Ò¸¦ ã´Â °ÍÀ» ¿¹¹æÇÏ´Â ¾ÆÁÖ À¯¿ëÇÑ ¿É¼ÇÀÌ´Ù. ÀÌ°Í Àº TCP¿Í UDP Æ÷Æ®°¡ À̸§ÀÌ ¾Æ´Ñ ¼ýÀÚ·Î Ãâ·ÂµÇµµ·Ï Çϱ⵵ ÇÑ´Ù. °°Àº)¸¦ ³ªÅ¸³½´Ù. ÆÐŶ°ú ¹ÙÀÌÆ® Ä«¿îÆ®´Â 'K'(1000), 'M'(1,000,000), 'G'(1,000,000,000) ¿Í °°Àº Á¢¹Ì¾î¿Í ÇÔ²² ³ªÅ¸³­´Ù. '-x' (È®Àå ¼ö) Áö½ÃÀÚ¸¦ »ç¿ëÇÏ¸é ¾ó¸¶³ª Å« ¼ýÀÚµç Àü ü ¼ýÀÚ°¡ ³ªÅ¸³­´Ù. 7.5.5. Ä«¿îÆ® ¸®¼ÂÆ® ('0'À¸·Î ¸¸µé±â) ÀÌ°ÍÀº Ä«¿îÆ®¸¦ ¸®¼ÂÇϴµ¥ À¯¿ëÇÏ´Ù. ÀÌ°ÍÀº '-Z' ('--zero') ¿É¼ÇÀ¸·Î °¡´ÉÇÏ´Ù. ÀÌ°ÍÀÇ ¹®Á¦Á¡Àº ¸®¼ÂÇϱâ Á÷ÀüÀÇ Ä«¿îÆ® °ªÀ» ¾ËÇÊ¿ä°¡ ÀÖÀ» ¶§°¡ °¡²û ÀÖ´Ù´Â °Í ÀÌ´Ù. ÀÌ·¯ÇÑ °æ¿ìÀÇ ¿¹·Î, ¾î¶² ÆÐŶÀÌ '-L' °ú '-Z' ¸í·É »çÀÌ¿¡ Áö³ª°¥ ¼ö ÀÖ´Ù. ÀÌ·±ÀÌÀ¯·Î Ä«¿îÆ®¸¦ Àд °Í°ú µ¿½Ã¿¡ ¸®¼ÂÇϱâÀ§Çؼ­ '-L' °ú '-Z' ¸í·ÉÀ» °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù. 7.5.6. Á¤Ã¥ ¼³Á¤ ¿ì¸®°¡ ÀÌÀü üÀÎÀ» ÆÐŶÀÌ ¾î¶»°Ô Áö³ª°¡´Â°¡¸¦ ÀdzíÇÒ ¶§, ¹Ì¸® ¸¸µé¾îÁø üÀÎÀÇ ³¡¿¡ ÆÐŶÀÌ ´Ù´Ù·¶À»¶§ ¹«½¼ ÀÏÀÌ ÀϾ °ÍÀΰ¡¸¦ ¼³¸íÇÏ¿´´Ù. ÀÌ °æ¿ì üÀÎÀÇ Á¤Ã¥ÀÌ ±× ÆÐŶÀÇ ¿î¸íÀ» °áÁ¤ÇÑ´Ù. ¹Ì¸® ¸¸µé¾îÁø üÀÎ(ÀÔ·Â, Ãâ·Â, Æ÷¿öµå)¸¸ÀÌ Á¤Ã¥À» °¡Áö´Âµ¥, ÀÌ°ÍÀº »ç¿ëÀÚ Á¤ÀÇÀÇ Ã¼ÀÎÀÇ ³¡¿¡ ´Ù´Ù¸¥ ÆÐŶÀÇ À̵¿Àº ÀÌÀü üÀο¡¼­ ¿ä¾àµÇ¾îÁö±â ¶§¹®ÀÌ´Ù. Á¤Ã¥Àº ACCEPT ¶Ç´Â DROP ÀÌ µÉ¼ö ÀÖ´Ù. 7.5.7. ipchains¿Í ipfwadmÀ» »ç¿ëÇϱ⠹èÆ÷µÇ´Â ³ÝÇÊÅÍ¿¡´Â ipchains.o ¿Í ipfwadm.o ¶ó´Â ¸ðµâÀÌ ÀÖ´Ù. ÀÌ°ÍÀ» ¿©·¯ ºÐÀÇ Ä¿³Î¿¡ Æ÷ÇÔ½ÃÅ°¸é ÀÌÀü°ú ¶È °°ÀÌ ipchains ³ª ipfwadmÀ» »ç¿ëÇÒ ¼ö ÀÖ ´Ù. ( ÁÖÀÇ : À̵éÀº iptables.o, ip_conntrack.o, ip_nat.o¿Í ȣȯ¼ºÀÌ ¾ø´Ù) ÀÌ°ÍÀº ¾ÆÁ÷ Çѵ¿¾ÈÀº Áö¿øµÉ °ÍÀÌ´Ù. À̵éÀ» ¿ÏÀüÈ÷ ´ëÄ¡ÇÏ´Â ¾ÈÁ¤ÆÇÀÌ ³ª¿À ´Âµ¥ ±îÁö´Â 2 * [´ëÄ¡ÇÒ °ÍÀ̶ó´Â ¹ßÇ¥ - ù¹ø° ¾ÈÁ¤ÆÇ] À̶ó´Â °ø½ÄÀÌ Àû ¿ëµÈ´Ù°í »ý°¢ÇÑ´Ù. Áï, ipfwadmÀÇ °æÀ§ ÀÌ°ÍÀÇ Áö¿øÀÌ Á¾·áµÉ ¶§´Â : 2 * [October 1997 (2.1.102 release) - March 1995 (ipfwadm 1.0)] + January 1999 (2.2.0 release) = November 2003. ±×¸®°í ipchainsÀÇ °æ¿ì ÀÌ°ÍÀÇ Áö¿øÀÌ Á¾·áµÉ ¶§´Â : 2 * [August 1999 (2.3.15 release) - October 1997 (2.2.0 release)] + January 2000 (2.3.0 release?) = September 2003. ±×·¯¹Ç·Î, 2004³â ±îÁö´Â °ÆÁ¤ÇÒ ÇÊ¿ä°¡ ¾øÀ» °ÍÀÌ´Ù. 8. iptables¿Í ipchainsÀÇ Â÷ÀÌÁ¡ o ù°·Î, ¹Ì¸® ¸¸µé¾îÁø üÀÎÀÇ À̸§µéÀÌ ¼Ò¹®ÀÚ¿¡¼­ ´ë¹®ÀÚ·Î ¹Ù²î¾ú´Âµ¥ ÀÌ°ÍÀº ÀԷ°ú Ãâ·Â üÀÎÀº ÀÌ°Ô Áö¿ª ³ÝÀ¸·Î ÇâÇÏ´Â ±×¸®°í Áö¿ª¿¡¼­ »ý¼ºµÈ ÆÐŶ¸¸À» Àû¿ëÇϱ⠶§¹®ÀÌ´Ù. ÀÌ°ÍÀº ¸ðµç µé¾î¿À´Â°Í°ú ³ª°¡´Â ÆÐŶÀ» ´Ù·é´Ù. o ¿¡¼­¸¸ ÀÛµ¿ÇÑ´Ù. Æ÷¿öµå ³ª Ãâ·Â üÀο¡ »ç¿ëµÇ¾ú´ø '-i' ´Â '-o'·Î ¹Ù²ã¾ß ÇÑ´Ù. o ÀÌÁ¦ TCP ¿Í UDP Æ÷Æ®´Â --source-port ¶Ç´Â --spotr (¶Ç´Â --destination-port / --dport) ¿É¼Ç°ú ÇÔ²² »ç¿ëµÇ¾îÁ®¾ß ÇÒ ÇÊ¿ä°¡ ÀÖ°í '-p tcp' ¶Ç´Â '-p udp' ¿É¼Ç°ú ÇÔ²² »ç¿ëµÇ¾îÁ®¾ß ÇÑ´Ù. ±×·¯¸é ÀÌ°ÍÀº TCP ¶Ç´Â UDP È®ÀåÀ» °¢°¢ ÀûÀç ÇÒ °ÍÀÌ´Ù. (ipt_tcp ¿Í ipt_udp ¸ðµâÀ» ¼öµ¿À¸·Î ÀûÁ¦ ÇϱâÀ§Çؼ­ Æ÷ÇÔ ½Ãų ¼öµµ ÀÖ´Ù.) o TCP -y Áö½ÃÀÚ´Â --synÀ¸·Î ¹Ù²î¾ú°í `-p tcp'´ÙÀ½¿¡ ¿Í¾ß ÇÑ´Ù. o DENY target ´Â DROP À¸·Î ¹Ù²î¾ú´Ù. o Zeroing single chains while listing them works. o ¸¸µé¾îÁø üÀÎÀ» '0'À¸·ÎÇϸé Á¤Ã¥ Ä«¿îÅ͵µ Áö¿öÁø´Ù. o üÀÎÀ» ³ª¿­ÇÏ´Â °ÍÀº Ä«¿îÆ®ÀÇ ½º³Ü¼¦À» Á¦°øÇÑ´Ù. o REJECT ¿Í LOG ´Â È®ÀåµÈ targetÀÌ´Ù. Áï, À̰͵éÀº µ¶¸³µÈ Ä¿³Î ¸ðµâÀÌ´Ù´Â ÀǹÌÀÌ´Ù. o üÀÎ À̸§Àº 16ÀÚ ±îÁö °¡´ÉÇÏ´Ù. o MASQ ¿Í REDIRECT ´Â ´õÀÌ»ó target ÀÌ ¾Æ´Ï´Ù. iptablesÀº ÆÐŶÀ» º¯È­ ½ÃÅ°Áö ¾Ê´Â´Ù. ÀÌ°ÍÀ» À§Çؼ­ NAT¶ó´Â ÇϺα¸Á¶°¡ ÀÖ´Ù. ÀÌ°ÍÀº ipnatctl ÇÏ¿ìµÎ¸¦ Àо¾Æ¶ó. o ±× ¿ÜÀÇ °ÍµéÀº Àؾî¸Ô¾ú´Ù.