我的一个朋友有一个基于 Claroline 的电子学习网站。两天前,只有瑞士用户在访问网站域名时开始“随机”重定向到另一个 IP 地址。
如果我在学生的 PC 上将 DNS 服务器强制设置为 8.8.8.8 或 9.9.9.9,域名就会正确解析。但如果我继续使用本地瑞士 DNS 服务器,它会解析为一个错误的(列入黑名单的)IP 地址。
奇怪的是:受影响的不只是这一位顾客和他的电脑。瑞士的所有学生也都受到了影响。但法国学生除外。
第二个奇怪的部分是:一些页面从这个虚假 IP 地址响应,内容正确。就像电子学习被复制到另一台服务器上或缓存在某处一样。
该服务器是旧的 Ubuntu 10.04.4 LTS,可能没有得到正确的保护/配置。我拥有该服务器的完全访问权限,但我没有管理它,因此我不确定要查找什么,甚至不知道该做什么。
以下是我迄今为止所看过/尝试过的:
- 检查了所有 Apache 2 vhost 配置。
- 检查 iptables (空) 和
/etc/hosts
(/etc/resolv.conf
安全) - 询问 Swisscom(瑞士主要电信公司)是否已将域名列入黑名单或类似情况:没有。检查了 claroline 代码库:它看起来很安全,但非常庞大。我无法检查所有文件。
以下是在其中一台学生 Windows 计算机上进行的 nslookup:
C:\WINDOWS\system32>nslookup
Serveur par défaut : UnKnown
Address: fe80::8e59:c3ff:fecf:8d9b
> elearning.redacted-domain.ch
Serveur : UnKnown
Address: fe80::8e59:c3ff:fecf:8d9b
Réponse ne faisant pas autorité :
Nom : elearning.redacted-domain.ch
Address: 195.186.210.161
当然,195.186.210.161 不是服务器的正确 IP 地址。
我不是系统管理员。我只是在帮助朋友,所以我不确定下一步该怎么做。
答案1
作为疯了写道,这是最终用户的 ISP(Swisscom)通过过滤代理重新路由您的网站。很可能所有订阅其 Internet Guard 服务的用户实际上都是通过那里进行代理的,而不仅仅是您的网站。
他们说该过滤器可以防御恶意软件、网络钓鱼和病毒,因此这不应该是一个“分类”问题,而是一个安全问题。
因此,您的第一步应该是检查网站是否已被感染。PHP 网站往往非常脆弱(如果有人找到方法将 .php 文件上传到可见层次结构中的某个位置,则可以远程执行该文件以执行任何他们想要的操作)。还有许多其他方法可以造成危害(SQL 注入、存储型 XSS...)。
您的主页未被屏蔽,或至少未被一直屏蔽,因此:
- 只有部分页面受到感染
- 感染仅在用户请求的一小部分时间内出现(一种常见的躲避雷达的策略)
- 或者某些页面上有其他内容触发了误报
通过将网站地址指向代理的 IP 地址,您可以亲自查看结果。您可以通过编辑文件/etc/hosts
(详细信息因平台而异)并添加一行来实现:
195.186.210.161 elearning.affis.ch
然后,您可以以其中一个用户的身份访问该网站,并查看哪些页面被阻止。
一旦你对哪些页面被阻止或没有被阻止有了更好的了解,可能就更容易找出实际问题了。然后修复它,要么它会立即通过,要么你可能不得不报告误报(“阻止”页面底部有一个链接)。
请注意,在检查感染之前尝试报告误报可能会适得其反。请先尽力查找并解决问题。
编辑
请注意,您运行的 Claroline 版本(1.11.9)具有多个XSS漏洞自 2014 年起为人所知:
Claroline 1.11.9 及更早版本中存在多个跨站点脚本 (XSS) 漏洞,允许远程经过身份验证的用户通过 (1) 收件箱操作中的搜索字段向 messages/messagebox.php 注入任意 Web 脚本或 HTML,(2) auth/profile.php 中的“First name”字段,或 (3) calendar/agenda.php 中的 rqAdd 操作中的 Speakers 字段
如果问题确实是存储型 XSS 攻击,请获取数据库的最新转储并检查它是否包含任何类似标签的内容<script
(不要忘记不区分大小写地搜索)。
答案2
如果你用浏览器访问返回的 IP 地址,http://195.186.210.161/,您会收到 Swisscom 的“危险网站被屏蔽”消息。我猜他们的“安全互联网”内容屏蔽系统至少在一定程度上是通过对 DNS 请求做出响应而起作用的,而您的网站出于某种原因违反了这些规则。
我知道你问他们是否屏蔽了你,但根据我的经验,即使是中型 ISP 的一线技术支持也不知道后面发生了什么。很可能整个保姆系统都是外包的(或由第三方商业产品完成),而且没有人Swisscom 的工作人员不知道在特定时间哪些网站被屏蔽。询问你的学生是否开启了任何类型的“保姆互联网”设置可能会更有成效。
归根结底,这可能不是你能解决的问题,因为你不是该 ISP 的客户,他们也不欠你什么。让学生家长打电话给他们的 ISP 支持部门,大声抱怨错误的 DNS 解析,并威胁说如果问题得不到解决,他们就会更换 ISP,这可能是唯一有效果的方法。
编辑:此主题这表明 Swisscom 的网站拦截引擎可能有点过于热情,而且并不总是能轻易从他们那里得到任何积极的解决方案。它还表明这不是一个选择加入的过滤器,而是适用于所有 Swisscom 客户,无论他们是否喜欢,因此选择退出可能会很困难。