iptables实战系列:公共网络服务防火墙

本文涉及的产品
云防火墙,500元 1000GB
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介:

原文请见:http://os.51cto.com/art/201108/284722.htm

 

本文将介绍一个使用iptables保障网络服务安全的例子,需要保护的企业网络提供对外的公共网络服务,包括WWW、FTP、SMTP、DNS等。

1、应用场景和网络拓扑

在这个应用中,我们将需要使用iptables防火墙保护企业网络提供的对外的公共Internet服务,这些服务包括WWW服务、FTP服务、SMTP服务以及DNS服务(具体的网络拓扑请参见图1)。因此,这些服务起都具有有效的Internet地址。

为了将内部网段210.10.18.0/24与Internet隔离,在内部网络和Internet之间使用了包过滤防火墙。具体的IP地址设置如下:

  • 防火墙的内网接口是eth0(IP地址为:210.10.18.88),防火墙对外的Internet接口是eth1(IP地址为:210.10.19.188);
  • WWW服务器:IP地址为210.10.18.89;
  • FTP服务器:IP地址为210.10.18.90;
  • DNS服务器:IP地址为210.10.18.91;
  • SMTP服务器:IP地址为210.10.18.92。 

防火墙部署实例示意图

图1  防火墙部署实例示意图

2、防火墙具体配置

本应用的主要目的是对企业网提供各种服务的服务器提供保护,以使他们免受来自于外网Internet恶意用户和流量的攻击和危害。

(1)建立有关的脚本文件:在/etc/rc.d/目录下用touch命令建立空的脚本文件,执行chmod命令添加可执行权限。

# touch /etc/rc.d/firewall-for-networkservice
# chmod u+x /etc/rc.d/firewall-for-networkservice

(2)编辑/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d/firewall-for-networkservice 以确保开机时能自动执行该脚本,运行如下命令:

# echo “/etc/rc.d/firewall-for-networkservice” >>/etc/rc.d/rc.local

(3)使用vi或者gedit等编辑器编辑/etc/rc.d/firewall-for-networkservice文件,插入如下内容:

1)添加相关脚本信息,注意:脚本中的注释是采用“#”表示,而不是通常用的“//”

# 添加脚本编写头部
# !/bin/bash
# 在屏幕上显示信息
echo “Starting iptables rules…”
# 开启内核转发功能
echo “1” >/proc/sys/net/ipv4/ip_forward

2)定义规则重要使用的相关变量

# 定义变量
IPT=/sbin/iptables
WEB_SERVER=210.10.18.89
FTP_SERVER=210.10.18.90
DNS_SERVER=210.10.18.91
SMTP_SERVER=210.10.18.92
PROTECT_DOMAIN=“210.10.18.0/24”

3)刷新基本的链规则,并禁止转发任意包

$IPT_LIST -F
$IPT_LIST -P FORWARD DROP

4)设置有关保护服务器的包过滤规则,并且注意由于服务器/客户机交互是双向的,所以不仅仅要设置数据包出去的规则,还要设置数据包返回的规则,如下所示:

#保护WWW服务:服务端口为80,采用tcp或udp协议
#规则为:eth1=>允许目的为内部网WWW服务器的包
$IPT_LIST -A FORWORD -p tcp udp -d $WEB_SERVER -dport www -i eth1 -j ACCEPT
#保护FTP服务:服务端口为:命令端口21,数据端口20。FTP服务采用tcp协议。
# 规则为:eth1=>允许目的为内部网FTP服务器的包
$IPT_LIST -A FORWORD -p tcp -d $FTP_SERVER -dport ftp -i eth1 -j ACCEPT
#保护DNS服务:DNS端口53,采用tcp协议或者udp协议
#规则为:eth1=>允许目的为内部网DNS服务器的查询请求
$IPT_LIST -A FORWORD -p tcp udp -d $ DNS_SERVER -dport dns -i eth1 -j ACCEPT
#保护SMTP服务:smtp端口25,采用tcp协议
#规则为:eth1=>允许目的为内部网SMTP服务器的smtp请求
$IPT_LIST -A FORWORD -p tcp -d $ SMTP_SERVER -dport smtp -i eth1 -j ACCEPT

(4)执行脚本,使配置规则立刻生效

# /etc/rc.d/firewall-for-networkservice

到现在为止,有关使用防火墙保障网络服务的配置就完成了。通过执行上面的脚本,我们建立了一个相对完整的防火墙。由于该防火墙只对外开放了有限的几个端口,因此能够有效地限制除这几个服务之外的流量进入,从而达到保证安全的目的。当然,这个例子还非常简单,用户还可以在实际中通过针对具体服务的细化防火墙配置,比如限制外部网络并发连接WWW服务的TCP请求个数、限制外网访问FTP服务器的IP地址列表等来进行。这里只是给出一个简要的示例,以达到抛砖引玉的目的。















本文转自samsunglinuxl51CTO博客,原文链接:http://blog.51cto.com/patterson/645698 ,如需转载请自行联系原作者



相关文章
|
1月前
|
Kubernetes 安全 Devops
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
66 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
|
25天前
|
人工智能 运维 监控
超越传统网络防护,下一代防火墙安全策略解读
超越传统网络防护,下一代防火墙安全策略解读
61 6
|
1月前
|
存储 安全 网络安全
网络安全的盾与剑:漏洞防御与加密技术的实战应用
在数字化浪潮中,网络安全成为保护信息资产的重中之重。本文将深入探讨网络安全的两个关键领域——安全漏洞的防御策略和加密技术的应用,通过具体案例分析常见的安全威胁,并提供实用的防护措施。同时,我们将展示如何利用Python编程语言实现简单的加密算法,增强读者的安全意识和技术能力。文章旨在为非专业读者提供一扇了解网络安全复杂世界的窗口,以及为专业人士提供可立即投入使用的技术参考。
|
1月前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
142 7
|
1月前
|
存储 安全 算法
揭秘网络安全的盾牌与矛:漏洞防护与加密技术的较量
在数字化时代的棋局中,网络安全是每个参与者必须面对的挑战。本文将深入探讨网络安全中的两个关键角色——漏洞与加密技术。通过分析最新的安全漏洞案例,我们揭示网络攻击者如何利用这些漏洞进行破坏。同时,我们将展示加密技术如何成为保护数据不被窃取的强大盾牌。文章还将讨论提升个人和企业的安全意识的重要性,并通过实际的代码示例,展示如何在实践中应用这些知识来加强我们的网络防线。
|
1月前
|
SQL 安全 算法
网络安全的盾牌:漏洞防护与加密技术的融合之道
在数字化浪潮中,网络安全成为维护信息完整性、保障个人隐私的关键。本文深入探讨网络漏洞的产生机理和防御策略,揭示加密技术的核心原理及其在信息安全中的重要角色。通过分析安全意识的培养方法,文章旨在提升大众对网络安全的认知水平,促进一个更加安全的网络环境。
|
1月前
|
算法 安全 网络安全
网络安全服务
机密主要利用密码学技术加密文件实现,完整主要利用验证码/Hash技术,可用**主要灾备来保障。 网络环境下的身份鉴别,当然还是依托于密码学,一种可以使用口令技术,另一种则是依托物理形式的鉴别,如身份卡等。其实更为安全的是实施多因子的身份认证,不只使用一种方式。数字签名可以用来保证信息的完整性,比如RSA就可以用于数字签名: 若A向B发送信息m则先用自己的保密密钥(私钥)对m加密,然后用B的公钥第二次加密,发送个B后,B先用自己的私钥解密一次,再用A的公钥解密即可。 Kerberos使用对称密码算法来实现通过可信第三方密钥分发中心的认证服务,已经成为工业界的事实标准。
44 3
|
2月前
|
运维 安全 Linux
全面提升系统安全:禁用不必要服务、更新安全补丁、配置防火墙规则的实战指南
全面提升系统安全:禁用不必要服务、更新安全补丁、配置防火墙规则的实战指南
67 12
|
2月前
|
SQL 运维 安全
网络安全的护城河:漏洞防护、加密技术与安全意识
在数字时代的浪潮中,网络安全成为了我们每个人都无法回避的话题。本文将深入浅出地探讨网络安全中的几个关键要素——漏洞防护、加密技术和安全意识,并通过实际案例和代码示例,揭示它们如何共同构建起保护信息安全的坚固防线。无论你是IT专业人士还是对网络安全感兴趣的普通用户,这篇文章都将提供给你宝贵的知识和见解。
80 5
|
2月前
|
SQL 人工智能 安全
网络安全的盾牌:漏洞防护与加密技术解析
在数字时代的浪潮中,网络安全和信息安全成为了维护社会稳定和保护个人隐私的关键。本文将深入探讨网络安全中的常见漏洞、先进的加密技术以及提升安全意识的重要性。通过分析网络攻击的手法,揭示防御策略的构建过程,并分享实用的代码示例,旨在为读者提供一套全面的网络安全知识体系,以增强个人和组织在网络空间的防御能力。