iptables基础和应用(3)

80酷酷网    80kuku.com

  

  #

  # 4.1.1 Set policies

  # 定义安全政策为正面表列

  $IPTABLES -P INPUT DROP

  $IPTABLES -P OUTPUT DROP

  $IPTABLES -P FORWARD DROP

  #

  # 4.1.2 Create userspecified chains

  #

  #

  # 新增使用者自订规则炼 bad_tcp_packets、 allowed 和 icmp_packets

  $IPTABLES -N bad_tcp_packets

  $IPTABLES -N allowed

  $IPTABLES -N icmp_packets

  #

  # 4.1.3 Create content in userspecified chains

  #

  #

  # bad_tcp_packets chain

  # bad_tcp_packets 规则炼的功能是:将要求重导向的联机记录起来,然后将封包丢弃(防止联机被绑架,但会档掉需要三方交谈的服务,例如:M$ Media Server)

  $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-level INFO --log-prefix "New not syn:"

  $IPTABLES -A bad_tcp_packets -p TCP ! --syn -m state --state NEW -j DROP

  # allowed chain

  # allowed 规则炼的功能是:允许要求联机封包或响应封包进入,将其余封包丢弃

  $IPTABLES -A allowed -p TCP --syn -j ACCEPT

  $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT

  $IPTABLES -A allowed -p TCP -j DROP

  #

  # ICMP rules

  # icmp_packets 规则炼的功能是:允许 ping 封包进入,将其余封包丢弃

  $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT

  $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

  #

  # 4.1.4 INPUT chain(过滤要到达防火墙的封包)

  #

  #

  # 进入防火墙主机的 TCP 封包必须先进行 bad_tcp_packets 过滤

  $IPTABLES -A INPUT -p tcp -j bad_tcp_packets

  # 从 WAN 进入防火墙主机的 ICMP 封包必须先进行 icmp_packets 过滤,这是为了避免骇客传送不完整的 IP 封包,系统会响应 ICMP 封包通知对方,导致主机位置被侦测出来

  $IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets

  # 从 LAN 进入防火墙主机的全部 unicast 和 broadcast 封包,通通放行;额外检查目的地 IP 可以将 multicast 封包滤除

  $IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_IP -j ACCEPT

  $IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_BROADCAST_ADDRESS -j ACCEPT



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: