· 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 ÇÏ¿ìµÎ¸¦ Àо¾Æ¶ó.
  • ±× ¿ÜÀÇ °ÍµéÀº Àؾî¸Ô¾ú´Ù.


ID
Password
Join
Try to divide your time evenly to keep others happy.


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.0049 sec