如何设置Shorewall(海岸线)4.0防火墙在CentOS 5.1

如何在CentOS 5.1上设置Shorewall(Shoreline)4.0防火墙

介绍

本教程将引导您在CentOS 5.1上设置Shorewall(Shoreline)4.0防火墙,这可以轻松适应任何其他Linux发行版。

海岸线防火墙(俗称“Shorewall”)是配置Netfilter的高级工具。 您可以使用一组配置文件中的条目来描述您的防火墙/网关要求。 Shorewall读取这些配置文件,并在iptables实用程序的帮助下,Shorewall配置Netfilter以满足您的要求。 Shorewall可用于专用防火墙系统,多功能网关/路由器/服务器或独立的GNU / Linux系统上。 Shorewall不使用Netfilter的ipchains兼容性模式,因此可以利用Netfilter的连接状态跟踪功能。 http://www.shorewall.net/

重要提示:在安装shorewall之前,如果您安装在机器上,我们需要卸载ipchains。

下载shorewall

wget http://www.invoca.ch/pub/packages/shorewall/4.0/shorewall-4.0.11/shorewall-4.0.11-2.noarch.rpm
wget http://www.invoca.ch/pub/packages/shorewall/4.0/shorewall-4.0.11/shorewall-perl-4.0.11-2.noarch.rpm
wget http://www.invoca.ch/pub/packages/shorewall/4.0/shorewall-4.0.11/shorewall-shell-4.0.11-2.noarch.rpm

您可以在shorewall官方网站下载更新版本的下载部分。 http://www.shorewall.net/download.htm

安装Shorewall

安装shorewall是很容易的。 只要打开一个终端,做一个

rpm -ivh shorewall-perl-4.0.11-2.noarch.rpm shorewall-shell-4.0.11-2.noarch.rpm shorewall-4.0.11-2.noarch.rpm

你们都准备好了 不要关闭你的终端,因为我们将需要更多。

设置Shorewall

除非您更改shoetall配置文件/etc/shorewall/shorewall.conf ,否则该程序将不会启动。您可以按照以下方式执行此操作:

vim /etc/shorewall/shorewall.conf

更改第一行

STARTUP_ENABLED=No

STARTUP_ENABLED=Yes

保存并退出(在VIM中,按[ESC],然后按':wq')。

如果要配置shorewall,您需要从/usr/share/doc/shorewall-4.0.11/Samples/中复制示例配置文件。 在Samples目录中有3个不同的目录: one-interface /two-interfaces /three-interfaces / 。 根据您的网络,您可以通过以下命令执行此操作:

cp /usr/share/doc/shorewall-4.0.11/Samples/one-interfaces/{interfaces,policy,masq,routestopped,rules,zones} /etc/shorewall/

要么

cp /usr/share/doc/shorewall-4.0.11/Samples/two-interfaces/{interfaces,policy,masq,routestopped,rules,zones} /etc/shorewall/

要么

cp /usr/share/doc/shorewall-4.0.11/Samples/three-interfaces/{interfaces,policy,masq,routestopped,rules,zones} /etc/shorewall/

现在你有配置文件位于/ etc / shorewall

区域配置

打开并编辑文件/ etc / shorewall / zones以指定不同的网络区域,这些只是您将在其他文件中使用的标签。

vim /etc/shorewall/zones

将互联网(网络)作为一个区域,将私有网络(dmz)视为另一个区域。防火墙区域或“fw”是您的linux盒本身。 如果你有这些,那么区域文件将如下所示:

#ZONE	TYPE	OPTIONS		IN OPTIONS		OUT OPTIONS
#
fw	firewall
net	ipv4
loc	ipv4
dmz	ipv4
#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE

接口配置

要编辑的下一个文件是指定机器上的接口的interfaces文件。
vim /etc/shorewall/interfaces

在这里,您将连接上一步中定义的区域与实际界面。 第三个字段是连接到接口的网络的广播地址(“detect”将为您显示出来)。 最后,最后一个字段是接口的选项。 下面列出的选项是一个很好的起点。

#ZONE	INTERFACE	BROADCAST	OPTIONS
net     eth0            detect          tcpflags,dhcp,routefilter,nosmurfs,logmartians
loc     eth1            detect          tcpflags,nosmurfs
dmz     eth2            detect
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

策略配置

下一个文件定义您的防火墙默认策略。如果没有其他规则适用,则使用默认策略。通常您将默认策略设置为REJECT或DROP作为默认策略,然后在下一步中特别配置允许的端口/服务,默认情况下根据此策略拒绝或删除。
vim /etc/shorewall/policy

一个示例策略(基于我们上面使用的区域和接口)将是:

#SOURCE		DEST		POLICY		LOG LEVEL	LIMIT:BURST
#
# Policies for traffic originating from the local LAN (loc)
#
# If you want to force clients to access the Internet via a proxy server
# in your DMZ, change the following policy to REJECT info.
loc		net		ACCEPT
# If you want open access to DMZ from loc, change the following policy
# to ACCEPT.  (If you chose not to do this, you will need to add a rule
# for each service in the rules file.)
loc		dmz		REJECT		info
loc		$FW		REJECT		info
loc		all		REJECT		info
#
# Policies for traffic originating from the firewall ($FW)
#
# If you want open access to the Internet from your firewall, change the
# $FW to net policy to ACCEPT and remove the 'info' LOG LEVEL.
$FW		net		REJECT		info
$FW		dmz		REJECT		info
$FW		loc		REJECT		info
$FW		all		REJECT		info
#
# Policies for traffic originating from the De-Militarized Zone (dmz)
#
# If you want open access from DMZ to the Internet change the following
# policy to ACCEPT.  This may be useful if you run a proxy server in
# your DMZ.
dmz		net		REJECT		info
dmz		$FW		REJECT		info
dmz		loc		REJECT		info
dmz		all		REJECT		info
#
# Policies for traffic originating from the Internet zone (net)
#
net		dmz		DROP		info
net		$FW		DROP		info
net		loc		DROP		info
net		all		DROP		info
# THE FOLLOWING POLICY MUST BE LAST
all		all		REJECT		info
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE

规则配置

最重要的文件是规则。 这是你设置允许或不允许的地方。 进入防火墙的任何新连接都会通过这些规则,如果这些规则都不适用,则默认策略将适用。

注意:这仅适用于新连接,现有连接将被自动接受。

文件中的注释可以帮助您了解事情的工作原理,但以下内容将提供一个可以让您开始前进的示例:

vim /etc/shorewall/rules

一个例子是:

#############################################################################################################
#ACTION		SOURCE		DEST	PROTO	DEST	SOURCE		ORIGINAL	RATE	USER/	MARK
#						PORT	PORT(S)		DEST		LIMIT		GROUP
#
#	Accept DNS connections from the firewall to the Internet
#
DNS/ACCEPT	$FW		net
#
#
#	Accept SSH connections from the local network to the firewall and DMZ
#
SSH/ACCEPT      loc             $FW
SSH/ACCEPT      loc             dmz
#
#	DMZ DNS access to the Internet
#
DNS/ACCEPT	dmz		net
#
# Drop Ping from the "bad" net zone.
#
Ping/DROP     net             $FW
#
#       Make ping work bi-directionally between the dmz, net, Firewall and local zone
#       (assumes that the loc-> net policy is ACCEPT).
#
Ping/ACCEPT     loc             $FW
Ping/ACCEPT     dmz             $FW
Ping/ACCEPT     loc             dmz
Ping/ACCEPT     dmz             loc
Ping/ACCEPT     dmz             net
ACCEPT		$FW		net		icmp
ACCEPT		$FW		loc		icmp
ACCEPT		$FW		dmz		icmp
# Uncomment this if using Proxy ARP and static NAT and you want to allow ping from
# the net zone to the dmz and loc
#Ping/ACCEPT    net             dmz
#Ping/ACCEPT    net             loc
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

最后

我们完成了,让我们开始服务并开始测试。

service shorewall start

Shorewall Web界面或GUI工具

我们有一个用于shorewall的webmin界面,可以通过GUI进行配置。 您可以从http://www.webmin.com/download/modules/shorewall.wbm.gz下载。

玩的开心!

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏