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

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

  • 我的 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. spring-cloud-sleuth+zipkin追踪服务

    1, 父Maven pom 文件 <parent> <groupId>org.springframework.boot</groupId> <artifact ...

  2. wpf中INotifyPropertyChanged的用法

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Linq;using Sy ...

  3. 使用Spark开发应用程序,并将作业提交到服务器

    1.pycharm编写spark应用程序 由于一些原因在windows上配置未成功(应该是可以配置成功的).我是在linux上直接使用pycharm,在linux的好处是,环境可能导致的一切问题不复存 ...

  4. OJ 注意事项

    1,检查指针是否有效,即是否为NULL 1 void OutputMaxAndMin(int * pInputInteger, int InputNum, int * pMaxValue, int * ...

  5. 高德地图&兴趣点(poi)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  6. Java程序中使用Spire Jar包报java.lang.NoSuchMethodError类型错误的解决方法

    Jar包功能概述 使用Spire系列的Jar包可以操作Word.Excel.PPT.PDF.Barcode等格式的文件,分别对应使用的jar包是Spire.Doc for Java.Spire.XLS ...

  7. K8S命令行工具——kubectl

    1.kubectl概述 2.kubectl命令的语法 例子: 3.kubectl子命令使用分类 (1)基础命令 (2)部署和集群管理命令 (3)故障和调试命令 (4)其他命令 4.kubectl命令例 ...

  8. 20210717 noip18

    考前 从小饭桌出来正好遇到雨下到最大,有伞但还是湿透了 路上看到一个猛男搏击暴风雨 到了机房收拾了半天才开始考试 ys 他们小饭桌十分明智地在小饭桌看题,雨下小了才来 考场 状态很差. 开题,一点想法 ...

  9. shell脚本中select循环语句用法

    shell脚本中select循环语句 1. 脚本中select的语法格式 select VAR in LIST do command1 command2 ... ... commandN done s ...

  10. linux 命令进阶篇之二

    一.预备知识 选取init的进程. cat :由第一行开始显示文件内容 tac:由最后一行开始显示,有没有发现和cat是反过来写的 more:一页一页的显示内容 less:与more相似,但是可以往前 ...