推荐-使用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主机,其他主机皆关闭SElinuxiptables

实验步骤

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链接的状态,使数据连接得以建立 
第三条意思是状态使
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

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

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

相关推荐

  • 马哥教育网络班21期-第六周课程练习

    请详细总结vim编辑器的使用并完成以下练习题 vim编辑器的使用 vim模式:  a,编辑/命令模式;  b,insert/输入模式  c,末行模式 打开文件:  vim    [option]…    file…  +#:打开文件后,直接让光标…

    Linux干货 2016-08-22
  • 企业实时同步方案—-Rsync+Sersync

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1433623     在博文企业实时同步方案—-Sersync介绍中我们详细介绍了Sersync的原理,设计架构以及…

    Linux干货 2015-03-30
  • N25_第十一周的作业

    1、详细描述一次加密通讯的过程,结合图示最佳。 2、描述创建私有CA的过程,以及为客户端发来的证书请求进行办法证书。 3、描述DNS查询过程以及DNS服务器类别。          第一段:主机到运营商的DNS服务器(递归)    &nbs…

    Linux干货 2017-02-22
  • 基于Docker的工作流

    这次我们创建一个Hello world的web服务器。 一  mkdir -p identidock/app   #首先创建一个新的multiidentidock来存放我们的项目,在这个目录下面,创建一个app目录来存放Python代码。 touch app/identidock.py&n…

    Linux干货 2016-03-03
  • Linux基础知识——SHELL之循环

    1、写一个脚本,判断当前系统用户shell是否都为可登陆shell(即非/sbin/nologin),分别计算两类用户的个数(通过比较字符串实现) #!/bin/bash #       check the user could login&nbsp…

    Linux干货 2016-12-13
  • #招聘福利#饿了么/运维核心岗位/上海

    饿了么/运维核心岗位/上海 待遇面谈 具体岗位:         应用运维,核心岗位,负责商家订单系统,有之前的学长带着成长 要求:     1、1-2年以上工作经验,     2、熟悉shell和python,    &nbsp…

    Linux干货 2016-03-18

评论列表(1条)

  • stanley
    stanley 2016-04-05 22:31

    已置顶