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毫秒