我编写了一个python类,它通过c dll与第三方销售数据库进行交互。
我现在计划使用我的ASP脚本中的PythonScript来使用这个python类。这个ASP脚本是我网站的一部分。我过去曾经使用过PythonScript作为VBScript的替代品。
在安全权方面,我网站的客户能否使用python类?我记得有一次,出于安全原因,我无法允许客户安排Windows任务。
如何安全地设置安全权限?
答案 0 :(得分:3)
Web应用程序总是让用户在服务器上运行代码,通常从数据生成一些HTML。该进程非常严格,并且不需要服务器上的任何权限。该代码是ASP和/或Python是不是真正的问题,除了你将使用C代码:
如果您使用的是自定义构建的COM对象,则此答案也适用。
除了可能遇到的技术问题(比如PYTHONPATH
权限),您必须查看Trust boundaries 。简而言之,您必须对从客户端发送给您的数据做一些工作才能变得值得信任。只有这样,您才能将它发送到您的资产(您的数据)。
这项工作究竟取决于您的应用程序,但它可能会遵循这些方针:
努力工作通常在第2阶段。例如,您的日程安排应用程序可能只安排特定的低影响任务只运行一次,而不是盲目地安排用户提交的任务。
您的Python脚本应用程序也是如此。但是你也应该考虑第3阶段。 C代码没有内置的安全措施,因此容易发生溢出攻击。
为了更清楚,请在应用程序的高级图表中标识您的信任边界。这是一个尝试:
您的应用程序的每个部分都有一个角色,如果没有某种形式的验证,您就无法跨越信任边界。
例如:
遗憾的是,基础设施无法帮助您。即使这是一个内部网应用程序,用户事先众所周知,它也只能帮助进行身份验证阶段。
最后,请记住,旧学校的安全措施仍然适用:
答案 1 :(得分:0)
我没有在IIS上设置Python,但我在MSDN
上找到了验证是否已设置.py文件的应用程序映射。为此,请执行以下步骤:
- 在ISM中,在Internet Information Server下,右键单击计算机名称,然后单击“属性”。
- 在“主属性”下拉列表中,单击“WWW服务”,然后单击“编辑”。
- 单击“主目录”选项卡,然后单击“配置”。
- 要添加应用程序映射,请单击“添加”,然后使用以下信息创建新映射(替换计算机上的正确路径):
- 可执行文件:“C:\ Python20 \ python.exe%s%s”(基于控制台的脚本解释器需要可执行文件后的两个“%s”,但Internet服务器API不需要[ISAPI]基于脚本的解释器。)。
- 扩展名:.py
- 脚本引擎:已选中。
- 检查文件是否存在:已选中(为安全起见)单击“确定”。
...
验证是否正确设置了文件和目录权限 计算机的访问控制列表(ACL)。对于匿名访问, IUSR_ [computername]和IWAM_ [computername]用户帐户必须具有 最少“读”权限(RX)。使用其他类型的密码时 身份验证,所需的权限可能会有所不同。