今天主要带来的是网络安全必不可少的保护神,那就是防火墙,谈起防火墙,相信搞网络的各位同胞们都知道他是做什么的,顾名思义,防火墙吗,不就是防火的吗,对,是防火的,他防的就是网络中那些威胁我们网络安全的恶意流量,先带大家简单认识一下。

防火墙概述及定义:

1.所谓防火墙指的是一个有软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障。
2.防火墙是一种保护计算机网络安全的技术性措施,它通过在网络边界上建立相应的网络通信监控系统来隔离内部和外部网络,以阻挡来自外部的网络***。
3.防火墙是汽车中一个部件的名称。在汽车中,利用防火墙把乘客和引擎隔开,以便汽车引擎一旦着火,防火墙不但能保护乘客安全,而同时还能让司机继续控制引擎。在电脑术语中,当然就不是这个意思了,我们可以类比来理解,在网络中,所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法,它实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外,最大限度地阻止网络中的***来访问你的网络。换句话说,如果不通过防火墙,公司内部的人就无法访问Internet,Internet上的人也无法和公司内部的人进行通信。

防火墙的主要优点:

(1)防火墙能强化安全策略。
(2)防火墙能有效地记录Internet上的活动。
(3)防火墙限制暴露用户点。防火墙能够用来隔开网络中一个网段与另一个网段。这样,能够防止影响一个网段的问题通过整个网络传播。
(4)防火墙是一个安全策略的检查站。所有进出的信息都必须通过防火墙,防火墙便成为安全问题的检查点,使可疑的访问被拒绝于门外。

这里我用的思科的ASA5500防火墙,先做一个简单介绍:

ASA安全设备(也叫ASA防火墙)

ASA5500系列
具备功能:
1防火墙技术(cisco PIX)
2IPS技术(cisco IPS)
3NW-AV(cisco IPS,AV)
4×××(cisco ××× 3000)
5网络智能(思科网络服务)
6应用检测,使用实施,WEB控制(应用安全)
7而已软件,内容防御,异常流量检测(Anti-X防御)
8流量,准入控制,主动相应(网络抑制和控制)
9安全连接(IPSec & SSL ×××)

防火墙的接口名称
1物理名称 G0/0/1
2逻辑名称 用来描述安全区域 例如inside outside

接口安全级别
范围:0-100 数字越大安全级别高,反之越小
inside(内网) 安全级别100
outside(外网) 安全级别0

inside---------防火墙---------outside

实验拓扑:

网络安全的保护神——防火墙

实验需求:

  • DMZ发布Web服务器,Client2可以访问
  • 配置ACL禁止Client3访问Server2
  • Server3 使用命令show conn detail查看Conn表分别查看ASA和AR的路由表

    地址规划:

设备 端口 IP地址及掩码
Server1 10.1.1.1/24
Client1 10.2.2.2/24
Server2 192.168.8.100/24
Client2 192.168.8.1/24
Server3 192.168.3.100/24
Client3 192.168.3.1/24
路由器 Gi0/0/0 10.1.1.254/24
路由器 Gi0/0/1 10.2.2.254/24
路由器 Gi0/0/2 192.168.1.1/24
防火墙 G0 192.168.1.254/24
防火墙 G1 192.168.8.254/24
防火墙 G2 192.168.3.254/24

实验思路及步骤:

一、根据地址规划配置IP地址

1.根据地址规划配置路由器及终端设备的IP地址,过程比较简单,这里我就不做详细说明了
2.配置ASA防火墙的接口:
ciscoasa(config)# int g0
ciscoasa(config-if)# nameif inside 给逻辑接口命名
INFO: Security level for "inside" set to 100 by default. inside区域的安全级别默认是100
ciscoasa(config-if)# ip address 192.168.1.254 255.255.255.0
ciscoasa(config-if)# no shutdown
ciscoasa(config-if)# security-level 100
ciscoasa(config-if)# int g1
ciscoasa(config-if)# nameif outside 给逻辑接口命名
INFO: Security level for "outside" set to 0 by default. outside区域的安全级别默认是0
ciscoasa(config-if)# ip address 192.168.8.254 255.255.255.0
ciscoasa(config-if)# no shutdown
ciscoasa(config-if)# security-level 0
ciscoasa(config-if)# int g2
ciscoasa(config-if)# nameif DMZ 给逻辑接口命名
INFO: Security level for "DMZ" set to 0 by default.
ciscoasa(config-if)# ip address 192.168.3.254 255.255.255.0
ciscoasa(config-if)# no shutdown
ciscoasa(config-if)# security-level 50 更改DMZ区域的安全级别为50

二、配置默认路由

1.配置路由器的默认路由
[R1]ip route-static 0.0.0.0 0.0.0.0 192.168.1.254
2.配置防火墙的静态路由
ciscoasa(config)# route inside 10.1.1.0 255.255.255.0 192.168.1.1
ciscoasa(config)# route inside 10.2.2.0 255.255.255.0 192.168.1.1

验证:

通过display Ip routing-table查看路由器路由表:
网络安全的保护神——防火墙
通过show route 查看防火墙路由表:

网络安全的保护神——防火墙

三、配置任务内容
**1. DMZ发布Web服务器,Client2可以访问Server3**

首先在server3开启HTTP服务

网络安全的保护神——防火墙
然后在防火墙上配置ACL

分析:因为client2位于outside区域,安全级别比server3位于的DMZ区域安全级别低,所以当client2主动发起请求时,防火墙默认是不允许通过的,所以我们要制定ACL允许Client2访问Server3
命令如下:
ciscoasa(config)# access-list out-to-DMZ permit tcp host 192.168.8.1 host 192.168.3.100 eq www 允许192.168.8.1到192.168.3.100通过端口tcp80 访问
ciscoasa(config)# access-group out-to-DMZ in interface outside在outside口应用ACL
验证:
网络安全的保护神——防火墙

此时,client2可以访问server3.

**2. 配置ACL禁止Client3访问Server2**

首先配置server2的HTTP服务以及FTP服务

网络安全的保护神——防火墙

网络安全的保护神——防火墙

其次配置防火墙ASA
分析:因为Client3位于DMZ接口端,安全级别比server2的接口端安全级别高,所以防火墙ASA默认是允许访问SERVER2的,所以为了完成任务2,我们需要配置ACL拒绝由Client3访问Server2的流量
命令如下:
ciscoasa(config)# access-list DMZ-to-out deny ip host 192.168.3.1 host 192.168.8.100 拒绝从192.168.3.1到192.168.8.100的所有IP流量通过。
ciscoasa(config)# access-group DMZ-to-out in interface DMZ 在DMZ接口应用ACL

验证调用情况:
网络安全的保护神——防火墙

验证:

网络安全的保护神——防火墙
网络安全的保护神——防火墙

此时,client3已经不能访问server2了。

结果验证

路由器通过display ip routing-table查看路由表:

网络安全的保护神——防火墙

防火墙ASA通过show conn detail 查看conn表:

网络安全的保护神——防火墙

总结:

不同安全级别的接口之间访问时,遵从的默认规则
1允许出站(outbound)连接
2禁止入站(inbound)连接
3禁止相同安全级别的接口之间通信(两边的安全级别都为50等等)

高安全级别---->低安全级别(是可以访问的)
低安全级别---->高安全级别(是不可以访问的)

例如:公司1楼的保安(防火墙机制),公司内部人员可以通过员工识别卡来进出,但是陌生人则会被阻拦
如果想实现安全级别低的区域访问安全级别高的区域,必须通过配置ACL允许流量通过。