|
$IPTABLES -A INPUT -i lo -j ACCEPT # 检查包的正确性 $IPTABLES -A INPUT -m state --state INVALID -j DROPPACKET # 检查包是否是SYN攻击 $IPTABLES -A INPUT -p tcp --syn -j SYNFLOOD # TCP FLAG的检查 $IPTABLES -A INPUT -p tcp -j CHKFLAGS # 许可LAN内的连接 $IPTABLES -A INPUT -i $INNER_PORT -s $INNER_NET -j ACCEPT # 许可已经建立的连接 $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 检查是否是IP伪装 $IPTABLES -A INPUT -i $OUTER_PORT -s $INNER_NET -j DROP # # 许可的服务(对外部公开的服务,在下面记述) # $IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT # SSH $IPTABLES -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT # HTTP $IPTABLES -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT # HTTPS $IPTABLES -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT # DOMAIN(DNS) $IPTABLES -A INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT # DOMAIN(DNS) # 拒绝AUTH请求 $IPTABLES -A INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset # icmp(IN) $IPTABLES -A INPUT -p icmp --icmp-type echo-request -s $INNER_NET -j ACCEPT $IPTABLES -A INPUT -p icmp --icmp-type echo-reply -s $INNER_NET -j ACCEPT $IPTABLES -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT $IPTABLES -A INPUT -p icmp --icmp-type source-quench -j ACCEPT $IPTABLES -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT $IPTABLES -A INPUT -p icmp --icmp-type parameter-problem -j ACCEPT # 除了上面以外所有的包,都记录下来,并通过Default Policy丢弃 $IPTABLES -A INPUT -j LOG --log-prefix "UNDEFIND_INPUT: " \ --log-level=3 -m limit --limit 1/s --limit-burst 10
########################################################################## # OUTPUT Chain ########################################################################## # 许可由localhost出来的包 $IPTABLES -A OUTPUT -o lo -j ACCEPT # TCP FLAG的检查 $IPTABLES -A OUTPUT -p tcp -j CHKFLAGS # 许可从服务器到Lan的连接 $IPTABLES -A OUTPUT -o $INNER_PORT -s $FWALL_IP -j ACCEPT # 检查Microsoft
共11页: 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 10 [11] 下一页 |