2020 年双节前夕,国内疫情稳定,长假将启,各项安保措施比以往有所升级,而此时更是网络安全重点保障时期,信息安全工作尤其不能懈怠。各用户单位也陆续启动响应,对网络安全负责人、联络人通知到位,深度排查网络安全风险,及时调整网络安全策略,部署实施态势感知、应急响应、持续安全评估、安全监测巡检等安全措施,并确保安全人员现场保障。安保工作如火如荼,天存信息的技术工程人员也相继奔赴各个信息重保工作现场。

一、安全措施与前期建设

1.1 个人心理建设

在三个重点客户的工作现场轮流值守期间,我需要时刻紧盯日志审计平台,跟踪满屏的访问日志,捕捉攻击行为的蛛丝马迹,深感责任重大。相信技术工程人员都会有类似感受:每每遇到这种境况,或多或少会事先祈祷一切顺利,平安渡劫。

1.2 安全措施建设

重保安全的准备工作一点也含糊不得。“工欲善其事,必先利其器”,一个典型的机房安全建设设计是这个样子的——

▲看到密密麻麻的安全设备有没有乱了心境?

有这张严防死守的安全图纸在手,再加上各安全厂商的 IT 精英们悉数到场镇守,安全感油然而生。设想,在我方强大布防下,任他什么扫描、洪水攻击、DDoS 攻击、注入或是跨站,应该都挤不进这密不透风的防控体系。蜗居于安全中心的 WEB 应用服务器,应该能高枕无忧了。即便攻击者挖到了应用或中间件的“0-Day”漏洞,或者事先植入了 WebShell,在主机安全加固环节,或攻击者利用 WebShell 时,我方的 WAF 和入侵行为检测也能排查出问题所在,并做出预警和拦截。

然而
最担心的事情
还是自然地发生了

二、安全事件始末

重保期间某日,我们接到了一则上级通知,还附带有一份漏洞描述文件。



附带的漏洞利用过程描述文件,如下。

我们立即着手排查原因,力求快速修补这个漏洞。

NO.1
首先排查日志。基于漏洞利用过程文件的描述,我们逐一检查了 WAF 的攻击日志,显示无异常。

NO.2
查询入侵行为检测。它确实只是一条访问日志,不是攻击行为。

NO.3
登入服务器,跟踪这个文件所有的访问日志和访问IP,寥寥数条,没有所谓的上下文关联,无法还原出一个完整的攻击过程。

NO.4
最后,进入 WEB 应用的目录,找到这个文件,粗略浏览代码,发现这是一个任何人都有权限访问的文件,没有任何用户和会话的检查机制。这是一个典型的越权+任意文件上传漏洞

用户单位要求紧急处置这一加急任务,对于 IT 安全运维部门,有以下几种解决方式:

  • 设置应用的访问控制策略,只允许特定 IP 访问这个上传组件功能。而由于应用系统的业务面向 Internet 用户,每天都会有业务数据通过 HTTP 协议上传系统,限制特定 IP 并不可行。
  • 临时关闭上传功能。基于上述实际情况,同样无法实现。
  • 限制上传目录的执行权限,可以禁止上传文件的执行。然而这并非用户可以接受的解决方案。

其实,最根本的解决办法是协调开发部门,对这个上传功能增加用户限制和会话绑定。现实问题再一次横亘在大家面前,一个5年前开发并交付的系统,找到当初的开发参与人员进行修复,当下更不具备可操作性。而 WAF 不能配置理解业务执行过程的的访问规则,焦点便对准了我们负责 WEB 应用安全的几家厂商。客户要求第二天上午 8:00 前必须完美解决,时间紧迫。

在重保期间,红头文件和加急电话,成了压在我们几个相关人员头顶上的大山。

幸好在运维期间,我把公司的 WEB 业务补丁平台,放置在了关键业务的前端。现在,余下要做的就是整理客户需求,编写用户补丁了。

客户的 WEB 应用环境和需求如下:

  1. WEB 服务器上有两个应用目录 /app_a//app_b/,分别对外负责不同业务。
  2. 其中 /app_a/ 不需要对外有上传功能,上传功能可以关闭,面向公网用户开放。
  3. /app_b/ 只允许内网访问,公网用户不能访问,上传功能不可关闭,内网用户的 IP 是以 10 开头的 IP。
  4. 上传功能需要验证用户和 session 绑定,登录后才能执行上传操作。

三、安全事件处置

接下来是着手编写虚拟补丁并上线补丁。虚拟补丁如下:

{"rules": [{"meta": {"phase": 1,"function": "如果请求文件名以/szyx开头,而且请求文件名中包含upload_json.jsp,则进行拦截,并记录日志。"},"if": ["begin(REQUEST_FILENAME, '/szyx')","contain(REQUEST_FILENAME, 'upload_json.jsp')"],"then": {"action": "deny","log": "不允许在访问/szyx相关应用的时候,访问upload功能模块."}},{"meta": {"phase": 1,"function": "如果客户端为公网IP(不是10.开头),却访问非/szyx开头的页面,则进行拦截,并记录日志."},"if": ["!begin(REQUEST_FILENAME, '/szyx')","!begin(REMOTE_ADDR, '10.')"],"then": {"action": "deny","log": "不允许公网IP的客户端(此处为非10开头的客户端ip)访问非/szyx相关的应用."}},{"meta": {"phase": 4,"comment": "如果登录成功(登录成功的标志是Set-Cookie中有jcxx_cookie_session_xtbz和flushcookie成员存在),则记录代表登录成功的变量到SESSION中。"},"if": ["REQUEST_FILENAME == '/sys/system/login/logincheck'","REQUEST_METHOD == 'POST'","notNull(RESPONSE_SET_COOKIES.jcxx_cookie_session_xtbz)","notNull(RESPONSE_SET_COOKIES.flushcookie)"],"then": "SESSION.login_success@300 = 1"},{"meta": {"phase": 1,"function": "如果进来的请求URL中包含upload_json.jsp,则进行会话检查."},"if": "contain(REQUEST_FILENAME, 'upload_json.jsp')","then": {"if": "SESSION.login_success != 1","then": {"action": "deny","log": "No Auth! You don't have access to the upload page!"}}}     ]
}

编写好虚拟补丁,意味着 80% 的工作量已完成,心情可以舒缓一些了。

下一步,要验证补丁的有效性。对此,我们分别模拟内网用户和外网用户对虚拟补丁做访问和攻击测试,日志截图如下:

内网越权访问(基于IP的访问控制策略验证):直接访问,直接拦截。(如图)

内网越权访问拦截日志:拦截日志报出,因为没有用户登录和会话的绑定,这次越权请求被拒绝。

外网IP访问限制

处置结果:用户单位的安全问题“越权+任意文件文件上传漏洞”被上线的虚拟补丁完美解决,客户表达了感谢,我们也又一次通过了安全考验。

2020 网络安全重保日记相关推荐

  1. 重保任务重,HW压力大,看多维融合重保解决方案为您解忧

    01 提高组织协同效率 解决应急响应.应急预案等关键安全活动缺乏信息化支撑的问题,导致组织协同效率低,包括内部组织.外部组织(安全外包服务提供商). 解决多厂商.多人协同,沟通成本高.执行效率低.速度 ...

  2. 常见安全服务(基线加固、风险评估、应急响应、渗透测试、代码审计、重保)介绍

    常见安全服务(基线加固.风险评估.应急响应.渗透测试.代码审计.重保)介绍 前言 一.安全服务的意义 二.常见安全服务 1.基线加固 2.风险评估 3.渗透测试 4.应急演练/应急响应 5.代码审计 ...

  3. 重保防护 全力以赴丨一文看懂盛邦安全重保专项服务方案

    盛邦安全重保专项服务方案分为保障前期.保障期间.保障后期三个阶段,能够满足风险自查.安全监测.情报共享.应急响应.攻击溯源.工作总结等重保期间各类安全服务保障需求. 盛邦安全重保专项服务方案 01 保 ...

  4. 互联网医院网络安全等保建设方案

    背景概述 互联网医院指的是以互联网为载体和技术手段的健康教育.医疗信息查询.电子健康档案.疾病风险评估.在线疾病咨询.电子处方.远程会诊.及远程治疗和康复等多种形式的健康医疗服务,而互联网医院就是互联 ...

  5. 重保服务全面守护互联网企业的“重要时刻”

    随着互联网和电子商务在我国获得快速发展,针对互联网企业发起的攻击行为也迅速成倍增长.相对于传统行业,互联网企业的业务开展更依赖网络和信息系统,但网络攻击对互联网企业来说,可能会直接其导致业务中断.客户 ...

  6. 创宇盾重保经验分享,看政府、央企如何防护?

    三月重保已经迫近,留给我们的准备时间越来越少,综合近两年三月重保经验及数据总结,知道创宇用实际案例的防护效果说话,深入解析为何创宇盾可以在历次重保中保持"零事故"成绩,受到众多部委 ...

  7. 御黑行动来袭--助力三月重保,构筑安全防线!

    三月重保在即,重要网站及业务系统"零风险 零事故"是终极目标,作为业界网络安全实战派"老兵"--知道创宇将一如既往,为您提供重保期间"万无一失&quo ...

  8. 《2019~2020网络安全态势观察报告》重磅发布!

    [导读]过去一年多,各种 APT 攻击事件.勒索挖矿事件,数据泄露事件,漏洞攻击事件仍然不绝于耳.从 ATT&CK 模型框架的兴起到实战化攻防环境的建立,从反序列化漏洞的攻防博弈到 VPN 漏 ...

  9. 复工进行时:警惕重保期间的emotet病毒邮件

    2022年1月,CACTER邮件安全&中睿天下联合推出<2021年Q4企业邮箱安全报告>. 报告对去年11-12月侦测到大规模Emotet病毒邮件攻击进行了解读,根据当时的攻击规模 ...

最新文章

  1. c语言第五章循环控制实验报告,C语言实验报告5《循环控制》.doc
  2. 存储过程排版工具_我的绘图工具箱
  3. AngularJS的学习笔记(一)
  4. 飞鸽传书下载2013
  5. mysql8.0版本的服务器名称_云服务器Mysql安装配置
  6. 别怀疑,孩子在家里也能学编程!
  7. 华三Track+NQA+静态路由配置实例
  8. 华为高层谈 35 岁危机,程序员如何破年龄之忧?
  9. audio或video标签的autoplay属性的说明
  10. Photoshop 2018 学习笔记 目录
  11. 功能:清空聊天记录页面
  12. Java快速开发框架_若依——Ruoyi-SpringCloud版本-2.安装redis服务端和客户端-win7
  13. SpringMVC简要概述
  14. 哥德尔不完全性定理 悖论式陈述 PM不可判定命题,和哥德尔可表达性定理——哥德尔读后之十八
  15. 基于加权对立和贪婪搜索多模态工程问题的黑猩猩优化算法(Matlab代码实现)
  16. python画出一个小房子简单代码
  17. 计算机英语合成词大全,常用的英语合成词大全
  18. Tomorrow never knows? (C程序设计进阶 第2周)
  19. wavenet时间序列预测---TensorFlow版(附源码+数据)
  20. 单链表的Java简单实现

热门文章

  1. 四年级计算机入门教案,四年级下册计算机教案
  2. 湖北一公职人员泄露公民信息5万余条,非法获利23万余元
  3. C语言枚举变量定义,请问C语言枚举类型是什么意思
  4. 宏基因组网络分析工具MetagenoNets
  5. his系统计算机软件,医院信息系统(HIS)
  6. 刚学习阿里云VOD,获取视频播放地址
  7. 利用Nginxcp为cPanel/WHM服务器开启nginx支持
  8. 每日一题pwnable.kr bof
  9. MySQL数据库操作与查询的综合测试题
  10. Seventh5: YAML syntax Ansible Playbook Ansible variables summaries and QQS | Cloud computing