本主题说明了如何在网络服务器上创建 .NET IAST 代理程序类型。
开始之前
如果运行 IAST 的服务器位于代理后方,则 IAST .NET 代理程序支持两种配置出站 HTTP 代理的方法:
- 系统代理设置,这些设置会自动从标准操作系统设置或 HTTP_PROXY, HTTPS_PROXY 环境变量中获取。
- 特定于 IAST 的代理设置,使用应用程序自己的环境变量进行定义。按照以下方式配置它们:
IAST_PROXY_HOST={proxy_ip}
IAST_Deploy_dot_net.html
如果设置了特定于应用程序的变量,则它们的优先级更高;否则,将使用系统代理。如果两种设置均未定义,则应用程序会直接进行连接。代理设置在启动时读取;进行更改后,需要重新启动系统。检查 IAST 日志以验证是否正确配置了代理。
关于此任务
使用 NuGet 程序包管理器将 IAST 代理添加到您的应用程序。下面的示例适用于 Visual Studio,但其他 IDE 的过程类似。
过程
-
配置 NuGet 程序包源:
-
打开 Visual Studio,然后转到菜单 > 工具 > 选项 > NuGet 程序包管理器 > 程序包源。
-
选择包含
SecAgent 包的文件夹。
-
单击 + 号,并为新源命名。
-
识别 Web 服务器项目:IAST 代理程序只能安装在通常负责提供 Web 内容(例如 ASP.NET Core 或 ASP.NET MVC 项目)的 Web 服务器项目上。通过查找文件(例如 Startup.cs)、Controllers 或 wwwroot 文件夹,以此识别这些项目。
-
安装 IAST 代理程序 NuGet:在解决方案资源管理器中,右键单击 Web 服务器项目,然后选择“管理 NuGet 程序包”。搜索
com.HCL.AppScan.IAST.agent 并选择结果中的第一个程序包。单击安装。对解决方案中的每个 Web 服务器项目重复此步骤。
-
设置环境变量(仅适用于 .NET Core):如果您使用的是 .NET Core,请设置以下环境变量:
"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SecagentCore"
-
验证安装:验证安装是否成功。
-
对于 .NET Framework:打开 web.config 文件并确保 Nuget 安装添加了以下行。如果未自动添加这些行,则表示安装不成功:
<system.webServer>
<modules>
<add name="SecagentModule" type="Secagent.SecagentModule" preCondition="managedHandler" />
</modules>
</system.webServer>
...
<appSettings>
<add key="IASTAgentKey" value="<token to access ASoC IAST session>" />
<add key="IASTHost" value="URL to ASoC host, e.g. /https://cloud.appscan.com/IAST/" />
<add key="IASTActive" value="true" />
</appSettings>
-
对于 .NET Core:确保已将 asoc-config.json 文件添加到项目的根文件夹中。
结果
在您使用或测试应用程序(运行功能测试、运行动态扫描或手动浏览应用程序)时,IAST 代理程序将监控请求并报告安全问题。