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