推荐-使用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

相关推荐

  • systemd及awk

    1、简述systemd的新特性及unit常见类型分析,能够实现编译安装的如nginx\apache实现通过systemd来管理
    2、描述awk命令用法及示例(至少3例)
    3、描述awk函数示例(至少3例)

    Linux干货 2018-01-17
  • Linux磁盘、文件系统管理

    对Linux而言,其哲学思想之一就是一切皆文件,因此Linux之上所有设备的操作都是通过文件接口来实现的,也就是说在访问设备的时候就如同访问一个文件一样,因为他们使用的都是文件系统接口。  设备也分种类,如:     1、块设备:block 其存取单位是“块”,如硬盘    &n…

    Linux干货 2016-08-29
  • 第三周 磁盘文件系统进阶

    文件系统的使用:     首先要“挂载”:mount 命令和umount命令     根文件系统这完的其他文件系统要想能够访问, 都必须通过“关联”至根文件上的某个目录来实现,次关联操作即为“挂载”;此目录几位“挂载点”;     挂载点:mount-point,用于做为另一个文件系统的访问入口; …

    Linux干货 2016-11-22
  • redis主从复制(4)— client buffer

    1、 client buffer的设计 redis server以单进程的方式处理接收到的请求,而redis完成请求有些工作比较慢,比如网络IO和磁盘IO等比较慢的操作。redis为了提高处理客户端请求的响应时间,做了很多优化。比如网络io和磁盘io是异步完成、使用后台进程完成bgsave和bgrewriteaof工作,在server端为客户提供读buffe…

    Linux干货 2016-03-28
  • 可伸缩的逻辑卷

    什么是逻辑卷? 逻辑卷简称LVM, LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性.   为什么要使用逻辑卷? 逻辑卷相比于一般的磁盘分区, 具有更高的灵活性。可随时伸缩空间的大小.   构建逻辑分区图:   逻辑卷概念: PV(物理卷): 是在…

    Linux干货 2016-09-01
  • 关于IO的同步,异步,阻塞,非阻塞

    上次写了一篇文章:Unix IO 模型学习。恰巧在这次周会的时候,@fp1203 (goldendoc成员之一) 正好在讲解poll和epoll的底层实现。中途正好讨论了网络IO的同步、异步、阻塞、非阻塞的概念,当时讲下来,大家的理解各不相同,各执己见。搜索了网络上的一些文章,观点也各不相同,甚至连wiki也将异步和非阻塞当成一个概念在解释。  &…

    Linux干货 2015-04-02

评论列表(1条)

  • stanley
    stanley 2016-04-05 22:31

    已置顶