ADC

IP 信誉

IP 信誉是一种识别发送不需要的请求的 IP 地址的工具。使用 IP 信誉列表,您可以拒绝来自信誉不佳的 IP 地址的请求。通过筛选不想处理的请求来优化 Web App Firewall的性能。重置、删除请求,甚至配置响应程序策略以执行特定的响应程序操作。

以下是使用 IP 信誉可以防止的一些攻击:

  • 病毒感染的个人计算机。(家用 PC)是 Internet 上最大的垃圾邮件来源。IP 信誉可以识别发送不需要的请求的 IP 地址。IP 信誉对于阻止来自已知受感染源的大规模 DDoS、DoS 或异常 SYN 洪水攻击特别有用。
  • 集中管理和自动化的僵尸网络。攻击者因窃取密码而广受欢迎,因为不久之后,数百台计算机一起破解密码。发起僵尸网络攻击很容易找出使用常用字典单词的密码。
  • 受损的 Web 服务器。攻击并不常见,因为意识和服务器安全性得到了提高,因此黑客和垃圾邮件发送者寻找更容易的目标。仍然有一些网络服务器和在线表单可供黑客入侵并用来发送垃圾邮件(例如病毒和色情内容)。此类活动更容易检测并迅速关闭,或者使用诸如 SpamRats 之类的信誉列表进行阻止。
  • Windows 漏洞利用。(例如提供或分发恶意软件、外壳程序代码、rootkit、蠕虫或病毒的活动 IP)。
  • 已知垃圾邮件发送者和黑客
  • 群众电子邮件营销活动
  • 络钓鱼代理 (托管钓鱼网站的 IP 地址以及其他欺诈行为,例如广告单击欺诈或游戏欺诈)。
  • 匿名代理 (提供代理和匿名服务的 IP,包括洋葱路由器又名 TOR)。

NetScaler 设备使用 Webroot 作为动态生成的恶意 IP 数据库和这些 IP 地址的元数据的服务提供商。元数据可能包括地理位置详细信息、威胁类别、威胁计数等。Webroot 威胁情报引擎从数百万个传感器接收实时数据。它使用高级机器学习和行为分析,自动连续地捕获、扫描、分析和评分数据。有关威胁的情报会不断更新。

NetScaler 设备使用 Webroot 的用户 IP 信誉数据库验证传入的请求是否存在不良声誉。该数据库包含大量基于 IP 威胁类别分类的 IP 地址。以下是 IP 威胁类别及其说明。

  • 垃圾邮件来源。垃圾邮件来源包括通过代理通道发送垃圾邮件、异常 SMTP 活动、论坛垃圾邮件活动。
  • Windows 漏洞利用。Windows 漏洞攻击类别包括提供或分发恶意软件、外壳代码、rootkit、蠕虫或病毒的活跃 IP 地址
  • 网络攻击。Web 攻击类别包括跨站脚本、iFrame 注入、SQL 注入、跨域注入或域密码暴力攻击
  • 僵尸网络。僵尸网络类别包括僵尸网络 C&C 频道,以及由 Bot master 控制的受感染僵尸机器
  • 扫描仪。扫描器类别包括所有侦测,例如探测器、主机扫描、域扫描和密码暴力攻击
  • 拒绝服务。拒绝服务类别包括 DOS、DDOS、异常同步洪水、异常流量检测
  • 声誉。拒绝从当前已知感染恶意软件的 IP 地址进行访问。此类别还包括 Webroot 信誉指数平均得分较低的 IP。启用此类别将阻止从已识别为联系恶意软件分发点的来源访问。
  • 网络钓鱼。网络钓鱼类别包括托管钓鱼网站的 IP 地址、其他类型的欺诈活动,例如广告点击欺诈或游戏欺诈
  • 代理。代理类别包括提供代理和定义服务的 IP 地址。
  • 移动威胁。移动威胁类别包括恶意和有害移动应用程序的 IP 地址。此类别利用了 Webroot 移动威胁研究团队的数据。
  • Tor 代理。Tor 代理类别包括充当 Tor 网络出口节点的 IP 地址。出口节点是代理链上的最后一个点,可以直接连接到发起人的预定目的地。

当在网络中的任何位置检测到威胁时,IP 地址将被标记为恶意地址,并且连接到网络的所有设备都会立即受到保护。通过使用高级机器学习技术,可以高速、准确地处理 IP 地址的动态变化。

正如 Webroot 的数据表中所述,Webroot 的传感器网络可以识别许多关键的 IP 威胁类型,包括垃圾邮件来源、Windows 漏洞利用、僵尸网络、扫描程序等。(请参阅数据手册上的流程图。)

NetScaler 设备使用 iprep 客户端进程从 Webroot 获取数据库。 iprep 客户端首次使用 HTTP GET 方法从 Webroot 获取绝对 IP 列表。之后,它每 5 分钟检查一次增量变化。

重要:

  • 在使用 IP 信誉功能之前,请确保 NetScaler 设备可以访问 Internet 并配置 DNS。

  • 要访问 Webroot 数据库,NetScaler 设备必须能够在 端口 443 上连接到 api.bcti.brightcloud.com。HA 或群集部署中的每个节点都从 Webroot 获取数据库,并且必须能够访问此完全限定域名 (FQDN)。

  • Webroot 目前在 AWS 中托管其声誉数据库。因此,NetScaler 必须能够解析 AWS 域才能下载信誉数据库。此外,防火墙必须对 AWS 域开放。

注意:

启用 IP 信誉功能后,每个数据包引擎至少需要 4 GB 才能正常运行。

高级策略表达式。通过在绑定到受支持模块(如 Web App Firewall和响应程序)的策略中使用高级策略表达式(高级策略表达式)来配置 IP 信誉功能。以下是两个示例,显示了可用于检测客户端 IP 地址是否为恶意地址的表达式。

  1. CLIENT.IP.SRC.IPREP_IS_MALICIOUS:如果客户端包含在恶意IP 列表中,则此表达式的计算结果为 TRUE。
  2. CLIENT.IP.SRC.IPREP_THREAT_CATEGORY (CATEGORY):如果客户端 IP 是恶意 IP 并且属于指定的威胁类别,则此表达式的计算结果为 TRUE。
  3. CLIENT.IPV6.SRC.IPREP_IS_MALICIOUS 和 CLIENT.IPV6.SRC.IPREP_THREAT_CATEGORY:如果客户端 IP 是 IPv6 类型且是指定威胁类别中的恶意 IP 地址,则此表达式的计算结果为 TRUE。

以下是威胁类别的可能值:

SPAM_SOURCES, WINDOWS_EXPLOITS, WEB_ATTACKS, BOTNETS, SCANNERS, DOS, REPUTATION, PHISHING, PROXY, NETWORK, CLOUD_PROVIDERS, MOBILE_THREATS, TOR_PROXY.

注意:

IP 信誉功能同时检查源 IP 地址和目标 IP 地址。它会检测标题中的恶意 IP。如果策略中的 PI 表达式可以识别 IP 地址,则 IP 信誉检查将确定其是否为恶意。

IPRep 日志消息。/var/log/iprep.log 文件包含有用的消息,这些消息捕获有关与 Webroot 数据库通信的信息。这些信息可以是关于 Webroot 通信期间使用的凭据、无法与 Webroot 连接、更新中包含的信息(例如数据库中的 IP 地址数)。

使用策略数据集创建 IP 的阻止列表或白名单。您可以维护一个允许列表,以允许访问在 Webroot 数据库中被阻止列出的特定 IP 地址。您还可以创建自定义的 IP 地址阻止列表,以补充 Webroot 信誉检查。可以使用策略 数据集创建这些列表。数据集是一种特殊形式的模式集,非常适合 IPv4 或 IPv6 地址匹配。要使用数据集,请首先创建数据集,然后将 IPv4 或 IPv6 地址绑定到该数据集。配置用于比较数据包中字符串的策略时,请使用适当的运算符并将模式集或数据集的名称作为参数传递。

要创建允许在 IP 信誉评估期间视为例外的地址列表,请执行以下操作:

  • 配置策略,以便即使允许列表中的地址被 Webroot(或任何服务提供商)列为恶意地址,PI 表达式的计算结果也为 False。

启用或禁用 IP 信誉。IP 信誉是一般信誉功能的一部分,该功能基于许可证。启用或禁用信誉功能时,它会启用或禁用 IP 信誉。

一般程序。部署 IP 信誉涉及以下任务

  • 验证安装在 NetScaler 设备上的许可证是否支持 IP 信誉。高级和独立应用程序防火墙许可证支持 IP 信誉功能。
  • 启用 IP 信誉和应用程序防火墙功能。
  • 添加应用防火墙配置文件。
  • 使用 PI 表达式添加应用程序防火墙策略,以识别 IP 信誉数据库中的恶意 IP 地址。
  • 将应用程序防火墙策略绑定到适当的绑定点。
  • 验证从恶意地址收到的任何请求是否已记录在 ns.log 文件中,以显示该请求已按照配置文件中的指定进行处理。

使用 CLI 配置 IP 信誉功能

在命令提示符下,键入:

  • enable feature reputation
  • disable feature reputation

以下示例说明如何使用 PI 表达式添加应用程序防火墙策略来识别恶意地址。当请求匹配策略时,您可以使用内置配置文件、添加配置文件或配置现有配置文件以调用所需的操作。

示例 3 和 4 显示了如何创建策略数据集以生成阻止列表或 IP 地址允许列表。

示例 1:

以下命令创建一个策略,该策略可识别恶意 IP 地址,并在触发匹配时阻止请求:

add appfw policy pol1 CLIENT.IP.SRC.IPREP_IS_MALICIOUS APPFW_BLOCK add appfw policy pol1 CLIENT.IPv6.SRC.IPREP_IS_MALICIOUS APPFW_BLOCK add appfw policy pol1 "HTTP.REQ.HEADER(\"X-Forwarded-For\") .TYPECAST_IPv6_ADDRESS_AT.IPREP_IS_MALICIOUS" APPFW_RESET

示例 2:

以下命令创建一个策略,该策略使用信誉服务检查 X-Forwarded-For 标头中的客户端 IP 地址,并在触发匹配时重置连接。

> add appfw policy pol1 "HTTP.REQ.HEADER(\"X-Forwarded-For\").TYPECAST_IP_ADDRESS_AT.IPREP_IS_MALICIOUS" APPFW_RESET**

示例 3:

以下示例说明如何添加列表以添加允许指定 IP 地址的例外:

> add policy dataset Allow_list1 ipv4

> bind policy dataset Allow_list1 10.217.25.17 -index 1

> bind policy dataset Allow_list1 10.217.25.18 -index 2

以下示例说明如何添加列表以添加允许指定 IPv6 地址的例外:

add policy dataset Allow_list_ipv6 ipv6
bind policy dataset Allow_list_ipv6 fe80::98c7:d8ff:fe3a:b562 -index 1
bind policy dataset Allow_list_ipv6 fe80::98c7:d8ff:fe3a:b563  -index 2

<!--NeedCopy-->

示例 4:

以下示例说明如何添加自定义列表以将指定的 IP 地址标记为恶意地址:

> add policy dataset Block_list1 ipv4

> bind policy dataset Block_list1 10.217.31.48 -index 1

> bind policy dataset Block_list1 10.217.25.19 -index 2

以下示例说明如何添加自定义列表以将指定的 IPv6 地址标记为恶意地址。

add policy dataset Block_list_ipv6 ipv6
bind policy dataset Block_list_ipv6 fe80::98c7:d8ff:ff3b:b562 -index 1
bind policy dataset Block_list_ipv6 fe80::ffc7:d8ff:fe3a:b562 -index 2
<!--NeedCopy-->

示例 5:

以下示例显示了在以下情况下阻止客户端 IP 的策略表达式:

  • 它匹配在自定义 Block_list1 中配置的 IP 地址(示例 4)
  • 它与 Webroot 数据库中列出的 IP 地址匹配,除非通过包含在 Allow_list1中进行放宽(示例 3)。
> add appfw policy "Ip_Rep_Policy" "((CLIENT.IP.SRC.IPREP_IS_MALICIOUS || CLIENT.IP.SRC.TYPECAST_TEXT_T.CONTAINS_ANY("Block_list1")) && ! (CLIENT.IP.SRC.TYPECAST_TEXT_T.CONTAINS_ANY("Allow_list1")))" APPFW_BLOCK
<!--NeedCopy-->

以下示例显示了在以下情况下阻止客户端 IPv6 的策略表达式:

  1. 它匹配在自定义的 block_list_ipv6 中配置的 IPv6 地址(示例 4)
  2. 它与 Webroot 数据库中列出的 Ipv6 地址匹配,除非通过将其包含在 Allow_list_ipv6 中而放宽(示例 3)。
add appfw policy "Ip_Rep_v6_Policy" "((CLIENT.IPV6.SRC.IPREP_IS_MALICIOUS || CLIENT.IPV6.SRC.TYPECAST_TEXT_T.CONTAINS_ANY("Block_list_ipv6")) && ! (CLIENT.IPV6.SRC.TYPECAST_TEXT_T.CONTAINS_ANY("Allow_list_ipv6")))" APPFW_BLOCK
<!--NeedCopy-->

使用代理服务器:

如果 NetScaler 设备无法直接访问 Internet 并且已连接到代理,请将 IP 信誉客户端配置为向代理发送请求。

在代理服务器上配置代理用户名和密码,为您的设备提供额外的安全保护。

在命令提示符下,键入:

set reputation settings –proxyServer <proxy server ip> -proxyPort <proxy server port> -proxyUsername <username> -proxyPassword <password>

示例:

> set reputation settings proxyServer 10.102.30.112 proxyPort 3128 -proxyUsername defaultusername -proxyPassword defaultpassword

> set reputation settings –proxyServer testproxy.citrite.net –proxyPort 3128 -proxyUsername defaultusername -proxyPassword defaultpassword

> unset reputation settings –proxyserver –proxyport -proxyUsername -proxyPassword

> sh reputation settings

注意:

代理服务器 IP 可以是 IP 地址或完全限定域名 (FQDN)。

使用 NetScaler GUI 配置 IP 信誉

  1. 导航到 系统 > 设置。在“模式和功能”部分,单击链接以访问“配置高级功能”窗格并启用“信誉”复选框。
  2. 单击确定

启用 IP 信誉

使用 NetScaler GUI 配置代理服务器

  1. 配置 选项卡上,导航到 安全 > 信誉
  2. 在“置”下,单击“更改信誉设置”以配置代理服务器。
  3. 启用或禁用信誉功能。
  4. 输入以下详细信息以配置代理服务器:
    1. 代理服务器 -它可以是 IP 地址或完全限定域名 (FQDN)。
    2. 代理端口 -它接受介于 [1—65535] 之间的值。
    3. 代理用户名 -为代理服务器身份验证提供用户名。
    4. 代理密码 -提供用于代理服务器身份验证的密码。

      注意: 如果配置了 proxyServerproxyPort 字段,则启用 proxyUsernameproxyPassword 字段。

声誉设置

使用 GUI 创建允许列表和客户端 IP 地址阻止列表

  1. 配置 选项卡上,导航到 AppExpert > 数据集
  2. 单击添加

配置数据集

  • 创建数据集 (或 配置数据集)窗格中,为 IP 地址列表提供一个有意义的名称。名称必须反映列表的目的。
  • 选择 类型IPv4IPv6
  • 单击“插入”以添加条目。

插入数据集

  • 配置策略数据集绑定 窗格中,在值输入框中添加 IPv4 或 IPv6 格式的 IP 地址。
  • 提供索引。
  • 添加说明列表用途的注释。此步骤是可选的,但建议这样做,因为描述性注释有助于管理列表。

同样,您可以创建阻止列表并添加被视为恶意的 IP 地址。

有关使用 数据集和配置高级策略表达式的更多详细信息,另请参阅模 式集和数据集。

使用 NetScaler GUI 配置应用程序防火墙策略

  1. 配置 选项卡上,导航到 安全 > 应用程序防火墙 > 策略 > 防火墙。单击“添加”,使用 PI 表达式添加使用 IP 信誉的策略。

您还可以使用表达式编辑器构建自己的策略表达式。该列表显示了预配置的选项,这些选项对于使用威胁类别配置表达式非常有用。

重要内容

  • 快速准确地阻止来自构成不同类型威胁的已知恶意 IP 地址在网络边缘的不良流量。您可以在不解析正文的情况下阻止请求。
  • 为多个应用程序动态配置 IP 信誉功能。
  • 在不影响性能的情况下保护您的网络免遭数据泄露,并使用快速简便的部署将保护措施整合到单个服务架构上。
  • 您可以对源 IP 和目标 IP 执行 IP 信誉检查。
  • 您还可以检查标头以检测恶意 IP。
  • 正向代理和反向代理部署都支持 IP 信誉检查。
  • IP 信誉进程与 Webroot 连接,每 5 分钟更新一次数据库。
  • 高可用性 (HA) 或群集部署中的每个节点都从 Webroot 获取数据库。
  • IP 信誉数据在管理分区部署中的所有分区之间共享。
  • 您可以使用 AppExpert 数据集创建 IP 地址列表,以便为 Webroot 数据库中被阻止的 IP 添加例外情况。您还可以创建自己的自定义阻止列表,将特定 IP 指定为恶意 IP。
  • iprep.db 文件将在 /var/nslog/iprep 文件夹中创建。创建后,即使禁用该功能,也不会删除该功能。
  • 启用信誉功能后,将下载 NetScaler Webroot 数据库。之后,它每 5 分钟更新一次。
  • Webroot 数据库的主要版本是版本:1。
  • 次要版本每天都会更新。更新版本每 5 分钟递增一次,当次要版本递增时,更新版本将重置为 1。
  • PI 表达式使您能够将 IP 信誉与响应程序和重写等其他功能结合使用。
  • 数据库中的 IP 地址采用十进制表示法。

调试提示

  • 如果在 GUI 中看不到信誉功能,请验证您是否拥有正确的许可证。
  • 监视中的消息以 var/log/iprep.log 进行调试。
  • Webroot 连接:如果看到 ns iprep: Not able to connect/resolve WebRoot 消息,请确保设备可以访问 Internet 并且已配置 DNS。
  • 代理服务器:如果看到 ns iprep: iprep_curl_download: 88 curl_easy_perform failed. Error code: 5 Err msg:couldnt resolve proxy name 消息,请确保代理服务器配置准确无误。
  • IP 信誉功能不起作用:启用信誉功能后,IP 信誉过程大约需要五分钟才能启动。IP 信誉功能可能在这段时间内不起作用。
  • 数据库下载:如果启用 IP 信誉功能后 IP DB 数据下载失败,则会在日志中看到以下错误。

iprep: iprep_curl_download:86 curl_easy_perform failed. Error code:7 Err msg:Couldn't connect to server

解决方案:允许外包流量到以下 URL 或配置代理来解决问题。

localdb-ip-daily.brightcloud.com:443
localdb-ip-rtu.brightcloud.com:443
api.bcti.brightcloud.com:443
localdb-ipv6-daily.brightcloud.com:443
ipce-daily.brightcloud.com:443
ipce-rtu.brightcloud.com:443
<!--NeedCopy-->
IP 信誉