安全自动化企业网络架构 (毕设分享)

news2025/8/2 17:39:33

一、前言:

前段时间完成了自己的毕设项目——安全自动化企业网络架构。总的来说,该项目是一个对自己的挑战,其中涉及到Kubernetes容器云的搭建以及安全加固,DevOps CI/CD部署容器化监控平台,Django自动化运维平台开发,基于Cisco的安全企业网络架构等技术能。

完成该毕设的直接原因是因为自己技术学习比较广泛,但是很多方向深度和实践不够,需要通过一次实操进行整理和巩固。这里做一个简单的分享。

Tips:限于实验设备的性能和可用的镜像,本次项目的内容仅能提供少量的实际参考价值。

二、架构方案概述:

系统架构的概述如图1所示。总体来说,整个系统架构可以分为以下两部分:DevOps/NetDevOps和企业安全网络建设。
在这里插入图片描述

图1 项目架构导图

其中,DevOps/NetDevOps分支包含两个主要部分:DevOps CI/CD套件和NetDevOps容器Web管理平台。DevOps CI/CD套件部分涵盖了自动化Kubernetes私有云环境的特定组件。此外,NetDevOps容器Web管理平台是部署在Kubernetes私有云网络上的容器应用。它集成了各种工具,使传统安全企业网络的运行自动化。

同样的,企业安全网络建设分支同样包括两种类型的网络架构:安全Kubernetes云网络和安全传统网络。其中,安全Kubernetes云网络部分包含针对Kubernetes云环境的安全加固技术。安全的传统网络部分则介绍了使用企业级网络安全设备构建完全安全的传统企业网络的具体解决方案。

三、架构方案分析:

1.DevOps / NetDevOps

该部分分为两个子模块,分别实现了NetDevOps Web管理平台的DevOps CI/CD套件构建和部署。

子模块1:Devops CI/CD套件:
CI/CD是DevOps中的一个重要概念和技术。具体来说,CI是在发生源代码更改后自动检测、提取、构建和(在大多数情况下)单元测试的过程。它的目标是快速确保开发人员新提交的更改适合在代码库中进一步使用。然而,CD指的是整个过程的管道,它自动监视源代码更改,并通过构建、测试、打包和相关操作来运行它们,以生成可部署的版本。这种管道技术的最终目标是软件开发过程中的自动化、效率、可靠性、可重复性和质量保证。

在该项目中,用于CI/CD的工具是Gitlab, Jenkins和Harbor。其中,Gitlab是一个代码存储仓库,专门存储自动化运营管理平台的相关开发代码和容器配置文件(DockerFile)。当配置文件提交到Gitlab时,Jenkins下载提交的文件,并从DockerFile生成容器的镜像发送到Harbor存储库。Jenkins然后使用从Gitlab获得的部署文件,将NetDevOps Web自动化管理平台作为容器部署到Kubernetes云平台上。最后,云平台从Harbor存储库下载镜像,然后通过镜像运行容器。

子模块2:Netdevops Web管理平台:
该解决方案还包括一个网络设备管理平台。该平台使用Bootstrap作为前端框架,Django作为后端框架开发。Django是一个使用Python语言进行后端开发的框架。它的功能非常全面,包括数据库和后台管理功能。这两个特性在其他Python Web后端框架中不可用。具体而言,该平台可以实现网络设备的可达性检测、管理和配置等功能。此外,必须注意的是,自动化管理Web平台最终作为容器部署在企业的私有云环境中。最后,通过与开源软件的结合,该Web平台可以实现对部署的企业网络设备的索引监控和日志分析。

总的来说,构建上述两个模块的主要目的是自动化解决方案中内置的后续安全企业网络的操作。

2.安全企业网络建设

第二部分是企业安全网络建设。该部分分为安全Kubernetes云网络建设和传统安全网络环境两个子模块。

子模块1:构建安全Kubernetes云网络
今天的云平台通常在容器中部署应用程序。根据Google对容器的定义,“容器是应用程序代码的轻量级包,它还包含依赖项,例如编程语言Runtime的特定版本和运行软件服务所需的库。换句话说,容器是一个软件包,它包含在任何环境中运行所需的所有元素。Kubernetes是一个开源的、新的基于容器的分布式系统平台。它可以为集装箱化应用提供部署和操作、资源调度、服务发现和动态伸缩等一系列完整的功能,提高大规模集装箱集群管理的便捷性。

在本项目中,企业在其总部部署了私有云平台,主要用于发布一些容器应用,为员工提供资源库,如上文所述的Web自动化管理平台。此外,部署的Kubernetes集群由一个Master节点和三个Worker节点组成。其中一个工作节点是不同的,因为它可以在沙箱中运行容器。Kubernetes集群拓扑如图2所示。
在这里插入图片描述

图2 Kubernetes集群拓扑

一方面,Master节点管理整个集群,并且没有容器应用程序在它自身上运行。另一方面,Worker节点由主节点管理,主节点将根据主节点的时间表创建、水平扩展、删除和执行容器应用程序的其他基本操作。此外,针对云平台的安全,本方案主要采用Kubernetes云原生安全加固方法,主要包括:

  1. 使用Kube-bench工具扫描云平台漏洞。
  2. 部署Nginx的HTTPS证书。
  3. 对Kubernetes集群中的用户进行认证、授权和访问控制。
  4. 在沙箱中部署容器。
  5. 使用Trivy工具检查容器的图像是否存在漏洞。

此外,对于一些需要从集群备份的数据,本设计将利用Kubernetes专用的卷挂载技术将容器数据备份到网络文件系统(NFS)服务器。使用这种技术的优点是,即使容器应用程序由于某种故障而被删除,它的重要数据仍然可以保留。因此,随后重新创建的容器仍然可以加载和利用以前的数据。

最后,为了方便私有云平台的管理,本解决方案中还部署了Kuboard Web UI和相关的开源插件(Prometheus-Operation和Grafana Loki),以可视化监控健康云平台的各种指标,并聚合日志信息。

子模块2:安全的传统网络建设
在该解决方案中,安全企业网络部署中使用的所有网络安全设备都来自思科。主要有三个原因:第一个原因是思科的安全产品系列齐全,包括各种类型的防火墙、身份认证服务器、流量分析等设备。第二个原因是在安全设备方面,通常需要同一厂家的设备更加紧密的配合,才能达到更好的防护效果。第三,由于思科设备在世界上占有很大的份额,它得到了各种开源操作工具的很好支持。此外,使用的路由器和交换机也是思科为数据通信设备兼容的安全设备。最后,其他终端设备主要使用Windows设备,如PC和服务器。

具体来说,思科在这个设计架构中有四种不同的防火墙功能。他们是ASA,Firepower,ESA和WSA。认证服务器使用Cisco ISE设备。对于网络流量监控设备,使用了思科公司的stealthwatch相关设备。除了安全设备外,还分别使用Cisco L3 Switch和Router进行路由和交换。这些企业级网络安全设备涉及到流量安全策略、防火墙高可用性、VPN、入侵防御检测、流量分析、邮件和Web安全、身份认证、标签分析联动、交换机和路由器安全等安全防护相关技术。

接下来,根据具体的安全网络拓扑结构进一步说明每个关键网络或安全设备的作用和功能。图3显示了整个项目设计的网络拓扑结构。网络架构分为总部(Headquarters)、ISP和远程站点(Remote Site)。
在这里插入图片描述

图3. 网络拓扑概况

总部网络架构与设备分析:
总部的网络架构是这个解决方案的重要组成部分。整个网络被Firepower防火墙(图3中的FTD)分为三个部分:连接Gateway-switch的Outside zone、连接Core-switch的Inside zone和连接DMZ- access -switch的DMZ zone。Firepowe系列防火墙是思科公司推出的下一代防火墙。在满足标准防火墙基本的流量访问控制的同时,集成IPS module与流量应用识别、反病毒、内容检测等功能,为企业网络提供可靠的安全保障。另外,为了保证网络的可靠性,这里设置了两台FTD设备。当一台设备故障时,另一台设备可以接管它的工作,以保证网络流量通信。

在Outside区域中,最关键的设备是ASA-SVN。ASA的全称是Cisco Adaptive Security Appliance,是Cisco公司推出的一款经典的状态过滤防火墙。基于会话信息和安全策略对流量进行控制。支持多种类型的VPN,为企业提供特定规格的接入能力。该设备作为总部的网关和VPN隧道的端点。确保总部用户可以访问外部网络,Remote-site和Home-Users可以通过VPN访问总部内部资源。

在Inside区域中,主要对象是总部中的用户。在Inside区域中有三种类型的用户:It-admin、Employee和Guest。这些用户通过访问不同的接入交换机进入不同的虚拟局域网。后续所有流量都会汇聚到Core- switch上,经过Core FTD设备进行安全检测。

在DMZ区域中,有各种服务器和安全设备。第一个设备是MGMT-PC。管理员可以通过MGMT-PC直接管理DMZ内的其他设备。

第二个设备是Linux服务器。部署了两个已经提到的应用程序CI/CD套件(Gitlab-Jenkins-Harbor)和web Kubernetes集群管理平台(Kuboard)。此外,在该服务器上还部署了两个开源网络监控软件单元。它们是用于设备指标监控的telegrafa-influxdb-grafana套件。以及用于设备日志分析的FileBeat-ElasticSearch-Kibana套件。

第三个设备是Windows Server。在Windows Server上,全网部署了CA证书服务器、AD域服务器、DNS服务器、NTP服务器、Mail服务器、DHCP服务器、Web服务器、FTP服务器等各种企业级服务器。保持这些服务器正常运行可以为总部的用户提供必要的资源和服务。

第四个设备是ISE,它代表身份服务引擎。它是认证和授权服务器,也是安全策略管理平台。它的主要功能是为最终用户和设备提供安全的网络访问。此外,在项目的设计中,ISE支持为连接到网络的各种类型的用户创建和执行安全和访问策略。最后,ISE作为全网的安全中心,还可以使用标签共享技术,连接其他安全设备,共享用户信息,提高安全防护的有效性。

第五种设备是FMC,即防火墙管理中心(Firewall Management Center),用于在多个平台上管理思科安全产品。在本项目的网络拓扑中,FMC主要用于两个核心Firepower设备的集中管理。

第六和第七个设备分别是ESA(电子邮件安全设备)和WSA (Web安全设备)。这两种设备分别是思科的邮件防火墙和Web防火墙。同样,这两种防火墙的核心技术都是代理。需要拦截邮件和Web流量并将其发送到防火墙。防火墙会根据配置的安全策略对流量进行检测。只有检测到的流量才会被防火墙发送到实际目的地址,而不是发送方。

最后两个设备,Stealthwatch控制台(SMC)和Stealthwatch收集器(SFC),它们一起工作,分析可疑的流量。SFC是一个流量收集器,可以收集特定格式的交通信息。SFC会将收集到的流量聚合后,送交SMC作进一步分析及处理。然后,SMC可以通过机器学习算法对加密的交通信息进行建模和分析。一旦流量异常值分析,SMC将通知防火墙阻止流量。

ISP网络架构与设备分析
ISP网络通过思科路由器连接总部和远端站点。此外,ISP网络中还部署了Windows服务器,并开启了AD域、DNS和Mail服务。该服务器被设计用于与总部的内部邮件交换。

远端站点组网结构与设备分析
在这个远端站点中需要注意的是ASA-Gateway设备。首先,它充当这个远程站点的网关。此外,ASA设备还提供对站点流量的安全管理。最后,ASA与总部的ASA- SBN设备建立IPSec VPN隧道,保证两个站点可以直接通信。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/35043.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS3------盒模型

盒模型 每个标签在浏览器上都被渲染成一个矩形个盒子&#xff0c;这个盒子有一个标准都组成结构&#xff0c;我们称为标准盒模型 盒模型构成 <!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8"> <meta name&qu…

【MM小贴士】物料主数据的中止与后继(2)

【日常吐槽】项目要上线了&#xff0c;70w的物料主数据导完了&#xff0c;有一部分小伙伴被隔离了&#xff0c;没人陪我玩&#xff0c;所以再补充几点日常blog。 很久以前发票了一篇博客&#xff0c;是关于物料主数据的中止与后继&#xff0c; 前期的blog可以参考【MM小贴士】…

Euler diagram

An Euler diagram (/ˈɔɪlər/, OY-lər) is a diagrammatic means of representing sets and their relationships. They are particularly useful for explaining complex hierarchies and overlapping definitions. They are similar to another set diagramming techniqu…

使用css形变实现一个立方体

关于 Nuxt.js 2016 年 10 月 25 日&#xff0c;zeit.co 背后的团队对外发布了 Next.js &#xff0c;一个 React 的服务端渲染应用框架。几小时后&#xff0c;与 Next.js 异曲同工&#xff0c;一个基于 Vue.js 的服务端渲染应用框架应运而生&#xff0c;我们称之为&#xff1a;…

速卖通跨境智星,速卖通合理补单技法

1、测评的用途   提升店铺信誉等级和好评&#xff0c;最重要的是提升产品权重和搜索排名&#xff0c;因为如果产品没有曝光&#xff0c;就没有流量&#xff0c;当然当有了权重和搜索排名&#xff0c;好评也是必不可少的。 2、爆款打造   很多新人在测评的时候会关注店铺排名…

Git版本控制工具使用

文章目录1. CICD系统构成和流程1.1 CICD来源及概念1.2 Git版本控制系统2. Git操作和使用git config (基本配置操作)git clone <repo URL\> (创建仓库|拷贝已有仓库)git branch (分支相关操作- 创建|查看|删除)git checkout (操作文件和分支)git add/commit (提交和修改-保…

Unity导入URDF模型(turtlebot3 waffle pi为例)

本篇文章介绍Unity下如何导入机器人的URDF模型&#xff0c;主要参考官方教程&#xff1a;https://github.com/Unity-Technologies/Unity-Robotics-Hub/blob/main/tutorials/urdf_importer/urdf_tutorial.md   关于导入的机器人模型选择了turtlebot3 waffle pi作为示例 1.Uni…

Sa-Token

介绍 类似于Security的认证授权的解决方案&#xff0c;但是使用起来非常方便&#xff0c;1.支持登录认证&#xff0c;授权权限验证&#xff0c;踢人&#xff1b;2.支持自定义Token&#xff0c;并且能够结合Redis完成前后端分离认证方案&#xff1b;3.支持单点登录&#xff08;…

柯桥成人英语培训机构哪家好,新陈代谢到底是什么?

新陈代谢到底是什么? Metabolism is a combination of biochemical processes that your body uses to convert food into energy. These metabolic processes include breathing, eating and digesting food, the delivery of nutrients to your cells through the blood, th…

【Linux】(四)VS Code远程开发方式-实验室服务器使用VS Code远程开发

VS code 方式系列文章一、服务器情况简介1.1服务器及用户1.2 cuda1.3 conda环境二、VS code连接使用说明2.1 下载VS code2.2 配置2.3 调试文件附录&#xff1a;VS code调试复杂配置公共数据集系列文章 &#xff08;一&#xff09;服务器初次配置及安装vncserver &#xff08;二…

磨金石教育摄影技能干货分享|古风人像拍摄要注意哪些问题

古风人像与普通人像的拍摄略有不同&#xff0c;有三个要素需要做好准备。服装、妆容、道具。 服装有不少考究&#xff0c;不同的服装有不同的风格&#xff0c;侠士、温婉、清新、可爱等等&#xff0c;今天我们要拍摄的主题风格是侠女。所以选择的是魏晋风汉服。 妆 容 妆容也是…

【无人机】基于PID控制器和A星算法实现无人机路径规划附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

生鲜电商十年:如何撞破盈利难墙?谁在竞速突围?

生鲜电商已十年。 这十年间&#xff0c;无数资本和公司前赴后继&#xff0c;试图探索出一条持续盈利路径&#xff0c;并完成商业模式的持续迭代&#xff0c;然而成功者寥寥。 这么大规模、长时间的摸索&#xff0c;在整个互联网行业都较为少见。一是因为它足够难&#xff0c;…

神经网络和深度学习-反向传播back propagation代码

反向传播back propagation代码 再简单模型中&#xff0c;按照下图的神经网络来完成模型的训练 在复杂的模型当中&#xff0c;输入&#xff0c;权重&#xff0c;隐藏层的数量都是很多的&#xff0c;例如下图中&#xff0c;输入x有5个神经元&#xff0c;第一层隐藏层h中有6个神经…

Rust China Hackathon 2022 达坦科技组空中宣讲会来啦!

Rust China Hackathon 2022 即将来袭&#xff01; 本届Hackathon的主题为「Rust For Fun」&#xff0c;分为「社区组」与「企业组」。 达坦科技作为本届Hackathon的协办方&#xff0c;赞助参与本次企业组赛道&#xff0c;将基于Xline这个开源项目&#xff0c;就Concurrent Inde…

【linux】物理磁盘挂载目录——(分区、格式化、重启自动挂载)

大家好&#xff0c;我是好学的小师弟&#xff01; 现有一全新的物理磁盘需要挂载到某个目录下&#xff0c;操作步骤如下。 目录 一、磁盘分区 二、磁盘格式化 三、磁盘挂载 四、重启自动挂载 注意点: 1.该目录要存在&#xff0c;不存在的话需手动mkdir创建 2.该目录需要为…

IMS各网元的主要功能

文章目录用户注册时&#xff1a; 手机发出一个注册消息到他所在的拜访地的P。 比如&#xff0c;他是山西太原的用户&#xff0c;他这时候到了北京&#xff0c;那么这个时候&#xff0c;他要注册到IMS网络里面的话&#xff0c;这个P-CSCF就是北京的P-CSCF&#xff0c;这个北京的…

[附源码]java毕业设计游戏账号交易平台

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【零基础入门MyBatis系列】第十一篇——动态SQL

一、概述 &#x1f4d6; 1、什么是动态SQL&#xff1f; 根据不同条件生成不同的SQL语句&#xff0c;是mybatis的一大优势。用于动态拼接SQL语句 &#x1f4d6; 2、如何实现动态SQL&#xff1f; mybatis 为我们提供了一些标签&#xff0c;在写SQL语句的时候&#xff0c;合理…

Qt | QListView、QListWidget、QTableView、QTableWidget的使用示例及区别

Qt | QListView、QListWidget、QTableView、QTableWidget的使用示例及区别 目录Qt | QListView、QListWidget、QTableView、QTableWidget的使用示例及区别1、简介2、使用示例1、QListView2、QTableView3、QListWidget4、QTableWidget1、简介 QListView、QListWidget是列表形式…