通过一次安全处理暴露的问题
liuian 2024-12-02 22:19 58 浏览
对于企业而言,信息化系统建设不仅仅只是建设一套系统,满足具体业务场景那么简单,企业的信息化往往是一项系统工程,包括设施、硬件、软件、网络、安全等一系列工作,而在整个规划建设过程中,安全建设又是重中之重,特别是对于一些敏感数据或核心数据,做好安全管控是保证信息化建设成果的重要手段。
由于最近在对一个集成底座项目进行安全扫描时,发现了部分中高危漏洞,在进行漏洞修复的过程中,对集成底座各个产品的安全机制进行梳理,以便在后续项目中进行优化调整,降低安全风险。
总体说明
集成底座主要包括三个产品: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
- 下一篇:网络安全岗位热门面试题
相关推荐
- 华硕人工客服24小时吗(华硕售后人工客服)
-
华硕服务中心广东省惠州市惠东县城平深路(创富斜对面)惠东同心电脑城1L11(1.3km)笔记本电脑,平板电脑华硕服务中心广东省惠州市惠东县平山镇同心电脑城1F26(1.3km)笔记本电脑,平...
- 电脑音量小喇叭不见了(电脑声音喇叭图标不见了怎么办)
-
如果您电脑上的小喇叭(扬声器)不见了,可以尝试以下方法找回:1.检查设备管理器:在Windows下,右键点击“我的电脑”(或此电脑)->点击“属性”->点击“设备管理器”,查看“声音、视...
- 腾达路由器手机设置教程(腾达路由器手机设置教程视频)
-
用手机设置腾达路由器的方法如下:1在手机上打开浏览器,输入路由器背面的管理IP和用户及对应的密码2一般第一次打开,默认会跳出设置向导,准备好宽带用户名和密码,3按向导提示输入相应内容4在无线设置的安全...
- 自配电脑配置推荐(自配电脑配置推荐百度)
-
首先,像这类软件最低要求不高。最高没上限。纯粹看你的工程量大小。CPU有双核,内存有4G,就可以运行。但是实际体验肯定比较差,卡是肯德。渲染时间也会超长,一个小作品渲染几小时是正常的。稍微大点的工程也...
- 2025年平板性价比排行(2020年值得买的平板)
-
推荐台电P30S好。 基本配置:10.1英寸IPS广视角屏幕,1280*800分辨率,16:10的黄金显示比例,K9高压独立功放,支持3.5mm耳麦接口,联发科MT8183八核处理器,4GB...
- 2020显卡天梯图10月(2020显卡天梯图极速空间)
-
排行球队名称积分已赛胜平负进球失球净胜球 1?诺维奇城974629107753639 2?沃特福德91462710...
-
- 笔记本电脑无线网络连接(笔记本电脑无线网络连接不上怎么办)
-
一、笔记本电脑怎么连接wifi---win7系统笔记本连接wifi1、要先创建无线网络连接,将鼠标移到Win7的开始菜单,然后点击“控制面板”。2、然后点击“网络和Internet”。3、再打开“网络和共享中心”,这是Win7系统必有的功...
-
2025-12-22 05:55 liuian
- wind数据库(wind数据库官网)
-
先购买wind数据库,安装好wind取得使用权后,按照wind所给提示,输入账户和密码可使用wind数据库。Wind资讯金融终端是一个集实时行情、资料查询、数据浏览、研究分析、新闻资讯为一体的金融数据...
- 如何关闭360家庭防火墙(如果关闭360家庭防火墙)
-
关闭方法如下:1.打开手机360主界面之后,点击“安全防护中心”。2.点击第三列“入口防护”下方的“查看状态”按钮。3.在列出的功能项中找到“局域网防护”,直接点击后面的“关闭”按钮,关闭所有的“局域...
- 笔记本电脑型号配置怎么看(怎么查自己电脑的型号)
-
查电脑的配置和型号方法:方法一:1、右键单击“此电脑”,点击属性2、这里可以看到操作系统,CPU等大致信息3、点击设备管理器4、这里可以查看具体硬件的详细信方法二:1、首先打开电脑上的“控制面板”2、...
- pscs6序列号是什么
-
AdobePhotoshopCS6就二个版本(测试版和正式版)1、AdobePhotoshopCS6是AdobePhotoshop的第13代,是一个较为重大的版本更新。2、Photoshop在前几...
- win7桌面图片怎么设置(win7如何设置桌面图片)
-
1、首先用鼠标右键单击桌面的空白处。然后在弹出的菜单上选择“个性化”选项。这样就弹出了的个性化窗口上能显示看到“桌面背景”按钮。点击它即可。2、继续打开了选择“桌面背景”选项,然后在上面选择你想要设置...
- windows安卓下载(win安卓版)
-
2265安卓网是安全的,2265安卓网成立于2012年初,网站一直努力为各位安卓爱好者提供最新、最全的安卓游戏软件资源下载。经过几个月的努力、和广大安卓用户的支持、2265安卓网截至到2012年6月已...
- 一周热门
- 最近发表
- 标签列表
-
- 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)
