LINUX
2017.04.26 / 21:05

[iptables] ¸¶½ºÅÍ

tomcater
Ãßõ ¼ö 94

@¼³Á¤ ÆíÁý ( service iptables restart ½Ã Àû¿ë )

 # vi /etc/sysconfig/iptables


@¸Þ¸ð¸®¿¡ ·ÎµùµÈ ¼³Á¤ È­¸é Ãâ·Â

 # /sbin/iptables -L


@¸Þ¸ð¸®¿¡ ·ÎµùµÈ ¼³Á¤ ÀúÀå (/etc/sysconfig/iptables¿¡ ÀúÀåµÇ¾î ÀçºÎÆýà Àû¿ëµÊ)

 # service iptables save




»ç¿ëÀÚ ÆÄÀÏ·Î ÀúÀåÇϰųª ·ÎµùÇϱâ 


@¸Þ¸ð¸®¿¡ ·ÎµùµÈ ¼³Á¤ »ç¿ëÀÚÆÄÀϷΠÀúÀå

 # /sbin/iptables-save > /Æнº/ÆÄÀÏ

 


@»ç¿ëÀÚÆÄÀÏ ·Îµù

 # /sbin/iptables-restore  /Æнº/ÆÄÀÏ



@¼­¹ö Á¤Áö³ª Àç½ÃÀ۽à ¼³Á¤ ÀÚµ¿ÀúÀå

 

 # vi /etc/sysconfig/iptables-config

IPTABLES_SAVE_ON_STOP="yes"

IPTABLES_SAVE_ON_RESTART="yes"




¸Å´Ï¡ ½ºÅ©¸³Æ®

# cat My_Firewall

 #!/bin/sh

IPTABLES="/sbin/iptables"
IP_ADDR=`grep "IPADDR=" /etc/sysconfig/network-scripts/ifcfg-eth0 | awk -F'=' '{ print $2 }'`

. /etc/init.d/functions

case "$1" in
start|restart)
             echo "$1ing My_Firewall :"

             service iptables save
             ;;
         stop)
             echo "$1ping My_Firewall :"
             $IPTABLES -F
             $IPTABLES -X
             $IPTABLES -P INPUT ACCEPT
             $IPTABLES -P FORWARD ACCEPT
             $IPTABLES -P OUTPUT ACCEPT

             service iptables save
             exit
             ;;
            *)
             echo $"Usage: $0 {start|restart|stop}"
             exit
             ;;
esac

### ·ê¼Â ÃʱâÈ­
$IPTABLES -F

### ±âº»Á¤Ã¥ ¼³Á¤
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT

### Loopback Æ®·¡ÇÈ Çã¿ë
$IPTABLES -A INPUT -i lo -j ACCEPT

### ÀÚ±âÀÚ½ÅÀ» ¼Ò½º·Î ÇÏ´Â Æ®·¡ÇÈ Â÷´Ü
$IPTABLES -A INPUT -i eth0 -s $IP_ADDR -j DROP
$IPTABLES -A INPUT -i eth0 -s 127.0.0.0/8 -j DROP

### »óÅÂÃßÀû ¼³Á¤
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A INPUT -p all -m state --state INVALID -j DROP

### ºñÁ¤»óÀû tcp-flags Â÷´Ü
$IPTABLES -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL PSH,FIN -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL URG,PSH,FIN -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL SYN,ACK,FIN -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL SYN,FIN,PSH -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL SYN,FIN,RST -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL SYN,FIN,RST,PSH -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL SYN,FIN,ACK,RST -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL SYN,ACK,FIN,RST,PSH -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP

 

### ¼­ºñ½ºÆ÷Æ® Ãß°¡/Á¦°Å¸¦ À§Çؼ­´Â, ¹Ýµå½Ã ¾Æ·¡ÀÇ ¼³Á¤¸¸ ¼öÁ¤ÇϽñ⠹ٶø´Ï´Ù!!!
### $IPTABLES ±¸¹®¾ÕÀÇ ÁÖ¼® Á¦°ÅÈÄ, My_Firewall ¸¦ Àç°¡µ¿ÇϽøé ÇØ´çÆ÷Æ®´Â È°¼ºÈ­ µË´Ï´Ù.

 

## MASTER IP µî·Ï (¾Æ·¡ÀÇ ¸ðµç ·êÀ» ¹«½ÃÇÏ°í ¹«Á¶°Ç Á¢¼Ó Çã¿ëÇÏ´Â IP¸¦ µî·Ï)

 

$IPTABLES -A INPUT -p tcp  -s 211.58.254.0/255.255.255.0 -m state --state NEW -j ACCEPT

$IPTABLES -A INPUT -p tcp  -s 125.177.20.194 -m state --state NEW -j ACCEPT

 

 

 

## Â÷´ÜÇÒ IP ´ë¿ª (¹«Á¶°Ç Â÷´ÜÇÏ´Â IP)

 

$IPTABLES -A INPUT -p tcp -s 72.34.235.215 -j DROP

$IPTABLES -A INPUT -p tcp -s 222.162.80.184 -j DROP

 

 

 

### ftp servive  20Àº µ¥ÀÌŸ Æ÷Æ®À̹ǷΠ¹Ýµå½Ã ¿ÀÇ  21Àº FTP Æ÷Æ®¸¦ ¹Ù²Ù¾î »ç¿ë°¡´É
#$IPTABLES -A INPUT -p tcp --sport 1024: --dport 20 -m state --state NEW -j ACCEPT
#$IPTABLES -A INPUT -p tcp --sport 1024: --dport 21 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 20 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 21 -j ACCEPT

 

# ¶Ç´Â FTPÀÇ  IP ´ë¿ªÀ» ÁöÁ¤µµ °¡´ÉÇÏ´Ù.

$IPTABLES -A INPUT -p tcp --sport 1024: --dport 21  -s 211.58.254.0/255.255.255.0  -j ACCEPT

 

 

 

### ssh servive  22¿Ü¿¡ ´Ù¸¥ Æ÷Æ®·Î º¯°æÇؼ­ »ç¿ëÇϴ°ÔÁÁ´Ù.
$IPTABLES -A INPUT -p tcp --sport 1024: --dport 22 -m state --state NEW -j ACCEPT

### telnet servive º¸¾È»ó ÁÁÁö ¾ÊÀ¸¹Ç·Î »ç¿ëÇÏÁö ¸»ÀÚ.
#$IPTABLES -A INPUT -p tcp --sport 1024: --dport 23 -m state --state NEW -j ACCEPT

 

### smtp servive   ¸á ¼­¹ö µ¹¸®Áö ¾ÊÀ¸¸é ¸·ÀÚ
$IPTABLES -A INPUT -p tcp --sport 1024: --dport 25 -m state --state NEW -j ACCEPT

 

### dns servive  DNS µ¹¸®Áö ¾ÊÀ¸¸é ¸·ÀÚ
#$IPTABLES -A INPUT -p tcp --sport 1024: --dport 53 -m state --state NEW -j ACCEPT
#$IPTABLES -A INPUT -p udp --sport 1024: --dport 53 -m state --state NEW -j ACCEPT

 

### http servive   ±âº»ÀûÀ¸·Î À¥Àº µ¹¸±ÅÙµ¥... ¿­¾î³õÀÚ.
$IPTABLES -A INPUT -p tcp --sport 1024: --dport 80 -m state --state NEW -j ACCEPT

 

### pop3 servive  ¸ÞÀÏ ¼­¹ö ¾È¾²¸é ¸·ÁÒ...
#$IPTABLES -A INPUT -p tcp --sport 1024: --dport 110 -m state --state NEW -j ACCEPT

 

### identd servive
$IPTABLES -A INPUT -p tcp --syn --dport 113 -j REJECT --reject-with tcp-reset

 

### imap servive
#$IPTABLES -A INPUT -p tcp --sport 1024: --dport 143 -m state --state NEW -j ACCEPT

 

### snmp servive
#$IPTABLES -A INPUT -p udp --sport 1024: --dport 161 -m state --state NEW -j ACCEPT

 

### https servive  º¸¾È¼­¹ö »ç¿ëÇÑ´Ù¸é ¿ÀÇÂÇØ¾ß µÈ´Ù.
$IPTABLES -A INPUT -p tcp --sport 1024: --dport 443 -m state --state NEW -j ACCEPT

 

### rsync servive   RSYNC »ç¿ëÇÑ´Ù¸é ¿ÀÇÂ
$IPTABLES -A INPUT -p tcp --sport 1024: --dport 873 -m state --state NEW -j ACCEPT

 

### mysql servive    Mysql Àº µ¹¸±Å×´Ï ¿ÀÇÂ
$IPTABLES -A INPUT -p tcp --sport 1024: --dport 3306 -m state --state NEW -j ACCEPT

 

### ping servive   ÇÎÀ» ¿­¾î Á¢±Ù Å×½ºÆ®°¡ °¡´ÉÇϵµ·Ï...
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

 



¼³Á¤Àû¿ë.

./My_Firewall start   

[Ãâó] [iptables] ¸¶½ºÅÍ|ÀÛ¼ºÀÚ »ç¶û±»