|
string
psd (port scan detection)
iplimit
|
因为并不是每个补丁都兼容,因此只选择需要的补丁即可。
4、iptables-1.2.4#开始安装。
5、/usr/src/linux# make oldconfig。
在CONFIG_IP_NF_MATCH选项时回答“m”。
6、重新编译内核并重启。
防火墙脚本
配置防火墙脚本的基本流程是依次设置INPUT、FORWARD和OUTPUT规则。Iptables防火墙脚本还要设置PREROUTING和POSTROUTING规则。各脚本都有注释,描述什么信息被接收或者拒绝。REJECT会忽略数据包并且给发送者返回一个ICMP信息,告诉他信息已经丢失。而DENY(ipchains)或者DROP(iptables)则在丢弃数据包后,不做任何回复。在有人探测主机的特定端口时,该功能可以让系统仿佛不存在,从而有效地保护系统。在本文的防火墙脚本中,设计成不给远程系统作响应。
要在Red Hat 7.1上配置防火墙脚本,先把脚本放在/etc/init.d/firewall中,然后执行以下命令:
要为你的系统配置防火脚本,还必须编辑以下两行,以定义内部网和外部网的接口:
INT_IFACE="eth0"
EXT_IFACES="eth1 eth2"
|
INPUT规则链在防火墙上为服务开了一个口,所以对于特定的系统,你必须编辑服务列表 。在ipchains防火墙中,流入连接可以使用以下的行:
# ACCEPT TCP connections for various
# services found in /etc/services
for service in ftp ssh smtp domain
http auth ldap https; do
ipchains -A INPUT -i $EXT_IFACE -p tcp
-d $IP $service -j ACCEPT
done
|
防火墙脚本在不同的服务间循环,这在主机上是允许的。在本例中,这些服务是FTP、SSH、Sendmail、DNS、HTTP、ident、LDAP和HTTPS。这些基于TCP协议的名字和端口号可以在/etc/services文件中找到。
通过以下规则,在ipchains防火墙脚本中,INPUT链还可以接收任何源自本地的连接:
# ACCEPT non-SYN TCP packets on
# unprivileged ports (returns)
ipchains -A INPUT -i $EXT_IFACE -p tcp
! -y -d $IP 1024: -j ACCEPT
# ACCEPT all UDP packets on unprivileged ports
ipchains -A INPUT -i $EXT_IFACE -p udp -d $IP 1024:
-j ACCEPT
|
ipchains不支持连接跟踪,而iptables一个很大的改进即是支持这一功能。这就意味着数据包只有和一个活动的连接相符,才能被接收。在iptables防火墙脚本中使用以下规则来处理:
# ACCEPT return TCP/UDP traffic (stateful firewall)
iptables -t filter -A INPUT -m state
--state ESTABLISHED -i $EXT_IFACE
-p tcp -d $IP --dport 1024: -j ACCEPT
iptables -t filter -A INPUT -m state
--state ESTABLISHED -i $EXT_IFACE
-p udp -d $IP --dport 1024: -j ACCEPT
|
因为UDP是一个无状态协议,iptables连接跟踪维护一个状态表,并且只对源自内部网的信息作出响应。Iptables防火墙脚本接受向内的连接并且根据下面所列的规则在连接跟踪数据库中加入一个新的连接:
共4页: 上一页 [1] 2 [3] [4] 下一页
|