mseSTA 版 (精华区)

发信人: wizard (疯子|努力提升人品), 信区: mseSTA       
标  题: 把防火墙弄差不多了
发信站: BBS 听涛站 (Wed May 19 20:43:22 2004), 站内

贴一下,其实是基本照搬的,以后software,等等。也可以照搬的。
只开了已知有用的端口,其余的都没有开,udp没有管它

虽说其实不用防火墙也很安全,不过这样可以避免端口扫描。如果系统又漏洞就不好
办了。software的话可以根据ftp配置里写的被动端口范围来设,我自己的是随便设的

#!/bin/bash

IPTABLES=/sbin/iptables

INET_IFACE=eth0

INET_IP=219.224.175.139
LOCAL_HOST=127.0.0.1

# VMWARE_CLIENT=172.16.82.128
VMWARE_CLIENT=192.168.174.1
# VMWARE_NET=172.16.82.128
VMWARE_IF=192.168.174.1
VMWARE_NET=192.168.174.0

# Open ip forward
echo 1 > /proc/sys/net/ipv4/ip_forward

# load modules
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG 
/sbin/modprobe ipt_limit 
/sbin/modprobe ipt_state 

# clear all settings
iptables -F
iptables -X

iptables -F -t mangle
iptables -X -t mangle

iptables -F -t nat
iptables -X -t nat

# setup default policy for chains of firewall
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

$IPTABLES -N bad_tcp_packets
$IPTABLES -N banned

$IPTABLES -N allowed_tcp

# rules for each protocol
$IPTABLES -N icmp_packets
$IPTABLES -N tcp_packets
$IPTABLES -N udpin_packets      # udp incomings

#
# bad tcp packets chain
#
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

#
# Banned chain
#
# $IPTABLES -A banned -p all -s 166.111.162.59 -j DROP

#
# Allowed tcp packets chain
#
$IPTABLES -A allowed_tcp -p tcp --syn -j ACCEPT
$IPTABLES -A allowed_tcp -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed_tcp -p tcp -j DROP

#
# TCP rules
#
# Allow ssh in
$IPTABLES -A tcp_packets -p tcp -s 0/0 --dport 22 -j allowed_tcp
$IPTABLES -A tcp_packets -p tcp -s 0/0 --dport 113 -j allowed_tcp
# Allow to access local ftp service.
$IPTABLES -A tcp_packets -p tcp -s 0/0 --dport 40021 -j allowed_tcp

$IPTABLES -A tcp_packets -p tcp -s 0/0 --dport 30000:56000 -j allowed_tcp

#
# INPUT chain
#
# filter bad tcp packets
$IPTABLES -A INPUT -p tcp -j bad_tcp_packets

# let all packets from localhost in
$IPTABLES -A INPUT -p all -s $LOCAL_HOST -j ACCEPT
$IPTABLES -A INPUT -p all -s $INET_IP -j ACCEPT

# Setup banned ip
$IPTABLES -A INPUT -p all -j banned

# Rules for incoming packets from internet.
$IPTABLES -A INPUT -p tcp -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p udp -i $INET_IFACE -j ACCEPT

$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died:"

#
# OUTPUT chain
#
# filter bad tcp packets
$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets

$IPTABLES -A OUTPUT -p all -s $LOCAL_HOST -j ACCEPT
$IPTABLES -A OUTPUT -p all -s $INET_IP -j ACCEPT

--
(defun dscrt-product(A B)
  (mapcan #'(lambda (itm)
              (mapcar #'(lambda (elm)
                          (list itm elm))
                      B))
          A))


※ 修改:·wizard 于 May 19 20:52:17 修改本文·[FROM: 219.224.175.139]
※ 来源:·BBS 听涛站 tingtao.net·[FROM: 219.224.175.139]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.437毫秒