推荐-使用iptables作为网络防火墙构建安全的网络环境

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

前言

一般情况下iptables只作为主机防火墙使用,但是在特殊情况下也可以使用iptables对整个网络进行流量控制和网络安全防护等功能,在本文中,我们使用iptables对三台服务器的安全进行安全防护

网络防火墙的优势

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

实验拓扑图

下载.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主机,其他主机皆关闭SElinux和iptables

实验步骤

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

防火墙未设置前对所有服务器的测试

以下操作在192.168.1.103进行

dns服务能够正常使用 

blob.png

ftp服务能够正常使用 
blob.png

web服务能够正常使用 

blob.png

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

我们对dns,web.ftp服务器分别进行ping,ssh等操作 

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

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

大家看!现在已经不能对服务器进行非法访问了 

blob.png

测试服务器是否可访问

ftp服务能正常访问 

blob.png 

web服务能正常访问 
blob.png 

dns服务能正常访问 

blob.png

总结

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

原创文章,作者:Net18-AnyISalIn,如若转载,请注明出处:http://www.178linux.com/13969

赞 (0)
Net18-AnyISalInNet18-AnyISalIn
上一篇 2016-03-31 19:31
下一篇 2016-04-01 15:53

相关推荐

  • ☞yum源的生成与配置{ local;cdrom;http;ftp;}

    ☞yum源的生成与配置{ local;cdrom;http;ftp;} 本文是继上一篇文章“CentOS程序安装的3种方式{ 源码包安装 | rpm包安装 | yum安装;}”的补充,上篇文章http://www.178linux.com/38812主要介绍了基于cdrom的yum源制作和配置以及归纳了详细的yum命令。本文继续介绍基于本地file、远程ht…

    Linux干货 2016-08-24
  • 马哥教育网络班21期+第1周课程练习

    1.描述计算机的组成及其功能。   计算机主要由运算器,控制器,存储器,输入设备,输出设备组成   运算器用来做计算,用来做二进制运算(加法运算)和逻辑运算   控制器用来控制计算机各部件之间的协调,例如运算器想做运算从哪里读入加数和被加数,寄存在哪里   存储器分为内存储器和外存储器,用来存放数据 内存储器用于存放计…

    Linux干货 2016-07-12
  • Linux磁盘管理

     I/O Ports:I/O设备地址   一切皆文件:             poen(),read(),write(),close()   设备类型:     &nb…

    Linux干货 2016-08-29
  • 马哥网络班21期-第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。        cp -r /etc/skel /home/tuser1        chmod 700 /home/tuser1  …

    Linux干货 2016-08-02
  • 马哥教育网络班22期+第2周课程练习

    1、  Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cp命令 单源复制:cp [OPTION]… [-T] SOURCE DEST 多源复制:cp [OPTION]… SOURCE… DIRECTORY 多源复制:cp [OPTION]… -t DIRECTORY SOU…

    Linux干货 2016-08-22
  • N21-北京-兔锅-马哥教育网络班21期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。    who | cut -d' ' -f1 | uniq   2、取出最后登录到当前系统的用户的相关信息。    who | ta…

    系统运维 2016-07-07

评论列表(1条)

  • stanley
    stanley 2016-04-05 22:31

    已置顶