2

我想修改已部署的 Sakai 安装,以允许来自多个校园媒体服务器的 iframe。iframe 的一个示例是https://mediaserver.example.edu/p/player.html。在部署的 Tomcat 中编辑策略文件的最简单方法是什么?

4

1 回答 1

5

Antisamy是一个开源 API 和 html 扫描器和清洁器。Sakai 2.9 或更高版本将此用作其安全套件的一部分,以保护用户免受由恶意用户创建的标记引起的XSS(跨站点脚本)攻击。

Sakai 包含一组默认配置,这些配置经过社区测试,可能会满足大多数用户的需求。其中包括低和高安全选项(默认为高)。要强制 Sakai 使用低安全设置,您可以添加 Sakai 配置属性,如下所示(将此设置为 false 将默认为高安全):

content.cleaner.default.low.security=true

高设置和低设置之间的主要区别是阻止未知站点的外部内容(如视频或 iframe)。高只允许有限的受信任站点列表。低允许来自任何站点的内容。两者都有广泛的规则来防止与 javascript 相关的注入攻击。

Antisamy 配置文件是基于 XML 的(有关详细信息,请参阅Antisamy 开发人员指南)。标准的高安全性和低安全性文件位于“kernel/sakai-kernel-impl/src/main/resources/antisamy/”下的 Sakai 源代码中。这些可以用作本地定制版本的基础。要覆盖包含的文件,只需在 Sakai 主目录(通常是 TOMCAT_HOME/sakai)中放置一个自定义版本,例如:

${sakai.home}/antisamy/high-security-policy.xml
${sakai.home}/antisamy/low-security-policy.xml

对于您的特定用例,您可能会修改以下部分(靠近 xml 文件的顶部),如注释中所示:

<!-- SAKAI customized trusted sites listing:
    This is where we specify what Flash/embed/iframe src to allow 
    To add a new host/site to this list:
    Find this in the flashSites below: ...(download\.macromedia\.com/pub|... 
    Add in your site (e.g. "new.site.host.com/path": with escaped ".": "new\.site\.host\.com/path|"
    Like shown here: (new\.site\.host\.com/path|download\.macromedia\.com/pub|
-->
<regexp name="flashSites" ...
于 2014-06-11T18:30:06.787 回答