使用iptables作为网络防火墙构建安全的网络环境
前言
一般情况下
iptables
只作为主机防火墙使用,但是在特殊情况下也可以使用iptables
对整个网络进行流量控制和网络安全防护等功能,在本文中,我们使用iptables
对三台服务器的安全进行安全防护
网络防火墙的优势
网络防火墙相比于主机防火墙而言,范围更大,不用对网络内的各主机各自设置防火墙规则就可以保证其安全性,但是必须在网络的进出口才能对出入数据包进行限制
实验拓扑图
实验环境
主机 | IP地址 | 功用 |
---|---|---|
fire.anyisalin.com | 192.168.2.2,192.168.1.112 | 控制整个网段的数据报文的流入流出及过滤 |
ns.anyisalin.com | 192.168.2.3 | 提供DNS服务 |
ftp.anyisalin.com | 192.168.2.5 | 提供FTP服务 |
www.anyisalin.com | 192.168.2.4 | 提供web服务 |
除了fire
主机,其他主机皆关闭SElinux
和iptables
实验步骤
FTP
,WEB
,DNS
服务器安装配置这里就不写了,有兴趣的看我以前的博客AnyISalIn的文章
防火墙未设置前对所有服务器的测试
以下操作在192.168.1.103进行
dns
服务能够正常使用
ftp
服务能够正常使用
web
服务能够正常使用
针对不同服务器进行”非法”访问
我们对
dns,web.ftp
服务器分别进行ping
,ssh
等操作
定义网络防火墙规则
大家应该够知道,服务器开放的端口越多就越危险,所以我们在网络防火墙对其进行规则定义
[root@fire ~]# iptables -P FORWARD DROP #设置FORWARD链默认策略为DROP
[root@fire ~]# modprobe nf_conntrack_ftp #装载追踪FTP被动连接模块
[root@fire ~]# iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
[root@fire ~]# iptables -A FORWARD -d 192.168.2.0/24 -p tcp -m multiport --dports 21,80 -m state --state NEW -j ACCEPT
[root@fire ~]# iptables -A FORWARD -d 192.168.2.3 -p udp --dport 53 -m state --state NEW -j ACCEPT
解释一下上面几条规则的作用
第一条规则将FORWARD
链的默认策略设置为DROP
,那么默认所有的数据包将不能通过FORWARD
的转发
第二条规则状态nf_conntrack_ftp
模块,使得iptables
能够追踪FTP
链接的状态,使数据连接得以建立
第三条意思是状态使ESTABLISHED
和RELATED
允许通过,指的是已建立链接或者追踪链接建立能够通过
第四条意思是允许访问目标地址为192.168.2.0
网段,端口为21/TCP
和80/TCP
状态为NEW能
够通过,指的是新的链接能通过
第五条是为DNS
查询而添加的规则,指的是允许访问目标地址为192.168.2.3的地址且目标端口为
53/UDP的
NEW`状态能够通过,同指新的链接能够通
再次针对不同服务器进行”非法”访问
大家看!现在已经不能对服务器进行非法访问了
测试服务器是否可访问
ftp
服务能正常访问
web
服务能正常访问
dns
服务能正常访问
总结
本文只做了一些简单的限制,不过足以限制用户只能访问”该访问”的服务,这当然不能运用于生产环境中,毕竟设计简陋,大家笑笑就好
作者:AnyISalIn
感谢:MageEdu
原创文章,作者:Net18-AnyISalIn,如若转载,请注明出处:http://www.178linux.com/13969
评论列表(1条)
已置顶