通过一次安全处理暴露的问题
liuian 2024-12-02 22:19 71 浏览
对于企业而言,信息化系统建设不仅仅只是建设一套系统,满足具体业务场景那么简单,企业的信息化往往是一项系统工程,包括设施、硬件、软件、网络、安全等一系列工作,而在整个规划建设过程中,安全建设又是重中之重,特别是对于一些敏感数据或核心数据,做好安全管控是保证信息化建设成果的重要手段。
由于最近在对一个集成底座项目进行安全扫描时,发现了部分中高危漏洞,在进行漏洞修复的过程中,对集成底座各个产品的安全机制进行梳理,以便在后续项目中进行优化调整,降低安全风险。
总体说明
集成底座主要包括三个产品:IDM统一认证平台、MDM基础数据平台、ESB企业服务总线,三个产品中IDM作为5A管控平台,尤其强调安全层面的控制,包括密码、认证、数据等层面;而MDM作为主数据平台更多的是强调数据管理的安全以及上下游同步分发的安全性;ESB作为集成通道提供服务开发、编排、API管理等功能,而ESB的安全更多是对API、服务的安全、报警等措施。
1.集成架构
集成底座方案的集成架构中由业务系统作为数据源头,提供基础数据并通过ESB同步至MDM平台进行统一管理;MDM将组织、人员等基础数据分发至IDM生成对应认证账号信息,用于支持统一认证,同时也可以将各类主数据分发到不通的系统中,实现主数据的统一,保证主数据的准确性、唯一性、完整性。通过IDM、MDM、ESB三者结合,实现主数据治理、5A安全管控、统一API管理等业务场景,从而实现IDM、MDM以及上下游系统的打通于集成。
2.部署架构
集成底座采用云平台的部署方案,内部部署K8S集群和相关产品,通过内网Nginx对外提供统一的访问入口,并在Nginx中配置不同的端口从而实现开发、测试、生产环境的隔离访问;再通过外网Nginx代理内网Nginx,从而提供外网的访问入口。
访问时内网通过VPN接入(或者在本地局域网访问),通过内网IP和端口直接访问内网Nginx,从而访问各个产品;外网访问时通过外网IP和端口先访问到外网Nginx,再指向内网Nginx进行内部集群和产品的访问。
3.安全问题
在对项目中的集成底座服务器进行安全扫描的过程中,发现了部分中高危漏洞,主要以Nginx和MySQL为主,所以对这些漏洞进行了处理,主要漏洞包括:
1.由于前期部署的版本为1.14版本的Ngixn,扫描的过程中发现Nginx存在远程攻击漏洞:
2.MySQL部署的版本为5.7.30版本,扫描发现存在安全漏洞,容易被攻击:
3.由于前期部署环境时,为了部署和访问需要,开通了22、3006等相关端口,为了提升系统的安全性,对这些非必要端口进行了处理,关闭这些端口:
漏洞修复
针对在系统扫描过程中暴露的相关安全问题,首先对服务器进行了安全修复,将相关的端口、产品等进行了处理,包括产品升级、端口关闭、防火墙调整的措施。
1.MySQL
由于MySQL采用的是5.7版本,而MySQL和产品紧密相关,如果对MySQL进行升级,一是无法保证在升级过程中系统访问的稳定性,二是升级后的MySQL产品未必能有效适配,可能导致访问异常,所以综合考虑采用端口处理的方式,将MySQL对外暴露的3306端口封闭,从而使外部地址无法通过3306端口攻击MySQL。而对于系统内部而言,由于K8S部署过程中,各个服务器之间已经在防火墙中进行了打通,所以不需要单独进行端口处理,只需要在防火墙中关闭3306端口即可。
2.Nginx
由于前期部署的是1.14版本的Nginx,在扫描过程中存在安全漏洞,而Nginx又是采用的高可用部署,所以直接对Nginx进行升级,升级成1.20版本,而在升级过程中主要需要考虑两点:
1.升级过程中需要保证配置文件的一致性,对于nginx.conf配置要进行迁移,同时注意调整配置文件中相关路径;
2.由于IDM产品中在Nginx配置了静态资源,要注意对静态资源进行迁移,同时对应调整配置文件中静态资源路径。
3.暴露端口
前期部署并未考虑端口暴露的问题,所以3306、22等端口均暴露在外,出于安全考虑,对端口进行了关闭。
网络安全
在对服务器进行安全修复的过程中,对服务器的安全处理方式进行了整理,从网络层面而言,主要的处理方案就是从防火墙和服务器的访问限制进行处理,通过控制外网IP的访问权限进行安全控制。
1.网络防火墙
网络防火墙是服务器的第一层安全控制,服务器最外层的防火墙,通过外网防火墙可以直接限制互联网对局域网的访问,以及局域网服务器是否能访问互联网等策略。在企业服务器网络建设中,一般会建设内外网访问区:
1.内网数据区采用纯内网访问,不能接入外网,也不允许外网访问,一般用于存放关键数据以及内部业务系统,如核心数据库、财务系统等;
2.DMZ隔离区主要用于和外网交互,可以访问外网,也能访问内网,主要用于部署非重要数据以及需要频繁外部交互的系统,如门户系统、OA系统等;
3.如果内网应用需要和外网系统进行交互,可以通过Nginx代理的方式经由DMZ区连接到外网,从而保证数据和系统访问的安全性。
2.服务器防火墙
服务器自身的防火墙配置,主要是用于保证服务器本身对外的访问和交互,一般根据需要放开对应的IP和端口,注意在K8S集群部署的过程中,可能会临时关闭防火墙,但是部署完成后,一定要开启防火墙,通过开放IP和端口的方式支撑服务器之间的交互。一般情况下,K8S集群服务需要开放对应内容:
1.开放K8S集群的各个服务器之间的互通;
2.部署对外访问的vip服务器,需要开发外部访问端口(如80、81、82对应的生产、测试、开发环境);
3.开发22端口用于ssh进行服务器连接访问(只开放一台服务器,或者不开放)。
3.搭建跳板机
为了保证服务器访问的安全性,避免被恶意访问,最好是通过跳板机的方式进行服务器的访问,即单独搭建一台跳板机服务器,先访问跳板机服务器,再通过跳板机以ssh方式跳转的K8S相关的服务器。如果现场环境不具备提供跳板机的调整,可以考虑在K8S服务器中选择一台服务器作为跳板机,根据大多数情况下K8S的部署方案,尽量不要选择数据库、Nginx、数据所在服务器,一般会选择master3所在服务器。
使用安全
通过对服务器的安全进行修复,以及调整相关的配置,对产品、部署、代码等相关安全措施进行了梳理,包括产品的配置、引擎的处理、数据的控制等相关内容。
1.三权分立
产品三权分立主要是将产品的使用权、配置权、监控权分开:
1.使用权只能使用功能和数据,如MDM的主数据管理、分发,IDM的组织、岗位、人员维护、分发、启停用等;
2.配置权限主要是针对相关的模型、流程等的权限控制,如MDM的数据建模、功能建模、流程建模等,IDM的流程建模、扩展配置等,ESB的API管理、应用集成;
3.监控权主要是对各个产品的数据监控、流程监控、日志监控等进行查看和监控。
通过分级授权控制产品的安全性是各个产品最基础的安全控制措施,而实现这种安全控制主要是通过平台功能管理实现的,通过组织、人员、标准角色、实际角色等多种授权机制保证访问安全。
2.密码强化
主要是针对产品部署、使用、配置过程中的密码进行强化,包括密码长度、密码复杂度等,注意一定要避免admin、root、123、123456等容易被破解的密码,主要涉及的密码有:
1.环境部署:
1)Redis集群的密码;
2)数据库的密码;
3)容器Redis密码;
2.产品配置:
1)MDM、IDM、ESB应用管理的系统密码;
2)IDM建议开启密码策略,通过策略控制登录用户不能使用弱密码;
3.产品使用:
1)MDM、IDM、ESB、UMC系统管理员admin的密码;
2)登录用户的密码,包括各分级普通管理员、普通用户等。
3.数据加密
数据加密主要是针对数据管理和传输过程中的加密,为了避免数据传输过程中被拦截和破解,相关数据需要进行加密处理,结合AES、DES、MD5、非对称加密等措施保证数据安全。主要加密措施:
1.ESB开发服务、流程进行数据传输时,可以通过加密组件对数据进行加密,实现密文传输;
2.IDM、MDM、ESB、UMC等平台存储密码等敏感信息时先进行密码再进行存储,保证数据库存储密文数据,如果在产品使用过程中需要解密,采用AES、DES、非对称加密等可解密的方式,否则MD5加密;
3.在平台前后端交互过程中,进行数据加密,前端加密后端解密,后端加密前端解密,或者完成采用密文等方式。
代码安全
除了产品使用层面做了安全控制,在产品的底层代码中,也从安全层面进行了考虑和优化,从引擎机制上实现安全控制,避免产品漏洞被恶意攻击,其中主要的防护措施主要有XSS、SQL注入、接口认证等。
1.XSS攻击
XSS攻击的处理,主要是在产品底层引擎中完成的控制,通过在平台配置XSS过滤参数,在底层代码中通过添加XSS过滤机制,消除XSS漏洞,防止产品被从外部进行攻击。
2.SQL注入
防SQL注入主要是通过产品底层的数据库操作优化实现的,采用预处理的方式对SQL进行参数化处理,避免直接动态拼接SQL,在配置文件中通过添加“_like”的方式处理动态拼接的SQL,避免SQL注入。
3.接口安全
对于IDM、MDM平台预置的相关数据接口,均添加token机制,调用接口时需要传入token,并且token的获取也是基于平台配置的业务系统编码和密码动态生成,并且会有时间限制,防止CSRF漏洞等安全攻击。
总结说明
集成底座项目是基于IDM、ESB、MDM产品完成企业的基础性的信息化框架建设,为后续的系统升级、扩展,以及深度的数据治理、数据分析奠定基础,所以前期的集成底座建设一定要做到稳定、安全、可复用、可扩展等特性,而IDM平台又是基于5A安全管控体系的,所以安全一定不能被忽略。
1.标准规程
集成底座项目由于相对比较统一、规范,而建设的内容又是基础信息化框架,所以在实际项目中比较容易做成标准化,所以在实施这类项目时要有标准的实施规程,按照规程进行实施交付,达到快速、准确交付的目的,同时在项目部署、实施、交付、运维过程中,要注意产品、环境的安全稳定,通过调优、安全等措施保证平台的稳定性。
2.安全意识
对于项目经理或技术经理而言,在项目实施交付的过程中,除了注意实施交付的流程,推送项目交付外,一定要有比较强的风险意识,不单单是项目实施过程中的风险,对于安全风险也要充分考虑,从项目前期的调研蓝图开始,就要考虑到后续的产品、环境、数据等相关的安全措施,避免实施过程中出现问题。
3.个人总结
在以前的项目中,虽然也处理过对于服务器安全、优化等相关的内容,但是无论是意识还是处理措施都是有所欠缺的,通过这次进行的安全修复,对产品、环境、服务器的安全措施又进行了一次梳理,无论是对集成底座方案的理解,还是对于后续项目的实施都是非常有帮助的。
对于集成底座项目而言,在实施过程中主要包括一下内容:基于IDM的5A体系建设,基于MDM的主数据治理,基于ESB的服务、API治理,而在实际项目过程中可以根据客户的实际需求进行分步建设,但是作为基础框架,无论是从安全性、稳定性、复用性、扩展性、集成性等方面都要做到位,才能有效支撑起企业的信息化建设,支持后续更深度的数据治理于分析。
本文由@数通畅联原创,欢迎转发,仅供学习交流使用,引用请注明出处!谢谢~
- 上一篇:CTF从入门到放弃day01
- 下一篇:网络安全岗位热门面试题
相关推荐
-
- 驱动网卡(怎么从新驱动网卡)
-
网卡一般是指为电脑主机提供有线无线网络功能的适配器。而网卡驱动指的就是电脑连接识别这些网卡型号的桥梁。网卡只有打上了网卡驱动才能正常使用。并不是说所有的网卡一插到电脑上面就能进行数据传输了,他都需要里面芯片组的驱动文件才能支持他进行数据传输...
-
2026-01-30 00:37 liuian
- win10更新助手装系统(微软win10更新助手)
-
1、点击首页“系统升级”的按钮,给出弹框,告诉用户需要上传IMEI码才能使用升级服务。同时给出同意和取消按钮。华为手机助手2、点击同意,则进入到“系统升级”功能华为手机助手华为手机助手3、在检测界面,...
- windows11专业版密钥最新(windows11专业版激活码永久)
-
Windows11专业版的正版密钥,我们是对windows的激活所必备的工具。该密钥我们可以通过微软商城或者通过计算机的硬件供应商去购买获得。获得了windows11专业版的正版密钥后,我...
-
- 手机删过的软件恢复(手机删除过的软件怎么恢复)
-
操作步骤:1、首先,我们需要先打开手机。然后在许多图标中找到带有[文件管理]文本的图标,然后单击“文件管理”进入页面。2、进入页面后,我们将在顶部看到一行文本:手机,最新信息,文档,视频,图片,音乐,收藏,最后是我们正在寻找的[更多],单击...
-
2026-01-29 23:55 liuian
- 一键ghost手动备份系统步骤(一键ghost 备份)
-
步骤1、首先把装有一键GHOST装系统的U盘插在电脑上,然后打开电脑马上按F2或DEL键入BIOS界面,然后就选择BOOT打USDHDD模式选择好,然后按F10键保存,电脑就会马上重启。 步骤...
- 怎么创建局域网(怎么创建局域网打游戏)
-
1、购买路由器一台。进入路由器把dhcp功能打开 2、购买一台交换机。从路由器lan端口拉出一条网线查到交换机的任意一个端口上。 3、两台以上电脑。从交换机任意端口拉出网线插到电脑上(电脑设置...
- 精灵驱动器官方下载(精灵驱动手机版下载)
-
是的。驱动精灵是一款集驱动管理和硬件检测于一体的、专业级的驱动管理和维护工具。驱动精灵为用户提供驱动备份、恢复、安装、删除、在线更新等实用功能。1、全新驱动精灵2012引擎,大幅提升硬件和驱动辨识能力...
- 一键还原系统步骤(一键还原系统有哪些)
-
1、首先需要下载安装一下Windows一键还原程序,在安装程序窗口中,点击“下一步”,弹出“用户许可协议”窗口,选择“我同意该许可协议的条款”,并点击“下一步”。 2、在弹出的“准备安装”窗口中,可...
- 电脑加速器哪个好(电脑加速器哪款好)
-
我认为pp加速器最好用,飞速土豆太懒,急速酷六根本不工作。pp加速器什么网页都加速,太任劳任怨了!以上是个人观点,具体性能请自己试。ps:我家电脑性能很好。迅游加速盒子是可以加速电脑的。因为有过之...
- 任何u盘都可以做启动盘吗(u盘必须做成启动盘才能装系统吗)
-
是的,需要注意,U盘的大小要在4G以上,最好是8G以上,因为启动盘里面需要装系统,内存小的话,不能用来安装系统。内存卡或者U盘或者移动硬盘都可以用来做启动盘安装系统。普通的U盘就可以,不过最好U盘...
- u盘怎么恢复文件(u盘文件恢复的方法)
-
开360安全卫士,点击上面的“功能大全”。点击文件恢复然后点击“数据”下的“文件恢复”功能。选择驱动接着选择需要恢复的驱动,选择接入的U盘。点击开始扫描选好就点击中间的“开始扫描”,开始扫描U盘数据。...
- 系统虚拟内存太低怎么办(系统虚拟内存占用过高什么原因)
-
1.检查系统虚拟内存使用情况,如果发现有大量的空闲内存,可以尝试释放一些不必要的进程,以释放内存空间。2.如果系统虚拟内存使用率较高,可以尝试增加系统虚拟内存的大小,以便更多的应用程序可以使用更多...
-
- 剪贴板权限设置方法(剪贴板访问权限)
-
1、首先打开iphone手机,触碰并按住单词或图像直到显示选择选项。2、其次,然后选取“拷贝”或“剪贴板”。3、勾选需要的“权限”,最后选择开启,即可完成苹果剪贴板权限设置。仅参考1.打开苹果手机设置按钮,点击【通用】。2.点击【键盘】,再...
-
2026-01-29 21:37 liuian
- 平板系统重装大师(平板重装win系统)
-
如果你的平板开不了机,但可以连接上电脑,那就能好办,楼主下载安装个平板刷机王到你的个人电脑上,然后连接你的平板,平板刷机王会自动识别你的平板,平板刷机王上有你平板的我刷机包,楼主点击下载一个,下载完成...
- 联想官网售后服务网点(联想官网售后服务热线)
-
联想3c服务中心是联想旗下的官方售后,是基于互联网O2O模式开发的全新服务平台。可以为终端用户提供多品牌手机、电脑以及其他3C类产品的维修、保养和保险服务。根据客户需求层次,联想服务针对个人及家庭客户...
- 一周热门
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)
