​随着互联网新技术的涌现,网站的架构技术和涉及的资源也日益多样且复杂化。这对网站各类资源的防护工作也提出了更高的挑战和更细粒度的需求。

我们经常碰到的用户真实需求包括:

  • 我的 CMS 制作系统,会不会发布内容有问题的网页文件?
  • 我的网站允许上传图片和附件文件,这些功能会不会被利用,导致坏人偷偷上传了木马文件?
  • 万一有恶意脚本文件假冒成图片文件传上来怎么办?
  • 除了网页文件,其他一些关键文件 (比如配置文件) 也很重要,会不会被改了?

    ……

这些问题本质上是由不同资源的特点决定的,不同的资源需要有不同的检查要素。试列举常见的资源文件检查要素如下:

  • 常规资源文件 (html/css/js等)

    网页内容是否有敏感字眼?来源是否正常?
  • 脚本文件 (php/jsp/asxp等)

    文件是否会被放在网站目录之外无法监管的位置?现存脚本是否被非法篡改?
  • 用户产生的文件 (UGC文件)

    文件类型是否为 Web 应用所允许?如果类型没问题,该内容是否有害?
  • 配置文件 (config类的文件)

    修改方式是否合理?最好有详尽的修改记录。

总结几类常见资源文件的防护关注点——

iGuard6.0 网页防篡改系统能为以上各种用户场景提供丰富的、模块化的检查方式,可以通过灵活自由的配置实现网站资源的全方位防护。

以下截图仅为举例示范之用,实际场景肯定更为复杂多样。我们来看看 iGuard6.0 是如何解决以上 Web 防护需求的。

常规文件

来源是否正常的问题,可以使用 iGuard6.0 的 可信更新指定更新 模块,设置网站的目录只能由特定用户加特定进程具有合法写入的权限,拒绝其他所有更新途径。

内容文本是否正常问题,则可通过 iGuard6.0 的 发布扫描驱动扫描 模块,设置需要过滤警告的关键字文本。除了 iGuard6.0 内置过滤文字外,用户更可以自行设置自己的过滤监控文本。

脚本文件

由于脚本文件具有代码执行能力,所以关键性的脚本文件是否会被放到网站目录之外的问题,也常常会被网站管理员特别关注。可以使用 iGuard6.0 的 驱动过滤 模块,在全局范围内设置禁止产生某 (高) 些 (危) 类型的脚本文件。只有被认可的进程才能在网站目录下更新脚本文件,除此之外的操作均视作越权,可被直接禁止。

对现存脚本文件的完整性,可以使用 iGuard6.0 的 内嵌比对 模块,通过和原始文件的内容摘要作对比,确保现存文件未被非法篡改。

用户文件

在互动性越来越高的当下,网站往往不可避免地都具有因用户交互而产生的文件,这类文件的过滤和防护,一直是网站安全的重要环节。对这类资源的忧虑主要聚焦在:用户上传的文件类型是否超出设定的范围;文件类型即使没有超出限定范围,是否伪装文件或者隐藏了高危内容。

iGuard6.0 在这两方面都做了细致的考虑。如通过 驱动过滤 模块,严格限制中间件进程允许生成的文件类型,中间件进程只能在指定的上传目录下,产生无法作为脚本执行的低危类型文件,如下图中的 .gif.jpg.doc

如果希望更严密地审核上传文件的内容,可以启用 驱动扫描 模块,在上传目录有文件产生时,对文件的实际类型和内容,做进一步检查,并可以设定不同的后续处理。

配置文件

配置文件并不直接属于网页文件,但是它们也是网站资源的有机组成部分。在实际的 Web 安全渗透案例中,不乏通过修改网站配置文件,进而达成篡改网站的效果。所以,这个比较容易被人忽略的网站资源,也应被纳入防护和监控中。

对配置文件的管控,取决于实际情况,可宽松可严格。宽松的场景可以只监控配置文件的更改,但每次修改可以有快照备份;严格的则可以限制只有特定进程特定用户可以修改配置文件,此外任何组合操作都会被直接拒绝。


以上举例都是最基础的用例,实际场景中,iGuard6.0 网页防篡改系统根据具体需求,可以有更复杂的相互搭配使用组合,为网站资源防护提供更整体的防护。(朱筱丹 | 天存信息)

iGuard6.0 — 各适其用的网站防护体系的更多相关文章

  1. 从 0 到 1,Java Web 网站架构搭建的技术演进

    初始搭建 最开始,就是各种框架一搭,然后扔到 Tomcat 容器中跑,这时候我们的文件.数据库.应用都在一个服务器上. 服务分离 随着系统的上线,用户量也会逐步上升,很快一台服务器已经满足不了系统的负 ...

  2. 用asp.net core 2.0 + EFCore.Sqlite做个小网站

    许久没用C#写程序.听说进来发生大事,.NetCore2.0发布了,于是便学习了下,本站也应运而生. 大多数的地方按照官方的文档起步走就可以了,这里谈谈遇到的几个坑. 首先,本站是基于ASP.NetC ...

  3. Oauth2.0协议曝漏洞 大量社交网站隐私或遭泄露

    2014年是IT业界不平常的一年,XP停服.IE长老漏洞(秘狐)等等层出不穷,现在,社交网络也爆出惊天漏洞:Oauth2.0协议漏洞 继OpenSSL漏洞后,开源安全软件再曝安全漏洞.新加坡南洋理工大 ...

  4. 从0到1,Java Web网站架构搭建的技术演进

    俗话说得好,冰冻三尺非一日之寒,滴水穿石非一日之功,罗马也不是一天就建成的,对于开发人员来说,一个好的架构并不是一蹴而就的. 初始搭建 最开始,就是各种框架一搭,然后扔到 Tomcat 容器中跑,这时 ...

  5. phpStudy8.1.0.1配置子域名多网站

    版本 这里phpStudy版本为8.1.0.1: 步骤 假设域名为:domain.com:公网IP地址为:42.33.33.33 首先云解析中配置,添加子域名A记录直接指向你的公网IP: ep.dom ...

  6. IIS7.0配置HTTPS安全类型的网站

    HTTPS,它是一个安全通信通道,是基于HTTP开发,用于在客户计算机和服务器之间交换信息.它使用安全套接字 层(SSL)进行信息交换,简单来说它是HTTP的安全版.主要在一些对安全性要求比较高的网站 ...

  7. nginx + lua 构建网站防护waf(一)

    最近在帮朋友维护一个站点.这个站点是一个Php网站.坑爹的是用IIS做代理.出了无数问题之后忍无可忍,于是要我帮他切换到nginx上面,前期被不断的扫描和CC.最后找到了waf这样一个解决方案缓解一下 ...

  8. 精通Web Analytics 2.0 (3) 第一章:网站分析的新奇世界

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第一章:Web Analytics 2.0的新奇世界 多年以来,我们很清楚的知道,网站分析能够真正的改革网络上业务的完成方式.那 ...

  9. NET平台4.0 发布网站流程及出错总结

    1.进入IIS设置,在控制面板中选择“管理工具”,进入后选择 “Internet 信息服务(IIS)管理器” 2.点击[添加]应用程序池,根据版本选择framework 3.添加网站 ,右击网站,添加 ...

随机推荐

  1. null的坑 和 比较运算符、相等运算符的隐式转换问题 (在javascript中,null>=0 为真,null<=0 为真,null==0却为假,null到底是什么?)

    null在关系运算中的坑 & 关系运算符的隐式转换问题 注意: 比较运算符 和 相等运算符 的 ECMAscript 语法实现不同. 比较运算符 和 相等运算符 对数据进行了隐式转换, 相当于 ...

  2. C语言 windows下Ansi和UTF-8编码格式的转换

    当我们使用MinGW-w64作为编译器在windows系统环境下进行C语言编程时,如果源代码文件(.c)保存格式为Ansi格式,则在打印汉字时不会出现乱码:反之,如果我们使用UTF-8格式保存,则会出 ...

  3. 【springboot】自动装配原理

    摘自:https://mp.weixin.qq.com/s/ZxY_AiJ1m3z1kH6juh2XHw 前言 Spring翻译为中文是"春天",的确,在某段时间内,它给Java开 ...

  4. HttpClient 4.3教程-前言

    前言 Http协议应该是互联网中最重要的协议.持续增长的web服务.可联网的家用电器等都在继承并拓展着Http协议,向着浏览器之外的方向发展. 虽然jdk中的java.net包中提供了一些基本的方法, ...

  5. (3)hadoop单节点配置

    hadopp版本hadoop-2.6.0-cdh5.7.0      下载地址http://archive-primary.cloudera.com/cdh5/cdh/5/ 同样使用flashFXP上 ...

  6. Map 综述(一):彻头彻尾理解 HashMap

    转载自:https://blog.csdn.net/justloveyou_/article/details/62893086 摘要: HashMap是Map族中最为常用的一种,也是 Java Col ...

  7. C# ArrayPool 源码解读之 byte[] 池化

    一:背景 1. 讲故事最近在分析一个 dump 的过程中发现其在 gen2 和 LOH 上有不少size较大的free,仔细看了下,这些free生前大多都是模板引擎生成的html片段的byte[]数组 ...

  8. 使用什么快捷键,关闭、打开、最小化qq聊天窗口

    Alt+F4或者Alt+C关闭聊天窗口.Alt+空格+N 最小化聊天窗口.Alt+H 打开聊天记录,打开聊天窗口没有快捷键,必须点击qq好友图标

  9. nios eclipse提示LED_PIO_BASE没有声明,怎么回事?

    这是因为名字不一致引起的比如,在生成SOPC系统时,双击PIO(Parallel I/O)(在Avalon Modules -> Other 下),为系统添加输出接口,你没有把该组件改名成LED ...

  10. spring整合jdbc方法一

    用了一段时间的spring这,闲来没事做一下spring整合jdbc 目录文件 导入jar包 由于spring的jar包是在myeclipse中自动导入的有些暂时用不到的也没有处理. Emp类 pac ...