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

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

  • 我的 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. 【硬件模块】UWB介绍

    From: https://liudongdong1.github.io/ UWB超宽带定位技术属于无线定位技术的一种.无线定位技术是指用来判定移动用户位置的测量方法和计算方法,即定位算法.目前最常用 ...

  2. redis的过期策略和淘汰策略

    过期键删除策略 1.定时删除:在设置键的过期时间的同时,创建一个定时器timer,让定时器在键过期时间来临时,立即执行对键的删除操作. 2.惰性删除:放任键过期不管,但是每次从键空间中获取键时,都检查 ...

  3. Java第一阶段项目实训

    时间:2016-3-27 17:09 银行综合业务平台业务需求 1.首页  ---------------银行综合业务平台------------------- 1开户     2登录    3.退出 ...

  4. java发送短信开发,第三方接口方法

    必备的三个jar包Maven有自己去下: commons-logging commons-logging 1.1 commons-httpclient commons-httpclient 3.1 c ...

  5. MySQL密码重置方法

    MySQL数据库的安装和配置,配置Mysql按照bin目录到Path中 使用命令行窗口连接MYSQL数据库:mysql –u用户名 –p密码 对于密码的重置有以下两种方法(卸载重新安装当然也可以): ...

  6. 存储系统管理(三)——磁盘配额及lvm逻辑卷管理

    Linux是一个多用户的操作系统,系统有很多用户,就必须限制每个用户的保存空间,配额就是来管理用户空间的,配额只是针对与设备而言. 1.新建一个分区 2.格式化分区为xfs文件系统 3.将其以配额的方 ...

  7. thrift的介绍及其使用

    什么是thrift Thrift是Facebook于2007年开发的跨语言的rpc服框架,提供多语言的编译功能,并提供多种服务器工作模式:用户通过Thrift的IDL(接口定义语言)来描述接口函数及数 ...

  8. Why TypeScript?

    本文经作者授权,翻译总结自 TypeScript Team 的成员 orta 的个人博客 <Understanding TypeScript's Popularity>. 原作者: ort ...

  9. Robot Framework(9)- 使用变量文件

    如果你还想从头学起Robot Framework,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1770899.html 啥是变量文件 变 ...

  10. Ubantu启动失败,提示“Started GNOME Display Manager”之后起不来了

    我是在搭建DPDK环境时,为了尝试下多网卡多列配置,将虚拟机的网卡类型由e1000改成了vxnet3类型.之后修改了下内存大小和CPU核数.然后启动ubantu虚拟机,结果无法成功启动,显示结果如下: ...