{{{#!vim sh #!/bin/sh #iptables ½ÇÇà ÆÄÀÏÀÇ °æ·Î¸¦ Á¤ÀÇÇÑ´Ù IPTABLES="/sbin/iptables" # ±âº» Á¤Ã¥À» Çã¿ë(ACCEPT)À¸·Î ¼³Á¤ÇÑ´Ù. $IPTABLES -P INPUT ACCEPT # ±âÁ¸¿¡ ¼³Á¤µÇ¾î ÀÖ´Â ·êÀ» ¸ðµÎ ÃʱâÈ­ÇÑ´Ù. $IPTABLES -F # Loopback Çã¿ë $IPTABLES -A INPUT -i lo -j ACCEPT $IPTABLES -A OUTPUT -o lo -j ACCEPT # ÀÌ¹Ì ¼¼¼ÇÀ» ¸Î¾î »óÅÂÃßÀû Å×ÀÌºí ¸ñ·Ï¿¡ ÀÖ´Â ESTABLISHED,RELATED ÆÐŶÀº Çã¿ëÇÑ´Ù # À̸¦ ÅëÇØ DNS ¼­¹öµî ¼­¹ö¿¡¼­ÀÇ ¿äû¿¡ ´ëÇÑ ÀÀ´ä ÆÐŶµµ Çã¿ëµÈ´Ù. $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # ¼­¹ö¸¦ ÇâÇØ µé¾î¿À´Â ÆÐŶ Áß Æ÷Æ®½ºÄµÀ̶ó ÀǽɵǴ ÆÐŶÀÌ ÀÖÀ» °æ¿ì Â÷´ÜÇÑ´Ù. #$IPTABLES -A INPUT -m psd -j DROP # »ï¹Ù ÀÌ¿ë ÆÐŶ Çã¿ë. $IPTABLES -A INPUT -i eth0 -p TCP -s 192.168.0.0/24 --dport 137:139 -j ACCEPT $IPTABLES -A INPUT -i eth0 -p UDP -s 192.168.0.0/24 --dport 137:139 -j ACCEPT # Subversion Çã¿ë $IPTABLES -A INPUT -i eth0 -p TCP -s 192.168.0.0/24 --sport 1024:65535 --dport 5900 -m state --state NEW -j ACCEPT $IPTABLES -A INPUT -i eth0 -p TCP -s 192.168.0.0/24 --sport 1024:65535 --dport 3690 -m state --state NEW -j ACCEPT # À¥ ¼­ºñ½º¸¦ Á¦°øÇϱâ À§ÇØ 80¹øÀ¸·Î ÇâÇÏ´Â Ãʱâ(NEW) ÆÐŶÀº Çô¿ëÇÑ´Ù. $IPTABLES -A INPUT -i eth0 -p TCP --dport 3690 -m state --state NEW -j ACCEPT $IPTABLES -A INPUT -i eth0 -p UDP --dport 3690 -m state --state NEW -j ACCEPT $IPTABLES -A INPUT -i eth0 -p TCP --dport 5900 -m state --state NEW -j ACCEPT $IPTABLES -A INPUT -i eth0 -p UDP --dport 5900 -m state --state NEW -j ACCEPT $IPTABLES -A INPUT -i eth0 -p TCP --dport 2401 -m state --state NEW -j ACCEPT $IPTABLES -A INPUT -i eth0 -p UDP --dport 2401 -m state --state NEW -j ACCEPT # ÀÌÈÄ OUTPUT Àº ¸ðµÎ Çã¿ëÇÏ¿´°í, ÀÀ´ä ÆÐŶ µîÀº ¾Õ¿¡¼­ ESTABLISHED·Î Çã¿ëÇؼ­ ÀÌ ÇÑ ÁÙ ¸¸À¸·Îµµ ¼­ºñ½º°¡ Çã¿ëµÈ´Ù. $IPTABLES -A INPUT -i eth0 -p TCP --sport 1024: --dport 80 -m state --state NEW -j ACCEPT # ƯÁ¤ÇÑ IP ´ë¿ª¿¡¼­¸¸ ftp ¼­ºñ½º¸¦ Çã¿ëÇϱâ À§ÇØ 192.168.0.0/24 ´ë¿ª¿¡¼­ 21¹øÀ¸·Î ÇâÇÏ´Â Ãʱâ(NEW) ÆÐŶÀº Çã¿ëÇÑ´Ù. ÀÌÈÄ ÀÀ´ä ÆÐŶ µîÀº ¾Õ¿¡¼­ ESTABLISHED ¹× RELATED·Î Çã¿ëÇؼ­ ÀÌ ÇÑÁÙÀ¸·Îµµ active/passive °ü°è¾øÀÌ FTP ¼­ºñ½º°¡ Çã¿ëµÈ´Ù. $IPTABLES -A INPUT -i eth0 -p TCP -s 192.168.0.0/24 --sport 1024:65535 --dport 21 -m state --state NEW -j ACCEPT # SSH ¼­ºñ½º¸¦ Çã¿ëÇϱâ À§ÇØ 192.168.0.0/24 ´ë¿ª¿¡¼­ 22000¹øÀ¸·Î ÇâÇÏ´Â Ãʱâ(NEW) ÆÐŶÀ» Çã¿ëÇÑ´Ù. #$IPTABLES -A INPUT -i eth0 -p TCP -s 192.168.0.0/24 --sport 1024: --dport 22000 -m state --state NEW -j ACCEPT $IPTABLES -A INPUT -i eth0 -p TCP --sport 1024: --dport 22000 -m state --state NEW -j ACCEPT # SMTP ¼­ºñ½º¸¦ Çã¿ëÇϱâ À§ÇØ 25¹øÀ¸·Î ÇâÇÏ´Â Ãʱâ(NEW) ÆÐŶÀº Çã¿ëÇÑ´Ù. # SMTP ¼­ºñ½º¸¦ Á¦°øÇÑ´Ù¸é ¿ÜºÎ¿¡¼­ µé¾î¿À´Â ¸ÞÀÏÀ» ¼­¹ö¿¡¼­ ¹Þ¾Æ¾ß ÇÔÀ¸·Î 25¹øÀº ¿­·Á ÀÖ¾î¾ßÇÑ´Ù. $IPTABLES -A INPUT -i eth0 -p TCP --sport 1024: --dport 25 -m state --state NEW -j ACCEPT # POP3 ¼­ºñ½º¸¦ Çã¿ëÇϱâ À§ÇØ 110¹øÀ¸·Î ÇâÇÏ´Â Ãʱâ(NEW) ÆÐŶÀº Çã¿ëÇÑ´Ù #$IPTABLES -A INPUT -i eth0 -p TCP --sport 1024: --dport 110 -m state --state NEW -j ACCEPT # icmp ÆÐŶ Áß ping ¿äû¿¡ ´ëÇÑ ÀÀ´ä Áï, echo-reply ¸¦ Çã¿ëÇÑ´Ù. $IPTABLES -A INPUT -p ICMP --icmp-type echo-reply -j ACCEPT # INPUT Àº ±âº»ÀûÀ¸·Î DROP ÇÑ´Ù. FORWARD ´Â »ç¿ëÇÒ ÇÊ¿ä°¡ ¾øÀ¸¹Ç·Î ¿ª½Ã ±âº» Á¤Ã¥À¸·Î DROP ÇÑ´Ù. ÇÏÁö¸¸ ·êÀ» ´Ü¼øÈ­Çϱâ À§ÇØ OUTPUT Àº ACCPET ÇÑ´Ù. $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD DROP }}}