热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于上下文的访问控制与基于区域策略的防火墙

基于上下文的访问控制与基于区域策略的防火墙拓扑图地址表DeviceInterfaceIPaddressR1F00192.168.22.1S00010.1.22.1R2S00010.

基于上下文的访问控制与基于区域策略的防火墙

拓扑图

 

 

地址表

Device

Interface

IP address

R1

F 0/0

192.168.22.1

S 0/0/0

10.1.22.1

R2

S 0/0/0

10.1.22.2

S 0/0/1

10.2.22.2

R3

F 0/0

172.16.22.3

S 0/0/0

10.2.22.3

PC-A

NIC

192.168.22.4

Default Gateway

192.168.22.1

PC-C

NIC

172.16.22.4

Default Gateway

172.16.22.3

 

 

基于上下文的访问控制

预配置:

在配置防火墙之前验证设备间连通性,即先配置静态路由

R1(config)#ip route 10.2.22.0 255.255.255.0 10.1.22.2

R1(config)#ip route 172.16.22.0 255.255.255.0 10.1.22.2

R2(config)#ip route 192.168.22.0 255.255.255.0 10.1.22.1

R2(config)#ip route 172.16.22.0 255.255.255.0 10.2.22.3

R3(config)#ip route 10.1.22.0 255.255.255.0 10.2.22.2

R3(config)#ip route 192.168.22.0 255.255.255.0 10.2.22.2

在R3启用密码

R3(config)#enable password abc123

启用console口密码

R3(config)#line console 0

R3(config-line)#password abd123

启用vty行接入密码

R3(config)#line vty 0 4

R3(config-line)#password abe123

把S1、S2所有交换机接口都在Vlan1(S2同理)

S1(config)#int f 0/1

S1(config-if)# switchport access vlan 1

S1(config-if)# switchport trunk allowed vlan 1

S1(config)#int f 0/2

S1(config-if)# switchport access vlan 1

S1(config-if)# switchport trunk allowed vlan 1

预配置完成

验证

在PC-C的命令提示符中ping PC-A服务器

 

在PC-C命令提示符中telnet路由R2的s0/0/1接口:地址时10.2.22.2.退出telnet阶段

 

在PC-C开一个网页浏览器登入PC-A来展示网页。关掉PC-C的浏览器。

 

在PC-A的命令提示符ping PC-C

在R3配置一个命名IP ACl阻隔所有外网产生的流量

用ip access-list extended指令创造一个已命名的IP ACL

R3(config)#ip access-list extended out-in

R3(config-ext-nacl)# deny ip any any

R3(config-ext-nacl)# exit

在s0/0/0应用ACl

R3(config)#int s 0/0/0

R3(config-if)# ip access-group out-in in

 

确保进入s0/0/1接口的流量被阻隔

在PC-C命令提示符ping PC-A服务器。ICMP回送响应会被ACL阻隔 

创建一个CBAC检测规则

第一步  创建一个检测规则来检测ICMP,Telnet,和HTTP流量。

R3(config)# ip inspect name IN-OUT-IN icmp

R3(config)# ip inspect name IN-OUT-IN telnet

R3(config)# ip inspect name IN-OUT-IN http

第二步   开启时间戳记记录和CBAC审计跟踪信息。

R3(config)# ip inspect audit-trail

R3(config)# service timestamps debug datetime msec

R3(config)# logging host 192.168.22.3

第三步    对在s0/0/1的出口流量用检测规则。

R3(config-if)# ip inspect IN-OUT-IN out

 

第四步   验证审计跟踪信息正被syslog服务器记录

在PC-C 成功ping、telnet访问PC-A来检测连通性。需要注意Telnet不了。

 

在PC-A,ping,Telnet PC-C来检测连通性,这两步都被阻隔掉

CBAC基于上下文的访问控制配置完成。

基于区域策略的防火墙

验证基本网络连通性

PC-A ping通PC-C

 

PC-C telnet到s0/0/0接口

 

在R3创建区域防火墙

第一步   创建一个内部区域。

R3(config)# zone security IN-ZONE

第二步 创建外部区域

R3(config-sec-zone)# zone security OUT-ZONE

R3(config-sec-zone)# exit

定义一个流量级别和访问列表

第一步   创建一个用来定义内部流量的ACL

R3(config)# access-list 101 permit ip 172.16.22.0 0.0.0.255 any

第二步 创建一个涉及内部流量ACL的class map

R3(config)# class-map type inspect match-all IN-NET-CLASS-MAP

R3(config-cmap)# match access-group 101

R3(config-cmap)# exit 

指定防火墙策略

第一步 创建一个策略图来确定对匹配的流量干啥。

R3(config)# policy-map type inspect IN-2-OUT-PMAP

第二步 定义一个检测级别类型和参考策略图。

R3(config-pmap)# class type inspect IN-NET-CLASS-MAP

第三步  定义检测策略图

Inspect这个指令调用基于上下文的访问控制(其他还有通过和丢弃)

 

应用防火墙策略

第一步 创建一对区域

R3(config)# zone-pair security IN-2-OUT-ZPAIR source IN-ZONE destination OUT-ZONE

第二步 定义策略图来控制两个区域的流量。

R3(config-sec-zone-pair)# service-policy type inspect IN-2-OUT-PMAP

R3(config-sec-zone-pair)# exit

第三步 把端口调用到合适的安全区域。

R3(config)# interface fa0/0

R3(config-if)# zone-member security IN-ZONE

R3(config-if)# exit

R3(config)# interface s0/0/0

R3(config-if)# zone-member security OUT-ZONE

R3(config-if)# exit

测试从IN-ZONE到OUT-ZONE的防火墙功能

第一步 PC_C ping PC-A服务器

第二步 从PC-Ctelnet到R2 的s0/0/1口

 

PC-C打开网页登到PC-A的服务器

 

测试外部区域到内部区域的防火墙功能

验证配置ZPF之后外部无法访问内部。

第一步 PC-A ping PC-C(ping 不通)

 

第二步 R2 ping PC-C也ping不通

 

 

到此基于区域策略的防火墙配置验证完成。

 


转载于:https://www.cnblogs.com/kirsto/p/10908535.html


推荐阅读
  • FastDFS Nginx 扩展模块的源代码解析与技术剖析
    FastDFS Nginx 扩展模块的源代码解析与技术剖析 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 在《Linux高性能服务器编程》一书中,第3.2节深入探讨了TCP报头的结构与功能。TCP报头是每个TCP数据段中不可或缺的部分,它不仅包含了源端口和目的端口的信息,还负责管理TCP连接的状态和控制。本节内容详尽地解析了TCP报头的各项字段及其作用,为读者提供了深入理解TCP协议的基础。 ... [详细]
  • 该大学网站采用PHP和MySQL技术,在校内可免费访问某些外部收费资料数据库。为了方便学生校外访问,建议通过学校账号登录实现免费访问。具体方案可包括利用学校服务器作为代理,结合身份验证机制,确保合法用户在校外也能享受免费资源。 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • 在优化Nginx与PHP的高效配置过程中,许多教程提供的配置方法存在诸多问题或不良实践。本文将深入探讨这些常见错误,并详细介绍如何正确配置Nginx和PHP,以实现更高的性能和稳定性。我们将从Nginx配置文件的基本指令入手,逐步解析每个关键参数的最优设置,帮助读者理解其背后的原理和实际应用效果。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • Python 程序转换为 EXE 文件:详细解析 .py 脚本打包成独立可执行文件的方法与技巧
    在开发了几个简单的爬虫 Python 程序后,我决定将其封装成独立的可执行文件以便于分发和使用。为了实现这一目标,首先需要解决的是如何将 Python 脚本转换为 EXE 文件。在这个过程中,我选择了 Qt 作为 GUI 框架,因为之前对此并不熟悉,希望通过这个项目进一步学习和掌握 Qt 的基本用法。本文将详细介绍从 .py 脚本到 EXE 文件的整个过程,包括所需工具、具体步骤以及常见问题的解决方案。 ... [详细]
  • 在iOS开发中,基于HTTPS协议的安全网络请求实现至关重要。HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer)是一种旨在提供安全通信的HTTP扩展,通过SSL/TLS加密技术确保数据传输的安全性和隐私性。本文将详细介绍如何在iOS应用中实现安全的HTTPS网络请求,包括证书验证、SSL握手过程以及常见安全问题的解决方法。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • C#微信开发入门教程第二篇:新手快速上手指南,含详细视频讲解
    在距离上次课程一个多星期后,我们终于带来了第二讲的内容。虽然原计划是一周一次更新,但由于工作繁忙有所延迟。近期在交流群中发现,一些初学者已经能够熟练调用微信接口,但对微信公众平台的消息接收处理机制还不够了解。因此,本次课程将详细介绍如何高效处理微信公众平台的消息接收,并提供详细的视频讲解,帮助大家快速上手。 ... [详细]
  • 本文详细解析了神州数码DCRS5980交换机的基础配置流程和技术要点。首先,通过进入配置模式(`enable`),设置主机名(`hostname 5980`),并创建VLAN,逐步介绍了设备的初始设置步骤。此外,还涵盖了端口配置、IP地址分配及安全设置等关键环节,为用户提供了全面的配置指导。 ... [详细]
  • 本文介绍了如何使用Python的Paramiko库批量更新多台服务器的登录密码。通过示例代码展示了具体实现方法,确保了操作的高效性和安全性。Paramiko库提供了强大的SSH2协议支持,使得远程服务器管理变得更加便捷。此外,文章还详细说明了代码的各个部分,帮助读者更好地理解和应用这一技术。 ... [详细]
author-avatar
薛佩璇-_585
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有