使用iptables做为网络防火墙构建安全的网络环境

前言

通常状况下iptables只做为主机防火墙使用,可是在特殊状况下也可使用iptables对整个网络进行流量控制和网络安全防御等功能,在本文中,咱们使用iptables对三台服务器的安全进行安全防御linux

网络防火墙的优点

网络防火墙相比于主机防火墙而言,范围更大,不用对网络内的各主机各自设置防火墙规则就能够保证其安全性,可是必须在网络的进出口才能对出入数据包进行限制web

实验拓扑图

下载.png

实验环境


主机 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主机,其余主机皆关闭SElinuxiptables安全

实验步骤

FTP,WEB,DNS服务器安装配置这里就不写了,有兴趣的看我之前的博客AnyISalIn的文章bash

防火墙未设置前对全部服务器的测试

如下操做在192.168.1.103进行服务器

dns服务可以正常使用 网络

blob.png

ftp服务可以正常使用 
blob.pngssh


web服务可以正常使用 tcp

blob.png

针对不一样服务器进行”非法”访问

咱们对dns,web.ftp服务器分别进行ping,ssh等操做 ide

blob.png

blob.png

定义网络防火墙规则

你们应该够知道,服务器开放的端口越多就越危险,因此咱们在网络防火墙对其进行规则定义测试

[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连接的状态,使数据链接得以创建 
第三条意思是状态使
ESTABLISHEDRELATED容许经过,指的是已创建连接或者追踪连接创建可以经过 
第四条意思是容许访问目标地址为
192.168.2.0网段,端口为21/TCP80/TCP状态为NEW能够经过,指的是新的连接能经过 
第五条是为
DNS查询而添加的规则,指的是容许访问目标地址为192.168.2.3的地址且目标端口为53/UDPNEW`状态可以经过,同指新的连接可以经过

再次针对不一样服务器进行”非法”访问

你们看!如今已经不能对服务器进行非法访问了 

blob.png

测试服务器是否可访问

ftp服务能正常访问 

blob.png 

web服务能正常访问 
blob.png 

dns服务能正常访问 

blob.png

总结

本文只作了一些简单的限制,不过足以限制用户只能访问”该访问”的服务,这固然不能运用于生产环境中,毕竟设计简陋,你们笑笑就好 做者:AnyISalIn 感谢:MageEdu

相关文章
相关标签/搜索