· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/Packet_Filtering-TRANS

¸®´ª½º 2.4 ÆÐŶ ÇÊÅ͸µ ÇÏ¿ìÅõ

¸®´ª½º 2.4 ÆÐŶ ÇÊÅ͸µ ÇÏ¿ìÅõ

Rusty Russell, mailing list netfilter@lists.samba.org

v1.0 Tue Mar 21 23:29:42 EST 2000
ÀÌ ¹®¼­´Â 2.4 ¸®´ª½º Ä¿³Î¿¡¼­ À߸øµÈ ÆÐŶÀ» ÇÊÅ͸µÇϱâ À§ÇÏ¿© ¾î¶»°Ô iptables À» ÀÌ¿ëÇϴ°¡¸¦ ±â¼úÇÑ´Ù.

1. ¼Ò°³

¿©·¯ºÐ ȯ¿µÇÕ´Ï´Ù.

ÀÌ ¹®¼­´Â ¿©·¯ºÐÀÌ IP address, network address, netmask, routing, DNS °¡ ¹«¾úÀÎÁö ¾Ë°í ÀÖ´Ù°í °¡Á¤ÇÕ´Ï´Ù. ±×·¸Áö ¾Ê´Ù¸é '³×Æ®¿öÅ© °³³ä ÇÏ¿ìÅõ' ¸¦ Àб⸦ ±ÇÀ¯ÇÕ´Ï´Ù.

ÀÌ ÇÏ¿ìÅõ´Â »ó³ÉÇÑ ¼Ò°³(ÀÌ°Ô ¿©·¯ºÐÀ» ¿­¹Þ°Ô ÇÏ°í Áö±ÝÀº È帮¸ÛÅÖÇÏ°í ±×·¯³ª ¹«¹æºñÀÎ)¿Í °¡°øµÇÁö¾ÊÀº ¿ÏÀü ³ëÃâ(which would leave all but the hardiest souls confused, paranoid and seeking heavy weaponry)»çÀ̸¦ ³Ñ ³ªµé °ÍÀÌ´Ù.

¿©·¯ºÐÀÇ ³×Æ®¿öÅ©´Â ¾ÈÀüÇÏÁö ¾Ê´Ù. ºü¸£°í, Æí¾ÈÇϸ鼭 ±× »ç¿ëÀÌ ÁÁÀº ÂÊÀ¸·Î¸¸ Çϵµ·ÏÇÏ°í ¾ÇÇÑ ½Ãµµ¸¦ Çã¶ôÇÏÁö ¾Êµµ·Ï ÇÏ·Á´Â °ÍÀº º¹ÀâÇÑ ¿µ È­°ü¿¡¼­ ÀÚÀ¯·Î¿î ´ëÈ­´Â Çã¶ôÇϸ鼭 "ºÒÀ̾ß"ÇÏ°í ¿ÜÄ¡´Â °ÍÀº ºÒÇãÇÏ´Â °Íó·³ °ÅÀÇ ÇØ°áºÒ´ÉÀÇ ¹®Á¦¿Í °°´Ù. ÀÌ°Í¿¡´ëÇÑ ÇØ´äÀº ÀÌ ÇÏ¿ìÅõ¿¡¼­ ±¸ÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù.

¿©·¯ºÐÀÌ ÇÒ ¼öÀÖ´Â °ÍÀº ±× ÀýÃæÁ¡À» °áÁ¤ÇÏ´Â ÀÏÀÌ´Ù. ³ª´Â ÀÌ·¯ÇÑ ¸ñÀû À¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ¸î¸î µµ±¸¿Í °æ°èÇÏ¿©¾ßÇÒ ¾àÁ¡¿¡ ´ëÇÏ¿© ¿©·¯ºÐÀÌ ÁÁÀº ¸ñÀûÀ¸·Î »ç¿ëÇÏ°í ¾ÇÀÇÀÖ´Â ¸ñÀûÀ¸·Î »ç¿ëÇÏÁö ¾Ê±â¸¦ ¹Ù¶ó¸ç, ¾Ë·Á ÁÖ·Á°í ÇÑ´Ù. ¶Ç´Ù¸¥ ¾î·Á¿î ¹®Á¦ÀÌ´Ù.

2. À¥»çÀÌÆ®¿Í ¸®½ºÆ®°¡ ¾îµð¿¡ ÀÖ³ª ?

¼¼°³ÀÇ À¥»çÀÌÆ®°¡ ÀÖ´Ù.

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¶ó´Â ÅøÀº Ä¿³Î¿¡°Ô ¾î¶² ÆÐŶÀ» ÇÊÅÍÇÒ °ÍÀÎÁö¸¦ ¾Ë·ÁÁØ´Ù. ¿©·¯ºÐÀÌ ÇÁ ·Î±×·¡¸Ó³ª º¯Å°¡ ¾Æ´Ï¶ó¸é, ÀÌ°ÍÀÌ ÆÐŶ ÇÊÅ͸µÀ» Á¦¾îÇÏ´Â ¼ö´ÜÀÌ´Ù.

iptables

iptables ´Â Ä¿³ÎÀÇ ÆÐŶ ÇÊÅ͸µ Å×ÀÌºí¿¡ ÇÊÅ͸µ ±ÔÄ¢À» »ðÀÔÇϰųª »èÁ¦ÇÏ´Â µµ±¸ ÀÌ´Ù. ÀÌ°ÍÀº ¿©·¯ºÐÀÌ ¹«¾úÀ» ¼³Á¤ÇßµçÁö, ÀçºÎÆýÿ¡´Â ¼Ò½ÇµÈ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ´ÙÀ½¹ø ¸®´ª½º°¡ ´Ù½Ã ºÎÆõǾúÀ»¶§ ¼³Á¤ ³»¿ëµéÀÌ À缳ġ µÇ±â¸¦ ¹Ù¶õ´Ù¸é ±ÔÄ¢µéÀ» ¿µ¼Ó½ÃÅ°±â¸¦ º¸¾Æ¶ó

iptables´Â ipfwadm°ú ipchains¸¦ ´ëÄ¡ÇÑ´Ù. ¼Õ½Ç¾øÀÌ iptables ÀÇ »ç¿ëÀ» ÇÇÇÏ°í ½Í ´Ù¸é ipchains¿Í ipfwadm »ç¿ëÇϱ⸦ º¸¾Æ¶ó.

±ÔÄ¢µéÀ» ¿µ¼Ó½ÃÅ°±â

¿©·¯ºÐÀÇ ÆÄÀ̾î¿ù ¼³Á¤Àº Ä¿³Î¿¡ ÀúÀåµÇ¹Ç·Î ÀçºÎÆýÿ¡ ¼Õ½ÇµÈ´Ù. iptables-save ¿Í iptables-restoreÀ» ±¸ÇöÇÏ´Â °ÍÀº ³ªÀÇ TODO ¸®½ºÆ®¿¡ ÀÖ´Ù. À̰͵éÀÌ ³ª¿À°Ô µÇ¸é Á¤¸» ÁÁÀ» °ÍÀÌ´Ù. ¾à¼ÓÇÑ´Ù.

±×µ¿¾ÈÀº ¿©·¯ºÐÀÇ ±ÔÄ¢À» ¼³Á¤ÇÏ´Â ¸í·ÉµéÀ» ÃʱâÈ­ ½ºÅ©¸³Æ®¿¡ ±â·ÏÇØ¾ß ÇÑ´Ù. ¸í ·ÉµéÁß Çϳª°¡ ½ÇÆÐÇÏ¿´À»¶§¸¦ ´ëºñÇÏ¿© ¹º°¡ À̼ºÀûÀΰÍÀ» Çصξî¾ß ÇÑ´Ù. (º¸Åë 'exec /sbin/sulogin'À» »ç¿ëÇÑ´Ù.)

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 ¿¡ Àͼ÷ÇÏ´Ù¸é <@@ref>Appendix-Aipchains¿Í 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 ¸ðµâ¿¡ 'forward=1' ¿É¼ÇÀ» ¼±ÅÃÇÏ¿© ÀÌ°ÍÀ» °íÄ¥ ¼ö ÀÖ´Ù.)

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'¸¦ ÀÌ¿ëÇÏ¿´´Ù. ±× ¿Ü¿¡µµ ÆÐŶÀÇ Æ¯Â¡À» ÁöÁ¤Çϴµ¥ »ç¿ëµÇ ´Â ´Ù¸¥ ¿É¼ÇµéÀÌ ÀÖ´Ù. ¾Æ·¡´Â À̰͵鿡 ´ëÇÑ ¿Ïº®ÇÑ °³¿äÀÌ´Ù.

Ãâó¿Í ¸ñÀûÁö ÁöÁ¤

Ãâó('-s', '--source', '--src')¿Í ¸ñÀûÁö('-d', '--destination', '--dst') IP ÁÖ¼Ò¸¦ ÁöÁ¤Çϴµ¥ 4°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. °¡Àå º¸ÆíÀûÀÎ ¹æ¹ýÀº 'www.linuxhq.com', 'localhost' ó·³ À̸§À» ÀÌ¿ëÇÏ´Â °ÍÀÌ´Ù. µÎ¹ø° ¹æ¹ýÀº '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' ³ª '/255.255.255.255' °¡ ±âº»°ªÀÌ´Ù.(IP ÁÖ¼ÒÀÇ ¸ðµçºÎºÐÀÌ ÀÏÄ¡ÇØ¾ß ÇÑ´Ù.) ¸ðµç IP ÁÖ¼Ò¸¦ ÁöÁ¤Çϴµ¥ '/0' °¡ »ç¿ëµÈ´Ù.

               # iptables -A INPUT -s 0/0 -j DROP
               #

ÀÌ°ÍÀº '-s' ¿É¼ÇÀ» ÀÌ¿ëÇÏÁö ¾ÊÀº°Í°ú °°Àº È¿°ú¸¦ ³ªÅ¸³»¹Ç·Î Àß »ç¿ëµÇÁö ¾Ê´Â´Ù.

'¿ª'ÀÇ °æ¿ì ÁöÁ¤

¸¹Àº Áö½ÃÀÚµé('-s'³ª '-d' °°Àº)Àº ÀÏÄ¡ÇÏÁö ¾Ê´Â ÁÖ¼Ò¸¦ ³ªÅ¸³»±â À§ÇÏ¿© '!'('not'À» ÀǹÌÇÑ´Ù)·Î ½ÃÀÛÇÏ´Â ¼³Á¤À» ÇÒ ¼ö ÀÖ´Ù. ¿¹·Î, '-s ! localhost' ´Â localhost·ÎºÎÅÍ¿À´Â ÆÐŶÀÌ ¾Æ´Ñ°æ¿ì¸¦ ³ªÅ¸³½´Ù.

ÇÁ·ÎÅäÄÝ ÁöÁ¤

ÇÁ·ÎÅäÄÝÀº '-p' Áö½ÃÀÚ·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ÇÁ·ÎÅäÄÝÀ» ¼ýÀÚ°¡ µÉ¼ö ÀÖ°í (IPÀÇ ÇÁ·ÎÅäÄÝ ¹øÈ£¸¦ ¾Ë°í ÀÖ´Ù¸é) 'TCP', 'UDP', 'ICMP' °°Àº À̸§ÀÌ µÉ ¼öµµ ÀÖ´Ù. ±×¸®°í 'tcp'´Â 'TCP'¿Í °°Àº ¿ªÇÒÀ» ÇÑ´Ù.

ÇÁ·ÎÅäÄÝ À̸§ ÁöÁ¤¿¡µµ '!'À» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. '-p ! TCP'

ÀÎÅÍÆäÀ̼­ ÁöÁ¤

'-i'('--in-interface')¿Í '-o'('--out-interface')°¡ ÀÎÅÍÆäÀ̼­¸¦ ÀúÁ¤ Çϴµ¥ »ç¿ëµÈ´Ù. ÀÎÅÍÆäÀ̼­´Â ÆÐŶÀÌ µé¾î¿À°í ³ª°¡´Â ¹°¸®ÀûÀÎ µµ±¸ÀÌ´Ù. ifconfig ¸í·ÉÀ» »ç¿ëÇÏ¿© ÇöÀç È°¼ºÈ­ µÇ¾îÀÖ´Â ÀÎÅÍÆäÀ̼­¸¦ ¾Ë¾Æº¼¼ö ÀÖ´Ù.

ÀԷ üÀÎÀ» Áö³ª´Â ÆÐŶÀº Ãâ·Â ÀÎÅÍÆäÀ̼­¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ¸¹Ç·Î '-o' ¼³Á¤¿¡ ÀÏÄ¡ÇÏ´Â ÆÐŶÀÌ ¾øÀ» °ÍÀÌ°í Ãâ·Â üÀÎÀ» Áö³ª´Â ÆÐŶÀº ÀÔ·Â ÀÎÅÍ ÆäÀ̼­¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ¸¹Ç·Î '-i' ¼³Á¤¿¡ ÀÏÄ¡ÇÏ´Â ÆÐŶÀÌ ¾øÀ» °ÍÀÌ´Ù.

Æ÷¿öµù üÀÎÀ» Áö³ª´Â ÆÐŶ¸¸ÀÌ ÀԷ°ú Ãâ·Â ÀÎÅÍÆäÀ̼­¸¦ ¸ðµÎ °¡Áú°ÍÀÌ´Ù.

ÇöÀç Á¸ÀçÇÏÁö ¾Ê´Â ÀÎÅÍÆäÀ̼­¸¦ ÁöÁ¤ÇÏ´Â °Íµµ ¾Æ¹«·± ¹®Á¦¾øÀÌ µÉ ¼ö ÀÖ ´Ù. ÀÌ°ÍÀº ÀÎÅÍÆäÀ̼­°¡ È°¼ºÈ­ µÇ±â Àü±îÁö´Â ±ÔÄ¢¿¡ ÀÏÄ¡ÇÏ´Â ÆÐŶÀÌ ÀÖÀ»¼ö ¾øÀ» °ÍÀÌ´Ù. ÀÌ°ÍÀº dial-up PPP¸¦ »ç¿ëÇÏ´Â °æ¿ì ƯÈ÷ À¯¿ëÇÏ´Ù.

Ưº°ÇÑ °æ¿ì·Î, ÀÎÅÍÆäÀ̼­ À̸§ÀÌ '+'·Î ³¡³¯¼ö Àִµ¥ ÀÌ°ÍÀº ±× À̸§À¸·Î ½ÃÀÛÇÏ´Â ¸ðµç ÀÎÅÍÆäÀ̼­¸¦ ¸ðµÎ ÁöÁ¤ÇÑ´Ù(±×°ÍÀÌ ÇöÀç Á¸ÀçÇϵç Á¸ÀçÇÏÁö ¾Êµç). ¿¹¸¦µé¾î, ¸ðµç PPP ÀÎÅÍÆäÀ̼­¿Í ÀÏÄ¡ÇÏ´Â ±ÔÄ¢À» ÁöÁ¤ÇÏ·Á¸é -i ppp+¿Í°°ÀÌ ÇÏ¸é µÈ´Ù.

ÀÎÅÍÆäÀ̼­ À̸§¾Õ¿¡ '!'µµ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.

ºÐÀý (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
#

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'³ª '--help' ´ÙÀ½¿¡ ÁöÁ¤ÇÏ¸é µÈ´Ù.

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

'!' ¿É¼ÇÀÌ ¼±ÇàµÉ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº '--tcp-flags SYN,RST,ACK,SYN'ÀÇ ¾à¾îÀÌ´Ù.

--source-port

'!' ¿É¼ÇÀÌ ¼±ÇàµÉ ¼ö ÀÖ´Ù. ÀÌÈÄ¿¡ ÇϳªÀÇ TCP Æ÷Æ®³ª Æ÷Æ®ÀÇ ¹üÀ§¸¦ ÁöÁ¤ÇÑ´Ù. /etc/services ¿¡ ±â·ÏµÈ °Í°ú °°Àº Æ÷Æ® À̸§ÀÌ »ç¿ëµÉ ¼ö µµ ÀÖ°í ¼ýÀÚ·Î ³ªÅ¸³¾ ¼öµµ ÀÖ´Ù. ¹üÀ§´Â µÎ°³¸£ Æ÷Æ® À̸§À» '-' À¸ ·Î ¿¬°áÇؼ­ »ç¿ëÇϰųª (Ä¿°Å³ª °°Àº°æ¿ì¸¦ À§Çؼ­) ÇϳªÀÇ Æ÷Æ® µÚ¿¡ '-'¸¦ »ç¿ëÇϰųª (À۰ųª °°Àº °æ¿ì¸¦ À§Çؼ­) ÇϳªÀÇ Æ÷Æ® ¾Õ¿¡ '-' ¸¦ µ¡ºÙÀÏ ¼ö ÀÖ´Ù.

--sport

ÀÌ°ÍÀº '--source-port'¿Í µ¿ÀǾîÀÌ´Ù.

--destination-port

¿Í

--dport

´Â À§ÀÇ ³»¿ë°ú °°À¸³ª ¸ñÀû Áö¸¦ ÁöÁ¤ÇÑ´Ù.

--tcp-option

'!' ³ª ¼ýÀÚ°¡ ¿É¼Ç¿¡ ¼±ÇàµÉ ¼ö Àִµ¥ ¼ýÀÚ°¡ ¾Õ¿¡ ¿Ã°æ¿ì ±× ¼ýÀÚ ¿Í TCP ¿É¼ÇÀÌ °°Àº °æ¿ìÀÇ ÆÐŶÀ» °Ë»çÇÑ´Ù. TCP ¿É¼ÇÀ» °Ë»çÇÏ·Á ÇÒ ¶§ ¿ÏÀüÇÑ TCP Çì´õ¸¦ °®Áö¾Ê´Â °ÍÀº ÀÚµ¿À¸·Î DROP µÈ´Ù.

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

Á¢¼ÓÀ» ½ÃÀÛÇÑ °Í ¿ÜÀÇ ¸ðµç ÆÐŶÀ» ÁöÁ¤Çϱâ À§ÇÏ¿© '!' ¿É¼ÇÀÌ ¼±ÇàµÉ ¼ö ÀÖ´Ù.

UDP È®Àå

ÀÌ È®ÀåÀº '--protocol udp'°¡ ÁöÁ¤µÇ°í Àû¿ëÀÌ ÀúÁ¤µÇÁö ¾ÊÀ¸¸é ÀÚµ¿À¸·Î ÀûÀçµÈ´Ù. ÀÌ°ÍÀº '--source-port', '--sport', '--destination-port', '-dport'¸¦ Áö¿øÇÏ°í ³»¿ëÀº TCP ¼³¸í¿¡¼­ ÀÚ¼¼È÷ ³ª¿Ô´Ù.

ICMP È®Àå

ÀÌ È®ÀåÀº '--protocol icmp'°¡ ÁöÁ¤µÇ°í ±× Àû¿ëÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ÀÚµ¿À¸·Î ÀûÀçµÈ´Ù. ÀÌ°ÍÀº ´Ü ÇϳªÀÇ »õ·Î¿î ¿É¼Ç¸¸ Áö¿øÇÑ´Ù.:

--icmp-type

'!' ¿É¼ÇÀÌ ¼±ÇàµÉ ¼ö ÀÖ´Ù. ÀÌÈÄ¿¡ ICMP ŸÀÔÀÇ À̸§('host-unreachable') À̳ª ¼ýÀÚÇüÅ ('3'), ¶Ç´Â ¼ýÀÚÇüÅÂ¿Í ÄÚµå('/'·Î ºÐ¸® ¿¹. '3/3') ÀÇ Çü Å°¡ »ç¿ëµÈ´Ù. »ç¿ëÇÒ ¼ö ÀÖ´Â ICMP ÇüÅÂÀÇ À̸§ÀÇ ¸®½ºÆ®´Â '-p icmp --help' ÇÏ¸é ³ªÅ¸³­´Ù.

±×¿ÜÀÇ Àû¿ë È®Àå

Netfilter ÆÐÅ°ÁöÀÇ ´Ù¸¥ È®ÀåÀº ½ÃÇèÀûÀÎ È®ÀåÀÌ´Ù. ÀÌ°ÍÀº (¼³Ä¡ µÇ¾îÀÖ´Ù¸é) '-m' ¿É¼ÇÀ¸·Î È°¼ºÈ­ µÈ´Ù.

mac

ÀÌ ¸ðµâÀº '-m mac' ¶Ç´Â '--match mac' À̶ó°í ÇÔÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº µé¾î¿À´Â ÆÐŶÀÇ ÀÌ´õ³Ý ÁÖ¼Ò¸¦ °Ë»çÇÑ´Ù. ±×·¯¹Ç·Î ÀԷ üÀο¡ ¼­¸¸ À¯¿ëÇÏ´Ù. ÀÌ°ÍÀº ÇϳªÀÇ ¿É¼Ç¸¸ Á¦°øÇÑ´Ù.

--mac-source

'!' ¿É¼ÇÀÌ ¼±Çà µÉ ¼ö ÀÖ´Ù. ÀÌÈÄ¿¡ ÄÝ·ÐÀ¸·Î ºÐ¸®µÈ 16Áø¼ö ¼ýÀÚÀÇ ÀÌ´õ³Ý ÁÖ¼Ò°¡ ¿Â´Ù. ¿¹ '--mac-source 00:60:08:91:CC:B7'

limit

ÀÌ ¸ðµâÀº '-m limit' ¶Ç´Â '--match limit'À̶ó°í ÇÔÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ ´Ù. ÀÌ°ÍÀº ·Î±× ¸Þ¼¼Áö¸¦ ¾ïÁ¦ÇÒ¶§ ó·³ Àû¿ë°Ë»çÀÇ ¼Óµµ¸¦ Á¦ÇÑÇϴµ¥ »ç¿ëÇÑ´Ù. 1ÃÊ¿¡ ÁÖ¾îÁø ¼ýÀÚ¸¸Å­ÀÇ Àû¿ë¸¸ °Ë»çÇÑ´Ù. (±âº»°ªÀº ÇÑ ½Ã°£ ¿¡ 3¹ø, ÃÖ°í 5¹øÀÌ´Ù.) ÀÌ°ÍÀº µÎ°³ÀÇ ¿É¼ÇÀ» Á¦°øÇÑ´Ù.

--limit

¼ýÀÚ°¡ µû¶ó¿Â´Ù : ÃÊ´ç Æò±Õ ÃÖ´ë Àû¿ë °Ë»ç ¼ö¸¦ ÁöÁ¤ÇÑ´Ù. ¼ýÀÚµÚ ¿¡ ½Ã°£´ÜÀ§¸¦ Áö¾îÇÒ ¼ö µµ ÀÖ´Ù. ('/second', '/minute', '/hour', '/day'ÇüÅÂÀÌ´Ù. ¿¹·Î, '5/second' ¶Ç´Â '5/s'°¡ °¡´ÉÇÏ´Ù)

--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'À¸·Î ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ÀÌ°ÍÀº ¹«ÀÛÀ§ÀÇ ¿©·¯ °ÇÀü¼º °Ë»ç¸¦ ÇÑ´Ù. ÀÌ°ÍÀº Á¦´ë·Î °Ë»çµÇÁö ¾Ê¾Ò°í ¾ÈÀü¼º µµ±¸·Îµµ »ç¿ëµÇÁö ¸øÇÑ´Ù.(¾Æ¸¶µµ ÀÌ°Í Àº ¹«Á¦¸¦ ´õ¿í Èûµé°Ô ÇÏ°í ¹ö±× ±× ÀÚüÀÏ °ÍÀÌ´Ù.) ÀÌ°ÍÀº ¿É¼ÇÀÌ ¾ø´Ù.

»óÅÂ Àû¿ë

°¡Àå À¯¿ëÇÑ Àû¿ë ±âÁØÀº 'ip_conntrack' ¸ðµâÀÇ Á¢¼Ó ÃßÀû ºÐ¼®À» Çؼ®ÇÏ´Â 'state' È®ÀåÀÌ´Ù. ÀÌ°ÍÀ» °­·ÂÈ÷ ÃßõÇÑ´Ù.

'-m state'¸¦ ÁöÁ¤ÇÔÀ¸·Î '--state' ¿É¼ÇÀ» »ç¿ëÇÒ ¼ö Àִµ¥ ÀÌÈÄ¿¡ ÄÞ¸¶·Î ºÐ¸®µÇ´Â Àû¿ëÇÒ »óŵéÀÇ ¸®½ºÆ®°¡ ¿Â´Ù.('!' Áö½ÃÀÚ´Â »ç¿ëµÇ¾îÁöÁö ¾Ê´Â ´Ù.) ÀÌ »óŵéÀº ;

NEW

»õ·Î¿î Á¢¼ÓÀ» ¸¸µå´Â ÆÐŶ

ESTABLISHED

Á¸ÀçÇÏ´Â Á¢¼Ó¿¡ ¼ÓÇÏ´Â ÆÐŶ (Áï, ÀÀ´ä ÆÐŶÀ» °¡Á³´ø °Í)

RELATED

±âÁ¸ÀÇ Á¢¼ÓÀÇ ºÎºÐÀº ¾Æ´ÏÁö¸¸ ¿¬°ü¼ºÀ» °¡Áø ÆÐŶÀ¸·Î . ICMP ¿¡·¯ ³ª (FTP ¸ðµâÀÌ »ðÀÔ µÇ¾îÀÖÀ¸¸é) ftp µ¥ÀÌÅÍ Á¢¼ÓÀ» Çü¼ºÇÏ´Â ÆÐŶ.

INVALID

¾î¶² ÀÌÀ¯·Î È®ÀÎÇÒ ¼ö ¾ø´Â ÆÐŶ: ¾Ë·ÁÁø Á¢¼Ó°ú ºÎÇÕÇÏÁö ¾Ê´Â ICMP ¿¡·¯¿Í 'out of memory' µîÀ» Æ÷ÇÔÇÑ´Ù. º¸Åë ÀÌ·± ÆÐŶÀº DROP µÈ´Ù.

7.4 Ÿ°Ù ÁöÁ¤

ÀÌÁ¦ ÆÐŶ¿¡¼­ ¾î¶² °Ë»ç¸¦ ÇÒ ¼ö ÀÖ´ÂÁö¸¦ ¾Ë¾Ò´Ù. ÀÌÁ¦ ¿ì¸®ÀÇ °Ë»ç¿¡ ÀÏÄ¡ ÇÏ´Â ÆÐŶÀ» ¾î¶»°Ô ÇÒ °ÍÀÎÁö¸¦ ¸»ÇÏ´Â °ÍÀ» ¾Ë¾Æ¾ß ÇÑ´Ù. ÀÌ°ÍÀ» ±ÔÄ¢ Ÿ°Ù À̶ó°í ÇÑ´Ù.

µÎ°³ÀÇ ÀÌ¹Ì ¸¸µé¾îÁø ´Ü¼øÇÑ Å¸°ÙÀÌ ÀÖ´Ù. : DROP °ú ACCEPT. ÀÌ¹Ì ÀÌ°Í¿¡ ´ëÇؼ­´Â À̾߱⸦ ÇÑ ÀûÀÌ ÀÖ´Ù. Àû¿ëÀÌ µÇ´Â ÆÐŶ°ú ±×°ÍÀÇ Å¸°ÙÀÌ À§ÀÇ µÎ °³Áß Çϳª¶ó¸é ´õÀÌ»óÀÇ Âü°íÇÒ ±ÔÄ¢Àº ¾ø´Ù. : ÆÐŶÀÇ ¿î¸íÀº °áÁ¤ µÇ´Â °Í ÀÌ´Ù.

ÀÌ¹Ì ¸¸µé¾îÁø µÎ°³ÀÇ Å¸°Ù¿Ü¿¡ µÎ°¡Áö ÇüÅÂÀÇ Å¸°ÙÀÌ ÀÖ´Ù.: È®Àå°ú »ç¿ëÀÚ ÁöÁ¤ÀÇ Ã¼Àεé ÀÌ´Ù.

»ç¿ëÀÚ ÁöÁ¤ÀÇ Ã¼Àεé

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 µÈ´Ù.)

iptables·ÎÀÇ È®Àå : »õ·Î¿î Ÿ°Ù

Ÿ°ÙÀÇ ´Ù¸¥ ÇüÅ´ ȮÀåÀÌ´Ù. Ÿ°Ù È®ÀåÀº Ä¿³Î ¸ðµâ·Î ±¸¼ºµÈ´Ù. ±×¸®°í iptables ¿¡ ´ëÇÑ ¼±ÅÃÀû È®ÀåÀº »õ·Î¿î ¸í·ÉÇàÀÇ ¿É¼ÇÀ» Á¦°øÇÑ´Ù. ±âº»ÀûÀ¸·Î ³ÝÇÊÅÍ ¹èÆ÷¿¡ Æ÷ÇÔµÈ ¸î¸îÀÇ È®ÀåÀº ´ÙÀ½°ú °°´Ù.

LOG

ÀÏÄ¡ÇÏ´Â ÆÐŶÀÇ Ä¿³Î ·Î±×¸¦ Á¦°øÇÑ´Ù. ÀÌ°ÍÀº ºÎ°¡ÀÇ ¿É¼ÇÀ» Á¦°øÇÑ´Ù.

--log-level

·¹º§ ¼ýÀÚ³ª À̸§ÀÌ µû¶ó¿Â´Ù. À¯È¿ÇÑ À̸§Àº (»óȲ¿¡ µû¶ó ´Ù¸£´Ù) 'debug' 'info', 'notice', 'warning', 'err', 'crit', 'alert', 'emerg' ÀÌ°í ÀÌ°Í Àº °¢°¢ ¼ýÀÚ 7 ¿¡¼­ 0 ¿¡ ´ëÀÀÇÑ´Ù. ÀÌ·± ·¹º§¿¡ ´ëÇÑ ¼³¸íÀº syslog.conf ÀÇ man ÆäÀÌÁö¸¦ º¸¶ó.

--log-prefix

14ÀÚ ±îÁöÀÇ ¹®ÀåÀÌ µû¶ó¿Â´Ù. ÀÌ ¸Þ¼¼Áö´Â ·Î±× ¸Þ¼¼ÁöÀÇ ½ÃÀۺκÐÀ¸·Î º¸³»Á®¼­ È®Àο¡ »ç¿ëµÉ ¼ö ÀÖ´Ù.

ÀÌ ¸ðµâÀº 'limit' Ÿ°Ù ´ÙÀ½¿¡ »ç¿ëÇÏ¸é °¡Àå È¿°úÀûÀÌ´Ù. ±×·¡¼­ ·Î±×°¡ ³Ñ Áö³ªÁö ¾Êµµ·Ï ÇÒ ¼ö ÀÖ´Ù.

REJECT

ÀÌ ¸ðµâÀº 'DROP'°ú °°Àº È¿°ú¸¦ ³ªÅ¸³½´Ù. ´Ù¸¸, 'port unreachable' À̶ó´Â ¿¡·¯ ¸Þ¼¼Áö¸¦ ICMP ·Î º¸³½´Ù. ÁÖÀÇÇÒ °ÍÀº ICMP ¿¡·¯ ¸Þ¼¼Áö´Â ´ÙÀ½ÀÇ °æ¿ì º¸³» ÁöÁö ¾Ê´Â´Ù ( RFC 1122 ¸¦ º¸¶ó) :

  • °Ë»çµÈ ÆÐŶÀÌ ICMP ¿¡·¯¸Þ¼¼ÁöÀ̰ųª³ª ¾Ë¼ö ¾ø´Â ICMP ÇüÅÂÀÎ °æ¿ì
  • °Ë»çµÈ ÆÐŶÀÌ Çì´õ°¡ ¾ø´Â ºÐÀýÀÎ °æ¿ì
  • ³Ê¹« ¸¹Àº ICMP ¿¡·¯ ¸Þ¼¼Áö¸¦ ±× ¸ñÀûÁö·Î º¸³½ °æ¿ì.

REJECT ´Â '--reject-with'¶ó´Â ¿É¼ÇÀ» °¡Áö´Âµ¥ ÀÌ°ÍÀº »ç¿ëÇÒ ÀÀ´ä ÆÐŶÀ» º¯°æÇÑ´Ù. ÀÚ¼¼ÇÑ °ÍÀº ¸Þ´º¾ó ÆäÀÌÁö¸¦ º¸¶ó.

Ưº°ÇÑ ¹Ì¸® ¸¸µé¾îÁø Ÿ°Ù

µÎ°³ÀÇ ¹Ì¸® ¸¸µé¾îÁø Ÿ°ÙÀÌ ÀÖ´Ù : RETURN, QUEUE

RETURNÀº ÇÑ Ã¼ÀÎÀÇ ³¡À¸·Î º¸³»Áö´Â °Í°ú °°Àº È¿°ú°¡ ÀÖ´Ù. : ¹Ì¸® ¸¸µé¾îÁø ü ÀÎÀÇ °æ¿ì ±× üÀÎÀÇ Á¤Ã¥Àº ½ÇÇàÀÌ´Ù. »ç¿ëÀÚ Á¤ÀÇ Ã¼ÀÎÀÇ °æ¿ì ÀÌ Ã¼ÀÎÀ¸·Î Á¡ÇÁ ÇÏ´Â ±ÔÄ¢ÀÇ ¹Ù·Î ´ÙÀ½ÀÎ ÀÌÀü üÀÎÀ¸·Î À̵¿ÇÑ´Ù.

QUEUEÀº Ưº°ÇÑ Å¸°ÙÀ¸·Î, »ç¿ëÀÚ°ø°£ÀÇ ÀÛ¾÷À» À§ÇØ ÆÐŶÀ» ´ë±âÇϵµ·Ï ÇÑ´Ù. ÆÐŶ À» À§Çؼ­ ´ë±âÇÏ°íÀÖ´Â °ÍÀÌ ¾ø´Ù¸é(Áï, ÀÌ ÆÐŶÀ» ´Ù·ê ÇÁ·Î±×·¥ÀÌ ¾ÆÁ÷ ¾º¾îÁ® ÀÖÁö ¾Ê´Ù¸é) ÆÐŶÀº DROP µÉ °ÍÀÌ´Ù.

7.5 Àüü üÀο¡ ´ëÇÑ ÀÛ¿ë.

iptablesÀÇ À¯¿ëÇÑ ±â´ÉÁÖ Çϳª´Â ¿©·¯ °ü°è°¡ ÀÖ´Â ±ÔÄ¢À» ÇϳªÀÇ Ã¼ÀμÓÀ¸·Î ±×·ìÈ­ ÇÏ´Â °ÍÀÌ´Ù. üÀÎÀÇ À̸§Àº ¾î¶² °ÍÀ» »ç¿ëÇÒ ¼öµµ ÀÖÀ¸³ª ¹Ì¸® ¸¸µé¾î Áø üÀΰúÀÇ È¥µ¿À» ¸·±â À§ÇÏ¿© ¼Ò¹®ÀÚ¸¦ »ç¿ëÇϱ⸦ ±ÇÇÑ´Ù. üÀÎÀÇ À̸§Àº 16 ÀÚ ±îÁö °¡´ÉÇÏ´Ù.

»õ¿À·é üÀÎ »ý¼º

»õ·Î¿î üÀÎÀ» ¸¸µé¾î º¸ÀÚ. ³ª´Â ¸Å¿ì »ó»ó·ÂÀÌ ÁÁÀº »ç¶÷À̹ǷΠÀÌ°ÍÀ» Å×½ºÆ® ¶ó°í ºÎ¸£±â·Î ÇÏ°Ú´Ù. '-N' ¶Ç´Â '--new-chain' ¿É¼ÇÀ» »ç¿ëÇÑ´Ù.

# iptables -N test
#

´Ü¼øÇÏ´Ù. ÀÌÁ¦ ÀÌ Ã¼Àο¡ »ó¼¼ÇÑ ±ÔÄ¢À» Àû¿ëÇÒ ¼ö ÀÖ´Ù.

üÀÎ Á¦°Å

üÀÎÀ» Á¦°ÅÇÏ´Â °Íµµ ´Ü¼øÇϤ§. '-X' ³ª '--delete-chain' À» »ç¿ëÇÑ´Ù.

# iptables -X test
#

üÀÎÀ» Á¦°Å Çϴµ¥´Â ¸î°¡Áö Á¦ÇÑÀÌ ÀÖ´Ù. ÀÌ°ÍÀº ºñ¾îÀÖ¾î¾ß ÇÑ´Ù. (¾Æ·¡ÀÇ Ã¼ÀÎ ºñ¿ì±â¸¦ º¸¶ó) ±×¸®°í ±×°ÍÀº ´Ù¸¥ ¾î¶² ±ÔÄ¢ÀÇ Å¸°Ùµµ ¾Æ´Ï¾î¾ß ÇÑ´Ù. ¹Ì¸® ¸¸µé¾îÁø ¼¼°³ÀÇ Ã¼ÀÎÀº Á¦°ÅÇÒ ¼ö ¾ø´Ù.

üÀÎÀÇ À̸§À» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¸ðµç »ç¿ëÀÚ Á¤ÀÇÀÇ Ã¼ÀÎÀº Á¦°ÅµÈ´Ù.

üÀÎ ºñ¿ì±â

ÇϳªÀÇ Ã¼ÀÎÀÇ ¸ðµç ±ÔÄ¢À» ºñ¿ì´Â °£´ÜÇÑ ¹æ¹ýÀÌ ÀÖÀ¸´Ï, '-F' ('--flush') ¸í·ÉÀÌ´Ù.

        # iptables -F forward
        #

üÀÎÀ» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¸ðµç üÀÎÀÇ ±ÔÄ¢ÀÌ Áö¿öÁø´Ù.

üÀÎ ±ÔÄ¢ ³ª¿­Çϱâ

ÇÑ Ã¼ÀÎÀÇ ¸ðµç ±ÔÄ¢Àº '-L' ¸í·ÉÀ¸·Î ³ª¿­ÇÒ ¼ö ÀÖ´Ù.

°¢ »ç¿ëÀÚ Á¤ÀÇÀÇ Ã¼ÀÎÀ» ³ª¿­Çß´ø 'refcnt' ´Â ±× üÀÎÀ» ±×µéÀÇ Å¸°ÙÀ¸·ÎÇÏ ´Â ±ÔÄ¢µéÀÇ ¹øÈ£ÀÌ´Ù. üÀÎÀÌ Á¦°ÅµÇ±â À§Çؼ­´Â ÀÌ°ÍÀÌ '0' À¸·Î µÇ¾î¾ß ÇÑ´Ù. (±×¸®°í ±× üÀÎÀº ºñ¾î¾ß ÇÑ´Ù)

üÀÎÀÇ À̸§ÀÌ »ý·«µÇ¸é ºñ¾îÀÖ´Â °ÍÀ» Æ÷ÇÔÇÑ ¸ðµç üÀÎÀÌ ³ª¿­µÈ´Ù.

'-L' ¸í·É¿¡ µû¸£´Â ¿É¼ÇÀº ¼¼°³°¡ ÀÖ´Ù. '-n' (numeric) ¿É¼ÇÀº iptables°¡ ¿©·¯ºÐÀÌ DNS ¿ä±¸¸¦ ÇÊÅ͸µ ¾Æ¿ôÇÑ °æ¿ì³ª DNS°¡ ÀûÀýÀÌ ¼³Á¤µÇ¾î ÀÖÁö ¾Ê´Ù¸é ¿À·£ ½Ã°£ÀÌ °É¸®´Â, IP ÁÖ¼Ò¸¦ ã´Â °ÍÀ» ¿¹¹æÇÏ´Â ¾ÆÁÖ À¯¿ëÇÑ ¿É¼ÇÀÌ´Ù. ÀÌ°Í Àº TCP¿Í UDP Æ÷Æ®°¡ À̸§ÀÌ ¾Æ´Ñ ¼ýÀÚ·Î Ãâ·ÂµÇµµ·Ï Çϱ⵵ ÇÑ´Ù.

'-v' ¿É¼ÇÀº ±ÔÄ¢ÀÇ ÀÚ¼¼ÇÑ Á¤º¸(ÆÐŶ°ú ¹ÙÀÌÆ® Ä«¿îÅÍ, TOS ºñ±³, ÀÎÅÍÆäÀ̼­¿Í °°Àº)¸¦ ³ªÅ¸³½´Ù.

ÆÐŶ°ú ¹ÙÀÌÆ® Ä«¿îÆ®´Â 'K'(1000), 'M'(1,000,000), 'G'(1,000,000,000) ¿Í °°Àº Á¢¹Ì¾î¿Í ÇÔ²² ³ªÅ¸³­´Ù. '-x' (È®Àå ¼ö) Áö½ÃÀÚ¸¦ »ç¿ëÇÏ¸é ¾ó¸¶³ª Å« ¼ýÀÚµç Àü ü ¼ýÀÚ°¡ ³ªÅ¸³­´Ù.

Ä«¿îÆ® ¸®¼ÂÆ® ('0'À¸·Î ¸¸µé±â)

ÀÌ°ÍÀº Ä«¿îÆ®¸¦ ¸®¼ÂÇϴµ¥ À¯¿ëÇÏ´Ù. ÀÌ°ÍÀº '-Z' ('--zero') ¿É¼ÇÀ¸·Î °¡´ÉÇÏ´Ù.

ÀÌ°ÍÀÇ ¹®Á¦Á¡Àº ¸®¼ÂÇϱâ Á÷ÀüÀÇ Ä«¿îÆ® °ªÀ» ¾ËÇÊ¿ä°¡ ÀÖÀ» ¶§°¡ °¡²û ÀÖ´Ù´Â °Í ÀÌ´Ù. ÀÌ·¯ÇÑ °æ¿ìÀÇ ¿¹·Î, ¾î¶² ÆÐŶÀÌ '-L' °ú '-Z' ¸í·É »çÀÌ¿¡ Áö³ª°¥ ¼ö ÀÖ´Ù. ÀÌ·±ÀÌÀ¯·Î Ä«¿îÆ®¸¦ Àд °Í°ú µ¿½Ã¿¡ ¸®¼ÂÇϱâÀ§Çؼ­ '-L' °ú '-Z' ¸í·ÉÀ» °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

Á¤Ã¥ ¼³Á¤

¿ì¸®°¡ ÀÌÀü üÀÎÀ» ÆÐŶÀÌ ¾î¶»°Ô Áö³ª°¡´Â°¡¸¦ ÀdzíÇÒ ¶§, ¹Ì¸® ¸¸µé¾îÁø üÀÎÀÇ ³¡¿¡ ÆÐŶÀÌ ´Ù´Ù·¶À»¶§ ¹«½¼ ÀÏÀÌ ÀϾ °ÍÀΰ¡¸¦ ¼³¸íÇÏ¿´´Ù. ÀÌ °æ¿ì üÀÎÀÇ Á¤Ã¥ÀÌ ±× ÆÐŶÀÇ ¿î¸íÀ» °áÁ¤ÇÑ´Ù. ¹Ì¸® ¸¸µé¾îÁø üÀÎ(ÀÔ·Â, Ãâ·Â, Æ÷¿öµå)¸¸ÀÌ Á¤Ã¥À» °¡Áö´Âµ¥, ÀÌ°ÍÀº »ç¿ëÀÚ Á¤ÀÇÀÇ Ã¼ÀÎÀÇ ³¡¿¡ ´Ù´Ù¸¥ ÆÐŶÀÇ À̵¿Àº ÀÌÀü üÀο¡¼­ ¿ä¾àµÇ¾îÁö±â ¶§¹®ÀÌ´Ù.

Á¤Ã¥Àº ACCEPT ¶Ç´Â DROP ÀÌ µÉ¼ö ÀÖ´Ù.

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ÀÇ Â÷ÀÌÁ¡

  • ù°·Î, ¹Ì¸® ¸¸µé¾îÁø üÀÎÀÇ À̸§µéÀÌ ¼Ò¹®ÀÚ¿¡¼­ ´ë¹®ÀÚ·Î ¹Ù²î¾ú´Âµ¥ ÀÌ°ÍÀº ÀԷ°ú Ãâ·Â üÀÎÀº ÀÌ°Ô Áö¿ª ³ÝÀ¸·Î ÇâÇÏ´Â ±×¸®°í Áö¿ª¿¡¼­ »ý¼ºµÈ ÆÐŶ¸¸À» Àû¿ëÇϱ⠶§¹®ÀÌ´Ù. ÀÌ°ÍÀº ¸ðµç µé¾î¿À´Â°Í°ú ³ª°¡´Â ÆÐŶÀ» ´Ù·é´Ù.
  • '-i' Áö½ÃÀÚ´Â µé¾î¿À´Â ÀÎÅÍÆäÀ̽º¸¸ ÀǹÌÇÏ°í ÀÔ·Â °ú Æ÷¿öµå üÀÎ ¿¡¼­¸¸ ÀÛµ¿ÇÑ´Ù. Æ÷¿öµå ³ª Ãâ·Â üÀο¡ »ç¿ëµÇ¾ú´ø '-i' ´Â '-o'·Î ¹Ù²ã¾ß ÇÑ´Ù.
  • ÀÌÁ¦ TCP ¿Í UDP Æ÷Æ®´Â --source-port ¶Ç´Â --spotr (¶Ç´Â --destination-port / --dport) ¿É¼Ç°ú ÇÔ²² »ç¿ëµÇ¾îÁ®¾ß ÇÒ ÇÊ¿ä°¡ ÀÖ°í '-p tcp' ¶Ç´Â '-p udp' ¿É¼Ç°ú ÇÔ²² »ç¿ëµÇ¾îÁ®¾ß ÇÑ´Ù. ±×·¯¸é ÀÌ°ÍÀº TCP ¶Ç´Â UDP È®ÀåÀ» °¢°¢ ÀûÀç ÇÒ °ÍÀÌ´Ù. (ipt_tcp ¿Í ipt_udp ¸ðµâÀ» ¼öµ¿À¸·Î ÀûÁ¦ ÇϱâÀ§Çؼ­ Æ÷ÇÔ ½Ãų ¼öµµ ÀÖ´Ù.)
  • TCP -y Áö½ÃÀÚ´Â --synÀ¸·Î ¹Ù²î¾ú°í `-p tcp'´ÙÀ½¿¡ ¿Í¾ß ÇÑ´Ù.
  • DENY target ´Â DROP À¸·Î ¹Ù²î¾ú´Ù.
  • Zeroing single chains while listing them works.
  • ¸¸µé¾îÁø üÀÎÀ» '0'À¸·ÎÇϸé Á¤Ã¥ Ä«¿îÅ͵µ Áö¿öÁø´Ù.
  • üÀÎÀ» ³ª¿­ÇÏ´Â °ÍÀº Ä«¿îÆ®ÀÇ ½º³Ü¼¦À» Á¦°øÇÑ´Ù.
  • REJECT ¿Í LOG ´Â È®ÀåµÈ targetÀÌ´Ù. Áï, À̰͵éÀº µ¶¸³µÈ Ä¿³Î ¸ðµâÀÌ´Ù´Â ÀǹÌÀÌ´Ù.
  • üÀÎ À̸§Àº 16ÀÚ ±îÁö °¡´ÉÇÏ´Ù.
  • MASQ ¿Í REDIRECT ´Â ´õÀÌ»ó target ÀÌ ¾Æ´Ï´Ù. iptablesÀº ÆÐŶÀ» º¯È­ ½ÃÅ°Áö ¾Ê´Â´Ù. ÀÌ°ÍÀ» À§Çؼ­ NAT¶ó´Â ÇϺα¸Á¶°¡ ÀÖ´Ù. ÀÌ°ÍÀº ipnatctl ÇÏ¿ìµÎ¸¦ Àо¾Æ¶ó.
  • ±× ¿ÜÀÇ °ÍµéÀº Àؾî¸Ô¾ú´Ù.

¸®´ª½º 2.4 ÆÐŶ ÇÊÅ͸µ ÇÏ¿ìÅõ

¸®´ª½º 2.4 ÆÐŶ ÇÊÅ͸µ ÇÏ¿ìÅõ

Rusty Russell, mailing list netfilter@lists.samba.org

v1.0 Tue Mar 21 23:29:42 EST 2000
ÀÌ ¹®¼­´Â 2.4 ¸®´ª½º Ä¿³Î¿¡¼­ À߸øµÈ ÆÐŶÀ» ÇÊÅ͸µÇϱâ À§ÇÏ¿© ¾î¶»°Ô iptables À» ÀÌ¿ëÇϴ°¡¸¦ ±â¼úÇÑ´Ù.

1. ¼Ò°³

¿©·¯ºÐ ȯ¿µÇÕ´Ï´Ù.

ÀÌ ¹®¼­´Â ¿©·¯ºÐÀÌ IP address, network address, netmask, routing, DNS °¡ ¹«¾úÀÎÁö ¾Ë°í ÀÖ´Ù°í °¡Á¤ÇÕ´Ï´Ù. ±×·¸Áö ¾Ê´Ù¸é '³×Æ®¿öÅ© °³³ä ÇÏ¿ìÅõ' ¸¦ Àб⸦ ±ÇÀ¯ÇÕ´Ï´Ù.

ÀÌ ÇÏ¿ìÅõ´Â »ó³ÉÇÑ ¼Ò°³(ÀÌ°Ô ¿©·¯ºÐÀ» ¿­¹Þ°Ô ÇÏ°í Áö±ÝÀº È帮¸ÛÅÖÇÏ°í ±×·¯³ª ¹«¹æºñÀÎ)¿Í °¡°øµÇÁö¾ÊÀº ¿ÏÀü ³ëÃâ(which would leave all but the hardiest souls confused, paranoid and seeking heavy weaponry)»çÀ̸¦ ³Ñ ³ªµé °ÍÀÌ´Ù.

¿©·¯ºÐÀÇ ³×Æ®¿öÅ©´Â ¾ÈÀüÇÏÁö ¾Ê´Ù. ºü¸£°í, Æí¾ÈÇϸ鼭 ±× »ç¿ëÀÌ ÁÁÀº ÂÊÀ¸·Î¸¸ Çϵµ·ÏÇÏ°í ¾ÇÇÑ ½Ãµµ¸¦ Çã¶ôÇÏÁö ¾Êµµ·Ï ÇÏ·Á´Â °ÍÀº º¹ÀâÇÑ ¿µ È­°ü¿¡¼­ ÀÚÀ¯·Î¿î ´ëÈ­´Â Çã¶ôÇϸ鼭 "ºÒÀ̾ß"ÇÏ°í ¿ÜÄ¡´Â °ÍÀº ºÒÇãÇÏ´Â °Íó·³ °ÅÀÇ ÇØ°áºÒ´ÉÀÇ ¹®Á¦¿Í °°´Ù. ÀÌ°Í¿¡´ëÇÑ ÇØ´äÀº ÀÌ ÇÏ¿ìÅõ¿¡¼­ ±¸ÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù.

¿©·¯ºÐÀÌ ÇÒ ¼öÀÖ´Â °ÍÀº ±× ÀýÃæÁ¡À» °áÁ¤ÇÏ´Â ÀÏÀÌ´Ù. ³ª´Â ÀÌ·¯ÇÑ ¸ñÀû À¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ¸î¸î µµ±¸¿Í °æ°èÇÏ¿©¾ßÇÒ ¾àÁ¡¿¡ ´ëÇÏ¿© ¿©·¯ºÐÀÌ ÁÁÀº ¸ñÀûÀ¸·Î »ç¿ëÇÏ°í ¾ÇÀÇÀÖ´Â ¸ñÀûÀ¸·Î »ç¿ëÇÏÁö ¾Ê±â¸¦ ¹Ù¶ó¸ç, ¾Ë·Á ÁÖ·Á°í ÇÑ´Ù. ¶Ç´Ù¸¥ ¾î·Á¿î ¹®Á¦ÀÌ´Ù.

2. À¥»çÀÌÆ®¿Í ¸®½ºÆ®°¡ ¾îµð¿¡ ÀÖ³ª ?

¼¼°³ÀÇ À¥»çÀÌÆ®°¡ ÀÖ´Ù.

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¶ó´Â ÅøÀº Ä¿³Î¿¡°Ô ¾î¶² ÆÐŶÀ» ÇÊÅÍÇÒ °ÍÀÎÁö¸¦ ¾Ë·ÁÁØ´Ù. ¿©·¯ºÐÀÌ ÇÁ ·Î±×·¡¸Ó³ª º¯Å°¡ ¾Æ´Ï¶ó¸é, ÀÌ°ÍÀÌ ÆÐŶ ÇÊÅ͸µÀ» Á¦¾îÇÏ´Â ¼ö´ÜÀÌ´Ù.

iptables

iptables ´Â Ä¿³ÎÀÇ ÆÐŶ ÇÊÅ͸µ Å×ÀÌºí¿¡ ÇÊÅ͸µ ±ÔÄ¢À» »ðÀÔÇϰųª »èÁ¦ÇÏ´Â µµ±¸ ÀÌ´Ù. ÀÌ°ÍÀº ¿©·¯ºÐÀÌ ¹«¾úÀ» ¼³Á¤ÇßµçÁö, ÀçºÎÆýÿ¡´Â ¼Ò½ÇµÈ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ´ÙÀ½¹ø ¸®´ª½º°¡ ´Ù½Ã ºÎÆõǾúÀ»¶§ ¼³Á¤ ³»¿ëµéÀÌ À缳ġ µÇ±â¸¦ ¹Ù¶õ´Ù¸é ±ÔÄ¢µéÀ» ¿µ¼Ó½ÃÅ°±â¸¦ º¸¾Æ¶ó

iptables´Â ipfwadm°ú ipchains¸¦ ´ëÄ¡ÇÑ´Ù. ¼Õ½Ç¾øÀÌ iptables ÀÇ »ç¿ëÀ» ÇÇÇÏ°í ½Í ´Ù¸é ipchains¿Í ipfwadm »ç¿ëÇϱ⸦ º¸¾Æ¶ó.

±ÔÄ¢µéÀ» ¿µ¼Ó½ÃÅ°±â

¿©·¯ºÐÀÇ ÆÄÀ̾î¿ù ¼³Á¤Àº Ä¿³Î¿¡ ÀúÀåµÇ¹Ç·Î ÀçºÎÆýÿ¡ ¼Õ½ÇµÈ´Ù. iptables-save ¿Í iptables-restoreÀ» ±¸ÇöÇÏ´Â °ÍÀº ³ªÀÇ TODO ¸®½ºÆ®¿¡ ÀÖ´Ù. À̰͵éÀÌ ³ª¿À°Ô µÇ¸é Á¤¸» ÁÁÀ» °ÍÀÌ´Ù. ¾à¼ÓÇÑ´Ù.

±×µ¿¾ÈÀº ¿©·¯ºÐÀÇ ±ÔÄ¢À» ¼³Á¤ÇÏ´Â ¸í·ÉµéÀ» ÃʱâÈ­ ½ºÅ©¸³Æ®¿¡ ±â·ÏÇØ¾ß ÇÑ´Ù. ¸í ·ÉµéÁß Çϳª°¡ ½ÇÆÐÇÏ¿´À»¶§¸¦ ´ëºñÇÏ¿© ¹º°¡ À̼ºÀûÀΰÍÀ» Çصξî¾ß ÇÑ´Ù. (º¸Åë 'exec /sbin/sulogin'À» »ç¿ëÇÑ´Ù.)

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 ¿¡ Àͼ÷ÇÏ´Ù¸é <@@ref>Appendix-Aipchains¿Í 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 ¸ðµâ¿¡ 'forward=1' ¿É¼ÇÀ» ¼±ÅÃÇÏ¿© ÀÌ°ÍÀ» °íÄ¥ ¼ö ÀÖ´Ù.)

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'¸¦ ÀÌ¿ëÇÏ¿´´Ù. ±× ¿Ü¿¡µµ ÆÐŶÀÇ Æ¯Â¡À» ÁöÁ¤Çϴµ¥ »ç¿ëµÇ ´Â ´Ù¸¥ ¿É¼ÇµéÀÌ ÀÖ´Ù. ¾Æ·¡´Â À̰͵鿡 ´ëÇÑ ¿Ïº®ÇÑ °³¿äÀÌ´Ù.

Ãâó¿Í ¸ñÀûÁö ÁöÁ¤

Ãâó('-s', '--source', '--src')¿Í ¸ñÀûÁö('-d', '--destination', '--dst') IP ÁÖ¼Ò¸¦ ÁöÁ¤Çϴµ¥ 4°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù. °¡Àå º¸ÆíÀûÀÎ ¹æ¹ýÀº 'www.linuxhq.com', 'localhost' ó·³ À̸§À» ÀÌ¿ëÇÏ´Â °ÍÀÌ´Ù. µÎ¹ø° ¹æ¹ýÀº '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' ³ª '/255.255.255.255' °¡ ±âº»°ªÀÌ´Ù.(IP ÁÖ¼ÒÀÇ ¸ðµçºÎºÐÀÌ ÀÏÄ¡ÇØ¾ß ÇÑ´Ù.) ¸ðµç IP ÁÖ¼Ò¸¦ ÁöÁ¤Çϴµ¥ '/0' °¡ »ç¿ëµÈ´Ù.

               # iptables -A INPUT -s 0/0 -j DROP
               #

ÀÌ°ÍÀº '-s' ¿É¼ÇÀ» ÀÌ¿ëÇÏÁö ¾ÊÀº°Í°ú °°Àº È¿°ú¸¦ ³ªÅ¸³»¹Ç·Î Àß »ç¿ëµÇÁö ¾Ê´Â´Ù.

'¿ª'ÀÇ °æ¿ì ÁöÁ¤

¸¹Àº Áö½ÃÀÚµé('-s'³ª '-d' °°Àº)Àº ÀÏÄ¡ÇÏÁö ¾Ê´Â ÁÖ¼Ò¸¦ ³ªÅ¸³»±â À§ÇÏ¿© '!'('not'À» ÀǹÌÇÑ´Ù)·Î ½ÃÀÛÇÏ´Â ¼³Á¤À» ÇÒ ¼ö ÀÖ´Ù. ¿¹·Î, '-s ! localhost' ´Â localhost·ÎºÎÅÍ¿À´Â ÆÐŶÀÌ ¾Æ´Ñ°æ¿ì¸¦ ³ªÅ¸³½´Ù.

ÇÁ·ÎÅäÄÝ ÁöÁ¤

ÇÁ·ÎÅäÄÝÀº '-p' Áö½ÃÀÚ·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ÇÁ·ÎÅäÄÝÀ» ¼ýÀÚ°¡ µÉ¼ö ÀÖ°í (IPÀÇ ÇÁ·ÎÅäÄÝ ¹øÈ£¸¦ ¾Ë°í ÀÖ´Ù¸é) 'TCP', 'UDP', 'ICMP' °°Àº À̸§ÀÌ µÉ ¼öµµ ÀÖ´Ù. ±×¸®°í 'tcp'´Â 'TCP'¿Í °°Àº ¿ªÇÒÀ» ÇÑ´Ù.

ÇÁ·ÎÅäÄÝ À̸§ ÁöÁ¤¿¡µµ '!'À» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. '-p ! TCP'

ÀÎÅÍÆäÀ̼­ ÁöÁ¤

'-i'('--in-interface')¿Í '-o'('--out-interface')°¡ ÀÎÅÍÆäÀ̼­¸¦ ÀúÁ¤ Çϴµ¥ »ç¿ëµÈ´Ù. ÀÎÅÍÆäÀ̼­´Â ÆÐŶÀÌ µé¾î¿À°í ³ª°¡´Â ¹°¸®ÀûÀÎ µµ±¸ÀÌ´Ù. ifconfig ¸í·ÉÀ» »ç¿ëÇÏ¿© ÇöÀç È°¼ºÈ­ µÇ¾îÀÖ´Â ÀÎÅÍÆäÀ̼­¸¦ ¾Ë¾Æº¼¼ö ÀÖ´Ù.

ÀԷ üÀÎÀ» Áö³ª´Â ÆÐŶÀº Ãâ·Â ÀÎÅÍÆäÀ̼­¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ¸¹Ç·Î '-o' ¼³Á¤¿¡ ÀÏÄ¡ÇÏ´Â ÆÐŶÀÌ ¾øÀ» °ÍÀÌ°í Ãâ·Â üÀÎÀ» Áö³ª´Â ÆÐŶÀº ÀÔ·Â ÀÎÅÍ ÆäÀ̼­¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ¸¹Ç·Î '-i' ¼³Á¤¿¡ ÀÏÄ¡ÇÏ´Â ÆÐŶÀÌ ¾øÀ» °ÍÀÌ´Ù.

Æ÷¿öµù üÀÎÀ» Áö³ª´Â ÆÐŶ¸¸ÀÌ ÀԷ°ú Ãâ·Â ÀÎÅÍÆäÀ̼­¸¦ ¸ðµÎ °¡Áú°ÍÀÌ´Ù.

ÇöÀç Á¸ÀçÇÏÁö ¾Ê´Â ÀÎÅÍÆäÀ̼­¸¦ ÁöÁ¤ÇÏ´Â °Íµµ ¾Æ¹«·± ¹®Á¦¾øÀÌ µÉ ¼ö ÀÖ ´Ù. ÀÌ°ÍÀº ÀÎÅÍÆäÀ̼­°¡ È°¼ºÈ­ µÇ±â Àü±îÁö´Â ±ÔÄ¢¿¡ ÀÏÄ¡ÇÏ´Â ÆÐŶÀÌ ÀÖÀ»¼ö ¾øÀ» °ÍÀÌ´Ù. ÀÌ°ÍÀº dial-up PPP¸¦ »ç¿ëÇÏ´Â °æ¿ì ƯÈ÷ À¯¿ëÇÏ´Ù.

Ưº°ÇÑ °æ¿ì·Î, ÀÎÅÍÆäÀ̼­ À̸§ÀÌ '+'·Î ³¡³¯¼ö Àִµ¥ ÀÌ°ÍÀº ±× À̸§À¸·Î ½ÃÀÛÇÏ´Â ¸ðµç ÀÎÅÍÆäÀ̼­¸¦ ¸ðµÎ ÁöÁ¤ÇÑ´Ù(±×°ÍÀÌ ÇöÀç Á¸ÀçÇϵç Á¸ÀçÇÏÁö ¾Êµç). ¿¹¸¦µé¾î, ¸ðµç PPP ÀÎÅÍÆäÀ̼­¿Í ÀÏÄ¡ÇÏ´Â ±ÔÄ¢À» ÁöÁ¤ÇÏ·Á¸é -i ppp+¿Í°°ÀÌ ÇÏ¸é µÈ´Ù.

ÀÎÅÍÆäÀ̼­ À̸§¾Õ¿¡ '!'µµ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.

ºÐÀý (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
#

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'³ª '--help' ´ÙÀ½¿¡ ÁöÁ¤ÇÏ¸é µÈ´Ù.

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

'!' ¿É¼ÇÀÌ ¼±ÇàµÉ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº '--tcp-flags SYN,RST,ACK,SYN'ÀÇ ¾à¾îÀÌ´Ù.

--source-port

'!' ¿É¼ÇÀÌ ¼±ÇàµÉ ¼ö ÀÖ´Ù. ÀÌÈÄ¿¡ ÇϳªÀÇ TCP Æ÷Æ®³ª Æ÷Æ®ÀÇ ¹üÀ§¸¦ ÁöÁ¤ÇÑ´Ù. /etc/services ¿¡ ±â·ÏµÈ °Í°ú °°Àº Æ÷Æ® À̸§ÀÌ »ç¿ëµÉ ¼ö µµ ÀÖ°í ¼ýÀÚ·Î ³ªÅ¸³¾ ¼öµµ ÀÖ´Ù. ¹üÀ§´Â µÎ°³¸£ Æ÷Æ® À̸§À» '-' À¸ ·Î ¿¬°áÇؼ­ »ç¿ëÇϰųª (Ä¿°Å³ª °°Àº°æ¿ì¸¦ À§Çؼ­) ÇϳªÀÇ Æ÷Æ® µÚ¿¡ '-'¸¦ »ç¿ëÇϰųª (À۰ųª °°Àº °æ¿ì¸¦ À§Çؼ­) ÇϳªÀÇ Æ÷Æ® ¾Õ¿¡ '-' ¸¦ µ¡ºÙÀÏ ¼ö ÀÖ´Ù.

--sport

ÀÌ°ÍÀº '--source-port'¿Í µ¿ÀǾîÀÌ´Ù.

--destination-port

¿Í

--dport

´Â À§ÀÇ ³»¿ë°ú °°À¸³ª ¸ñÀû Áö¸¦ ÁöÁ¤ÇÑ´Ù.

--tcp-option

'!' ³ª ¼ýÀÚ°¡ ¿É¼Ç¿¡ ¼±ÇàµÉ ¼ö Àִµ¥ ¼ýÀÚ°¡ ¾Õ¿¡ ¿Ã°æ¿ì ±× ¼ýÀÚ ¿Í TCP ¿É¼ÇÀÌ °°Àº °æ¿ìÀÇ ÆÐŶÀ» °Ë»çÇÑ´Ù. TCP ¿É¼ÇÀ» °Ë»çÇÏ·Á ÇÒ ¶§ ¿ÏÀüÇÑ TCP Çì´õ¸¦ °®Áö¾Ê´Â °ÍÀº ÀÚµ¿À¸·Î DROP µÈ´Ù.

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

Á¢¼ÓÀ» ½ÃÀÛÇÑ °Í ¿ÜÀÇ ¸ðµç ÆÐŶÀ» ÁöÁ¤Çϱâ À§ÇÏ¿© '!' ¿É¼ÇÀÌ ¼±ÇàµÉ ¼ö ÀÖ´Ù.

UDP È®Àå

ÀÌ È®ÀåÀº '--protocol udp'°¡ ÁöÁ¤µÇ°í Àû¿ëÀÌ ÀúÁ¤µÇÁö ¾ÊÀ¸¸é ÀÚµ¿À¸·Î ÀûÀçµÈ´Ù. ÀÌ°ÍÀº '--source-port', '--sport', '--destination-port', '-dport'¸¦ Áö¿øÇÏ°í ³»¿ëÀº TCP ¼³¸í¿¡¼­ ÀÚ¼¼È÷ ³ª¿Ô´Ù.

ICMP È®Àå

ÀÌ È®ÀåÀº '--protocol icmp'°¡ ÁöÁ¤µÇ°í ±× Àû¿ëÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ÀÚµ¿À¸·Î ÀûÀçµÈ´Ù. ÀÌ°ÍÀº ´Ü ÇϳªÀÇ »õ·Î¿î ¿É¼Ç¸¸ Áö¿øÇÑ´Ù.:

--icmp-type

'!' ¿É¼ÇÀÌ ¼±ÇàµÉ ¼ö ÀÖ´Ù. ÀÌÈÄ¿¡ ICMP ŸÀÔÀÇ À̸§('host-unreachable') À̳ª ¼ýÀÚÇüÅ ('3'), ¶Ç´Â ¼ýÀÚÇüÅÂ¿Í ÄÚµå('/'·Î ºÐ¸® ¿¹. '3/3') ÀÇ Çü Å°¡ »ç¿ëµÈ´Ù. »ç¿ëÇÒ ¼ö ÀÖ´Â ICMP ÇüÅÂÀÇ À̸§ÀÇ ¸®½ºÆ®´Â '-p icmp --help' ÇÏ¸é ³ªÅ¸³­´Ù.

±×¿ÜÀÇ Àû¿ë È®Àå

Netfilter ÆÐÅ°ÁöÀÇ ´Ù¸¥ È®ÀåÀº ½ÃÇèÀûÀÎ È®ÀåÀÌ´Ù. ÀÌ°ÍÀº (¼³Ä¡ µÇ¾îÀÖ´Ù¸é) '-m' ¿É¼ÇÀ¸·Î È°¼ºÈ­ µÈ´Ù.

mac

ÀÌ ¸ðµâÀº '-m mac' ¶Ç´Â '--match mac' À̶ó°í ÇÔÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº µé¾î¿À´Â ÆÐŶÀÇ ÀÌ´õ³Ý ÁÖ¼Ò¸¦ °Ë»çÇÑ´Ù. ±×·¯¹Ç·Î ÀԷ üÀο¡ ¼­¸¸ À¯¿ëÇÏ´Ù. ÀÌ°ÍÀº ÇϳªÀÇ ¿É¼Ç¸¸ Á¦°øÇÑ´Ù.

--mac-source

'!' ¿É¼ÇÀÌ ¼±Çà µÉ ¼ö ÀÖ´Ù. ÀÌÈÄ¿¡ ÄÝ·ÐÀ¸·Î ºÐ¸®µÈ 16Áø¼ö ¼ýÀÚÀÇ ÀÌ´õ³Ý ÁÖ¼Ò°¡ ¿Â´Ù. ¿¹ '--mac-source 00:60:08:91:CC:B7'

limit

ÀÌ ¸ðµâÀº '-m limit' ¶Ç´Â '--match limit'À̶ó°í ÇÔÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ ´Ù. ÀÌ°ÍÀº ·Î±× ¸Þ¼¼Áö¸¦ ¾ïÁ¦ÇÒ¶§ ó·³ Àû¿ë°Ë»çÀÇ ¼Óµµ¸¦ Á¦ÇÑÇϴµ¥ »ç¿ëÇÑ´Ù. 1ÃÊ¿¡ ÁÖ¾îÁø ¼ýÀÚ¸¸Å­ÀÇ Àû¿ë¸¸ °Ë»çÇÑ´Ù. (±âº»°ªÀº ÇÑ ½Ã°£ ¿¡ 3¹ø, ÃÖ°í 5¹øÀÌ´Ù.) ÀÌ°ÍÀº µÎ°³ÀÇ ¿É¼ÇÀ» Á¦°øÇÑ´Ù.

--limit

¼ýÀÚ°¡ µû¶ó¿Â´Ù : ÃÊ´ç Æò±Õ ÃÖ´ë Àû¿ë °Ë»ç ¼ö¸¦ ÁöÁ¤ÇÑ´Ù. ¼ýÀÚµÚ ¿¡ ½Ã°£´ÜÀ§¸¦ Áö¾îÇÒ ¼ö µµ ÀÖ´Ù. ('/second', '/minute', '/hour', '/day'ÇüÅÂÀÌ´Ù. ¿¹·Î, '5/second' ¶Ç´Â '5/s'°¡ °¡´ÉÇÏ´Ù)

--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'À¸·Î ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ÀÌ°ÍÀº ¹«ÀÛÀ§ÀÇ ¿©·¯ °ÇÀü¼º °Ë»ç¸¦ ÇÑ´Ù. ÀÌ°ÍÀº Á¦´ë·Î °Ë»çµÇÁö ¾Ê¾Ò°í ¾ÈÀü¼º µµ±¸·Îµµ »ç¿ëµÇÁö ¸øÇÑ´Ù.(¾Æ¸¶µµ ÀÌ°Í Àº ¹«Á¦¸¦ ´õ¿í Èûµé°Ô ÇÏ°í ¹ö±× ±× ÀÚüÀÏ °ÍÀÌ´Ù.) ÀÌ°ÍÀº ¿É¼ÇÀÌ ¾ø´Ù.

»óÅÂ Àû¿ë

°¡Àå À¯¿ëÇÑ Àû¿ë ±âÁØÀº 'ip_conntrack' ¸ðµâÀÇ Á¢¼Ó ÃßÀû ºÐ¼®À» Çؼ®ÇÏ´Â 'state' È®ÀåÀÌ´Ù. ÀÌ°ÍÀ» °­·ÂÈ÷ ÃßõÇÑ´Ù.

'-m state'¸¦ ÁöÁ¤ÇÔÀ¸·Î '--state' ¿É¼ÇÀ» »ç¿ëÇÒ ¼ö Àִµ¥ ÀÌÈÄ¿¡ ÄÞ¸¶·Î ºÐ¸®µÇ´Â Àû¿ëÇÒ »óŵéÀÇ ¸®½ºÆ®°¡ ¿Â´Ù.('!' Áö½ÃÀÚ´Â »ç¿ëµÇ¾îÁöÁö ¾Ê´Â ´Ù.) ÀÌ »óŵéÀº ;

NEW

»õ·Î¿î Á¢¼ÓÀ» ¸¸µå´Â ÆÐŶ

ESTABLISHED

Á¸ÀçÇÏ´Â Á¢¼Ó¿¡ ¼ÓÇÏ´Â ÆÐŶ (Áï, ÀÀ´ä ÆÐŶÀ» °¡Á³´ø °Í)

RELATED

±âÁ¸ÀÇ Á¢¼ÓÀÇ ºÎºÐÀº ¾Æ´ÏÁö¸¸ ¿¬°ü¼ºÀ» °¡Áø ÆÐŶÀ¸·Î . ICMP ¿¡·¯ ³ª (FTP ¸ðµâÀÌ »ðÀÔ µÇ¾îÀÖÀ¸¸é) ftp µ¥ÀÌÅÍ Á¢¼ÓÀ» Çü¼ºÇÏ´Â ÆÐŶ.

INVALID

¾î¶² ÀÌÀ¯·Î È®ÀÎÇÒ ¼ö ¾ø´Â ÆÐŶ: ¾Ë·ÁÁø Á¢¼Ó°ú ºÎÇÕÇÏÁö ¾Ê´Â ICMP ¿¡·¯¿Í 'out of memory' µîÀ» Æ÷ÇÔÇÑ´Ù. º¸Åë ÀÌ·± ÆÐŶÀº DROP µÈ´Ù.

7.4 Ÿ°Ù ÁöÁ¤

ÀÌÁ¦ ÆÐŶ¿¡¼­ ¾î¶² °Ë»ç¸¦ ÇÒ ¼ö ÀÖ´ÂÁö¸¦ ¾Ë¾Ò´Ù. ÀÌÁ¦ ¿ì¸®ÀÇ °Ë»ç¿¡ ÀÏÄ¡ ÇÏ´Â ÆÐŶÀ» ¾î¶»°Ô ÇÒ °ÍÀÎÁö¸¦ ¸»ÇÏ´Â °ÍÀ» ¾Ë¾Æ¾ß ÇÑ´Ù. ÀÌ°ÍÀ» ±ÔÄ¢ Ÿ°Ù À̶ó°í ÇÑ´Ù.

µÎ°³ÀÇ ÀÌ¹Ì ¸¸µé¾îÁø ´Ü¼øÇÑ Å¸°ÙÀÌ ÀÖ´Ù. : DROP °ú ACCEPT. ÀÌ¹Ì ÀÌ°Í¿¡ ´ëÇؼ­´Â À̾߱⸦ ÇÑ ÀûÀÌ ÀÖ´Ù. Àû¿ëÀÌ µÇ´Â ÆÐŶ°ú ±×°ÍÀÇ Å¸°ÙÀÌ À§ÀÇ µÎ °³Áß Çϳª¶ó¸é ´õÀÌ»óÀÇ Âü°íÇÒ ±ÔÄ¢Àº ¾ø´Ù. : ÆÐŶÀÇ ¿î¸íÀº °áÁ¤ µÇ´Â °Í ÀÌ´Ù.

ÀÌ¹Ì ¸¸µé¾îÁø µÎ°³ÀÇ Å¸°Ù¿Ü¿¡ µÎ°¡Áö ÇüÅÂÀÇ Å¸°ÙÀÌ ÀÖ´Ù.: È®Àå°ú »ç¿ëÀÚ ÁöÁ¤ÀÇ Ã¼Àεé ÀÌ´Ù.

»ç¿ëÀÚ ÁöÁ¤ÀÇ Ã¼Àεé

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 µÈ´Ù.)

iptables·ÎÀÇ È®Àå : »õ·Î¿î Ÿ°Ù

Ÿ°ÙÀÇ ´Ù¸¥ ÇüÅ´ ȮÀåÀÌ´Ù. Ÿ°Ù È®ÀåÀº Ä¿³Î ¸ðµâ·Î ±¸¼ºµÈ´Ù. ±×¸®°í iptables ¿¡ ´ëÇÑ ¼±ÅÃÀû È®ÀåÀº »õ·Î¿î ¸í·ÉÇàÀÇ ¿É¼ÇÀ» Á¦°øÇÑ´Ù. ±âº»ÀûÀ¸·Î ³ÝÇÊÅÍ ¹èÆ÷¿¡ Æ÷ÇÔµÈ ¸î¸îÀÇ È®ÀåÀº ´ÙÀ½°ú °°´Ù.

LOG

ÀÏÄ¡ÇÏ´Â ÆÐŶÀÇ Ä¿³Î ·Î±×¸¦ Á¦°øÇÑ´Ù. ÀÌ°ÍÀº ºÎ°¡ÀÇ ¿É¼ÇÀ» Á¦°øÇÑ´Ù.

--log-level

·¹º§ ¼ýÀÚ³ª À̸§ÀÌ µû¶ó¿Â´Ù. À¯È¿ÇÑ À̸§Àº (»óȲ¿¡ µû¶ó ´Ù¸£´Ù) 'debug' 'info', 'notice', 'warning', 'err', 'crit', 'alert', 'emerg' ÀÌ°í ÀÌ°Í Àº °¢°¢ ¼ýÀÚ 7 ¿¡¼­ 0 ¿¡ ´ëÀÀÇÑ´Ù. ÀÌ·± ·¹º§¿¡ ´ëÇÑ ¼³¸íÀº syslog.conf ÀÇ man ÆäÀÌÁö¸¦ º¸¶ó.

--log-prefix

14ÀÚ ±îÁöÀÇ ¹®ÀåÀÌ µû¶ó¿Â´Ù. ÀÌ ¸Þ¼¼Áö´Â ·Î±× ¸Þ¼¼ÁöÀÇ ½ÃÀۺκÐÀ¸·Î º¸³»Á®¼­ È®Àο¡ »ç¿ëµÉ ¼ö ÀÖ´Ù.

ÀÌ ¸ðµâÀº 'limit' Ÿ°Ù ´ÙÀ½¿¡ »ç¿ëÇÏ¸é °¡Àå È¿°úÀûÀÌ´Ù. ±×·¡¼­ ·Î±×°¡ ³Ñ Áö³ªÁö ¾Êµµ·Ï ÇÒ ¼ö ÀÖ´Ù.

REJECT

ÀÌ ¸ðµâÀº 'DROP'°ú °°Àº È¿°ú¸¦ ³ªÅ¸³½´Ù. ´Ù¸¸, 'port unreachable' À̶ó´Â ¿¡·¯ ¸Þ¼¼Áö¸¦ ICMP ·Î º¸³½´Ù. ÁÖÀÇÇÒ °ÍÀº ICMP ¿¡·¯ ¸Þ¼¼Áö´Â ´ÙÀ½ÀÇ °æ¿ì º¸³» ÁöÁö ¾Ê´Â´Ù ( RFC 1122 ¸¦ º¸¶ó) :

  • °Ë»çµÈ ÆÐŶÀÌ ICMP ¿¡·¯¸Þ¼¼ÁöÀ̰ųª³ª ¾Ë¼ö ¾ø´Â ICMP ÇüÅÂÀÎ °æ¿ì
  • °Ë»çµÈ ÆÐŶÀÌ Çì´õ°¡ ¾ø´Â ºÐÀýÀÎ °æ¿ì
  • ³Ê¹« ¸¹Àº ICMP ¿¡·¯ ¸Þ¼¼Áö¸¦ ±× ¸ñÀûÁö·Î º¸³½ °æ¿ì.

REJECT ´Â '--reject-with'¶ó´Â ¿É¼ÇÀ» °¡Áö´Âµ¥ ÀÌ°ÍÀº »ç¿ëÇÒ ÀÀ´ä ÆÐŶÀ» º¯°æÇÑ´Ù. ÀÚ¼¼ÇÑ °ÍÀº ¸Þ´º¾ó ÆäÀÌÁö¸¦ º¸¶ó.

Ưº°ÇÑ ¹Ì¸® ¸¸µé¾îÁø Ÿ°Ù

µÎ°³ÀÇ ¹Ì¸® ¸¸µé¾îÁø Ÿ°ÙÀÌ ÀÖ´Ù : RETURN, QUEUE

RETURNÀº ÇÑ Ã¼ÀÎÀÇ ³¡À¸·Î º¸³»Áö´Â °Í°ú °°Àº È¿°ú°¡ ÀÖ´Ù. : ¹Ì¸® ¸¸µé¾îÁø ü ÀÎÀÇ °æ¿ì ±× üÀÎÀÇ Á¤Ã¥Àº ½ÇÇàÀÌ´Ù. »ç¿ëÀÚ Á¤ÀÇ Ã¼ÀÎÀÇ °æ¿ì ÀÌ Ã¼ÀÎÀ¸·Î Á¡ÇÁ ÇÏ´Â ±ÔÄ¢ÀÇ ¹Ù·Î ´ÙÀ½ÀÎ ÀÌÀü üÀÎÀ¸·Î À̵¿ÇÑ´Ù.

QUEUEÀº Ưº°ÇÑ Å¸°ÙÀ¸·Î, »ç¿ëÀÚ°ø°£ÀÇ ÀÛ¾÷À» À§ÇØ ÆÐŶÀ» ´ë±âÇϵµ·Ï ÇÑ´Ù. ÆÐŶ À» À§Çؼ­ ´ë±âÇÏ°íÀÖ´Â °ÍÀÌ ¾ø´Ù¸é(Áï, ÀÌ ÆÐŶÀ» ´Ù·ê ÇÁ·Î±×·¥ÀÌ ¾ÆÁ÷ ¾º¾îÁ® ÀÖÁö ¾Ê´Ù¸é) ÆÐŶÀº DROP µÉ °ÍÀÌ´Ù.

7.5 Àüü üÀο¡ ´ëÇÑ ÀÛ¿ë.

iptablesÀÇ À¯¿ëÇÑ ±â´ÉÁÖ Çϳª´Â ¿©·¯ °ü°è°¡ ÀÖ´Â ±ÔÄ¢À» ÇϳªÀÇ Ã¼ÀμÓÀ¸·Î ±×·ìÈ­ ÇÏ´Â °ÍÀÌ´Ù. üÀÎÀÇ À̸§Àº ¾î¶² °ÍÀ» »ç¿ëÇÒ ¼öµµ ÀÖÀ¸³ª ¹Ì¸® ¸¸µé¾î Áø üÀΰúÀÇ È¥µ¿À» ¸·±â À§ÇÏ¿© ¼Ò¹®ÀÚ¸¦ »ç¿ëÇϱ⸦ ±ÇÇÑ´Ù. üÀÎÀÇ À̸§Àº 16 ÀÚ ±îÁö °¡´ÉÇÏ´Ù.

»õ¿À·é üÀÎ »ý¼º

»õ·Î¿î üÀÎÀ» ¸¸µé¾î º¸ÀÚ. ³ª´Â ¸Å¿ì »ó»ó·ÂÀÌ ÁÁÀº »ç¶÷À̹ǷΠÀÌ°ÍÀ» Å×½ºÆ® ¶ó°í ºÎ¸£±â·Î ÇÏ°Ú´Ù. '-N' ¶Ç´Â '--new-chain' ¿É¼ÇÀ» »ç¿ëÇÑ´Ù.

# iptables -N test
#

´Ü¼øÇÏ´Ù. ÀÌÁ¦ ÀÌ Ã¼Àο¡ »ó¼¼ÇÑ ±ÔÄ¢À» Àû¿ëÇÒ ¼ö ÀÖ´Ù.

üÀÎ Á¦°Å

üÀÎÀ» Á¦°ÅÇÏ´Â °Íµµ ´Ü¼øÇϤ§. '-X' ³ª '--delete-chain' À» »ç¿ëÇÑ´Ù.

# iptables -X test
#

üÀÎÀ» Á¦°Å Çϴµ¥´Â ¸î°¡Áö Á¦ÇÑÀÌ ÀÖ´Ù. ÀÌ°ÍÀº ºñ¾îÀÖ¾î¾ß ÇÑ´Ù. (¾Æ·¡ÀÇ Ã¼ÀÎ ºñ¿ì±â¸¦ º¸¶ó) ±×¸®°í ±×°ÍÀº ´Ù¸¥ ¾î¶² ±ÔÄ¢ÀÇ Å¸°Ùµµ ¾Æ´Ï¾î¾ß ÇÑ´Ù. ¹Ì¸® ¸¸µé¾îÁø ¼¼°³ÀÇ Ã¼ÀÎÀº Á¦°ÅÇÒ ¼ö ¾ø´Ù.

üÀÎÀÇ À̸§À» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¸ðµç »ç¿ëÀÚ Á¤ÀÇÀÇ Ã¼ÀÎÀº Á¦°ÅµÈ´Ù.

üÀÎ ºñ¿ì±â

ÇϳªÀÇ Ã¼ÀÎÀÇ ¸ðµç ±ÔÄ¢À» ºñ¿ì´Â °£´ÜÇÑ ¹æ¹ýÀÌ ÀÖÀ¸´Ï, '-F' ('--flush') ¸í·ÉÀÌ´Ù.

        # iptables -F forward
        #

üÀÎÀ» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¸ðµç üÀÎÀÇ ±ÔÄ¢ÀÌ Áö¿öÁø´Ù.

üÀÎ ±ÔÄ¢ ³ª¿­Çϱâ

ÇÑ Ã¼ÀÎÀÇ ¸ðµç ±ÔÄ¢Àº '-L' ¸í·ÉÀ¸·Î ³ª¿­ÇÒ ¼ö ÀÖ´Ù.

°¢ »ç¿ëÀÚ Á¤ÀÇÀÇ Ã¼ÀÎÀ» ³ª¿­Çß´ø 'refcnt' ´Â ±× üÀÎÀ» ±×µéÀÇ Å¸°ÙÀ¸·ÎÇÏ ´Â ±ÔÄ¢µéÀÇ ¹øÈ£ÀÌ´Ù. üÀÎÀÌ Á¦°ÅµÇ±â À§Çؼ­´Â ÀÌ°ÍÀÌ '0' À¸·Î µÇ¾î¾ß ÇÑ´Ù. (±×¸®°í ±× üÀÎÀº ºñ¾î¾ß ÇÑ´Ù)

üÀÎÀÇ À̸§ÀÌ »ý·«µÇ¸é ºñ¾îÀÖ´Â °ÍÀ» Æ÷ÇÔÇÑ ¸ðµç üÀÎÀÌ ³ª¿­µÈ´Ù.

'-L' ¸í·É¿¡ µû¸£´Â ¿É¼ÇÀº ¼¼°³°¡ ÀÖ´Ù. '-n' (numeric) ¿É¼ÇÀº iptables°¡ ¿©·¯ºÐÀÌ DNS ¿ä±¸¸¦ ÇÊÅ͸µ ¾Æ¿ôÇÑ °æ¿ì³ª DNS°¡ ÀûÀýÀÌ ¼³Á¤µÇ¾î ÀÖÁö ¾Ê´Ù¸é ¿À·£ ½Ã°£ÀÌ °É¸®´Â, IP ÁÖ¼Ò¸¦ ã´Â °ÍÀ» ¿¹¹æÇÏ´Â ¾ÆÁÖ À¯¿ëÇÑ ¿É¼ÇÀÌ´Ù. ÀÌ°Í Àº TCP¿Í UDP Æ÷Æ®°¡ À̸§ÀÌ ¾Æ´Ñ ¼ýÀÚ·Î Ãâ·ÂµÇµµ·Ï Çϱ⵵ ÇÑ´Ù.

'-v' ¿É¼ÇÀº ±ÔÄ¢ÀÇ ÀÚ¼¼ÇÑ Á¤º¸(ÆÐŶ°ú ¹ÙÀÌÆ® Ä«¿îÅÍ, TOS ºñ±³, ÀÎÅÍÆäÀ̼­¿Í °°Àº)¸¦ ³ªÅ¸³½´Ù.

ÆÐŶ°ú ¹ÙÀÌÆ® Ä«¿îÆ®´Â 'K'(1000), 'M'(1,000,000), 'G'(1,000,000,000) ¿Í °°Àº Á¢¹Ì¾î¿Í ÇÔ²² ³ªÅ¸³­´Ù. '-x' (È®Àå ¼ö) Áö½ÃÀÚ¸¦ »ç¿ëÇÏ¸é ¾ó¸¶³ª Å« ¼ýÀÚµç Àü ü ¼ýÀÚ°¡ ³ªÅ¸³­´Ù.

Ä«¿îÆ® ¸®¼ÂÆ® ('0'À¸·Î ¸¸µé±â)

ÀÌ°ÍÀº Ä«¿îÆ®¸¦ ¸®¼ÂÇϴµ¥ À¯¿ëÇÏ´Ù. ÀÌ°ÍÀº '-Z' ('--zero') ¿É¼ÇÀ¸·Î °¡´ÉÇÏ´Ù.

ÀÌ°ÍÀÇ ¹®Á¦Á¡Àº ¸®¼ÂÇϱâ Á÷ÀüÀÇ Ä«¿îÆ® °ªÀ» ¾ËÇÊ¿ä°¡ ÀÖÀ» ¶§°¡ °¡²û ÀÖ´Ù´Â °Í ÀÌ´Ù. ÀÌ·¯ÇÑ °æ¿ìÀÇ ¿¹·Î, ¾î¶² ÆÐŶÀÌ '-L' °ú '-Z' ¸í·É »çÀÌ¿¡ Áö³ª°¥ ¼ö ÀÖ´Ù. ÀÌ·±ÀÌÀ¯·Î Ä«¿îÆ®¸¦ Àд °Í°ú µ¿½Ã¿¡ ¸®¼ÂÇϱâÀ§Çؼ­ '-L' °ú '-Z' ¸í·ÉÀ» °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

Á¤Ã¥ ¼³Á¤

¿ì¸®°¡ ÀÌÀü üÀÎÀ» ÆÐŶÀÌ ¾î¶»°Ô Áö³ª°¡´Â°¡¸¦ ÀdzíÇÒ ¶§, ¹Ì¸® ¸¸µé¾îÁø üÀÎÀÇ ³¡¿¡ ÆÐŶÀÌ ´Ù´Ù·¶À»¶§ ¹«½¼ ÀÏÀÌ ÀϾ °ÍÀΰ¡¸¦ ¼³¸íÇÏ¿´´Ù. ÀÌ °æ¿ì üÀÎÀÇ Á¤Ã¥ÀÌ ±× ÆÐŶÀÇ ¿î¸íÀ» °áÁ¤ÇÑ´Ù. ¹Ì¸® ¸¸µé¾îÁø üÀÎ(ÀÔ·Â, Ãâ·Â, Æ÷¿öµå)¸¸ÀÌ Á¤Ã¥À» °¡Áö´Âµ¥, ÀÌ°ÍÀº »ç¿ëÀÚ Á¤ÀÇÀÇ Ã¼ÀÎÀÇ ³¡¿¡ ´Ù´Ù¸¥ ÆÐŶÀÇ À̵¿Àº ÀÌÀü üÀο¡¼­ ¿ä¾àµÇ¾îÁö±â ¶§¹®ÀÌ´Ù.

Á¤Ã¥Àº ACCEPT ¶Ç´Â DROP ÀÌ µÉ¼ö ÀÖ´Ù.

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ÀÇ Â÷ÀÌÁ¡

  • ù°·Î, ¹Ì¸® ¸¸µé¾îÁø üÀÎÀÇ À̸§µéÀÌ ¼Ò¹®ÀÚ¿¡¼­ ´ë¹®ÀÚ·Î ¹Ù²î¾ú´Âµ¥ ÀÌ°ÍÀº ÀԷ°ú Ãâ·Â üÀÎÀº ÀÌ°Ô Áö¿ª ³ÝÀ¸·Î ÇâÇÏ´Â ±×¸®°í Áö¿ª¿¡¼­ »ý¼ºµÈ ÆÐŶ¸¸À» Àû¿ëÇϱ⠶§¹®ÀÌ´Ù. ÀÌ°ÍÀº ¸ðµç µé¾î¿À´Â°Í°ú ³ª°¡´Â ÆÐŶÀ» ´Ù·é´Ù.
  • '-i' Áö½ÃÀÚ´Â µé¾î¿À´Â ÀÎÅÍÆäÀ̽º¸¸ ÀǹÌÇÏ°í ÀÔ·Â °ú Æ÷¿öµå üÀÎ ¿¡¼­¸¸ ÀÛµ¿ÇÑ´Ù. Æ÷¿öµå ³ª Ãâ·Â üÀο¡ »ç¿ëµÇ¾ú´ø '-i' ´Â '-o'·Î ¹Ù²ã¾ß ÇÑ´Ù.
  • ÀÌÁ¦ TCP ¿Í UDP Æ÷Æ®´Â --source-port ¶Ç´Â --spotr (¶Ç´Â --destination-port / --dport) ¿É¼Ç°ú ÇÔ²² »ç¿ëµÇ¾îÁ®¾ß ÇÒ ÇÊ¿ä°¡ ÀÖ°í '-p tcp' ¶Ç´Â '-p udp' ¿É¼Ç°ú ÇÔ²² »ç¿ëµÇ¾îÁ®¾ß ÇÑ´Ù. ±×·¯¸é ÀÌ°ÍÀº TCP ¶Ç´Â UDP È®ÀåÀ» °¢°¢ ÀûÀç ÇÒ °ÍÀÌ´Ù. (ipt_tcp ¿Í ipt_udp ¸ðµâÀ» ¼öµ¿À¸·Î ÀûÁ¦ ÇϱâÀ§Çؼ­ Æ÷ÇÔ ½Ãų ¼öµµ ÀÖ´Ù.)
  • TCP -y Áö½ÃÀÚ´Â --synÀ¸·Î ¹Ù²î¾ú°í `-p tcp'´ÙÀ½¿¡ ¿Í¾ß ÇÑ´Ù.
  • DENY target ´Â DROP À¸·Î ¹Ù²î¾ú´Ù.
  • Zeroing single chains while listing them works.
  • ¸¸µé¾îÁø üÀÎÀ» '0'À¸·ÎÇϸé Á¤Ã¥ Ä«¿îÅ͵µ Áö¿öÁø´Ù.
  • üÀÎÀ» ³ª¿­ÇÏ´Â °ÍÀº Ä«¿îÆ®ÀÇ ½º³Ü¼¦À» Á¦°øÇÑ´Ù.
  • REJECT ¿Í LOG ´Â È®ÀåµÈ targetÀÌ´Ù. Áï, À̰͵éÀº µ¶¸³µÈ Ä¿³Î ¸ðµâÀÌ´Ù´Â ÀǹÌÀÌ´Ù.
  • üÀÎ À̸§Àº 16ÀÚ ±îÁö °¡´ÉÇÏ´Ù.
  • MASQ ¿Í REDIRECT ´Â ´õÀÌ»ó target ÀÌ ¾Æ´Ï´Ù. iptablesÀº ÆÐŶÀ» º¯È­ ½ÃÅ°Áö ¾Ê´Â´Ù. ÀÌ°ÍÀ» À§Çؼ­ NAT¶ó´Â ÇϺα¸Á¶°¡ ÀÖ´Ù. ÀÌ°ÍÀº ipnatctl ÇÏ¿ìµÎ¸¦ Àо¾Æ¶ó.
  • ±× ¿ÜÀÇ °ÍµéÀº Àؾî¸Ô¾ú´Ù.




sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2006-07-14 19:02:25
Processing time 0.0022 sec