Citrix ADC

URL分类

URL分类会限制用户对特定Web站点和网络站点类别的访问权限。作为与合作的订阅服务,该功能使企业客户能够使用商业分类数据库筛选Web流量。数据库中有大量(数十亿)的URL分为不同类别,例如社交网络,赌博,成人内容,新媒体和购物。除了分类之外,每个网址都有一个基于站点的历史风险概况保持最新的信誉评分。我们可以根据类别,类别组(例如恐怖主义,非法药物)或站点信誉评分配置高级策略,使用数据过滤流量。

例如,您可能会阻止访问危险站点,例如已知感染恶意软件的站点。您还可以选择性地限制企业用户访问成人内容或娱乐流媒体等内容。还可以捕获用户的事务详细信息以及用于监视Citrix ADM服务器上的Web流量分析的出站流量详细信息。

Citrix ADC从预配置的设备nsv10.netstar-inc.com上传或下载数据,默认情况下用作云分类请求的云主机。incompasshybridpc.netstar-inc.com设备使用其NSIP地址作为源IP地址,443作为通信的目标端口。

URL分类的工作原理

下图显示了Citrix ADC URL分类服务如何与商业URL分类数据库和云服务集成以实现频繁更新。

URL分类的工作原理

组件的交互方式如下:

  1. 客户端发送一个互联网绑定的网址请求。

  2. SSL转发代理根据类别详细信息(如类别,类别组和站点信誉评分)对请求应用策略实施。类别详细信息是分从URL类数据库中检索的。如果数据库返回类别详细信息,则该过程将跳转到步骤 5。

  3. 如果数据库未找到分类详细信息,则请求将发送到由URL分类供应商维护的基于云的查找服务。但是,设备不等待响应,而是将URL标记为未分类并执行策略强制执行(跳转到步骤5)。设备继续监视云查询反馈并更新缓存,以便将来的请求可以从云查找中受益。

  4. ADC设备从基于云的服务接收URL类别详细信息(类别,类别组和信誉评分),并将其存储在分类数据库中。

  5. 策略允许URL,请求将发送到源服务器。否则,设备会删除、重定向或使用自定义 HTML 页面进行响应。

  6. 源服务器以请求的数据响应ADC设备。

  7. 设备将响应发送到客户端。

用例:企业合规下的互联网使用情况

您可以使用URL筛选功能来检测和实施合规性策略,以阻止违反公司合规性的站点。例如,成人、流媒体、社交网络等站点可能被视为非生产力或在企业网络中消耗过多的互联网带宽。阻止访问这些网站可以提高员工的生产力,降低带宽使用的运营成本,并降低网络消耗的开销。

必备条件

仅当Citrix ADC平台具有具有URL筛选功能和SSL转发代理威胁情报的可选订阅服务时,URL分类功能才适用于该平台。订阅允许客户下载最新Web站的点威胁分类,然后在安全Web门户上实施这些类别。在启用和配置功能之前,您必须安装以下许可证:

  • CNS_WEBF_SSERVER_Retail.lic

  • CNS_XXXX_SERVER_PLT_Retail.lic

其中,XXXXX是平台类型,例如:V25000

响应程序策略表达式

下表列出了可用于验证是否必须允许,重定向或阻止传入URL的不同策略表达式。

  1. > <文本。URL_CATEGORIZE (< min_reputation >、< max_reputation >)——返回一个URL_CATEGORY对象。如果大< min_reputation >于 0,则返回的对象不包含信誉低于的类别< min_reputation >。如果大< max_reputation >于 0,则返回的对象不包含信誉高于的类别< max_reputation >。如果类别未能及时解析,则返回undef值。
  2. < url_category >。类别()-返回此对象的类别字符串。如果URL没有类别,或者URL格式不正确,则返回的值为“未知”。
  3. < url_category >。CATEGORY_GROUP ()-返回标识对象类别组的字符串。此分组是较高级别的类别分组,在需要有关URL类别的详细信息较少的操作中,这很有用。如果URL没有类别,或者URL格式不正确,则返回的值为“未知”。
  4. < url_category >。声誉()-以 0 到 5 的数字形式返回信誉评分,其中 5 表示风险最高的信誉。如果存在“未知”类别,则信誉值为1。

策略类型:

  1. 为搜索引擎中的URL类别选择请求的策略添加响应器策略p1 ' HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL). url_categorize(0,0)。类别()。EQ(“搜索引擎”)
  2. 选择“成”人类别组中URL的请求的策略添加响应器策略p1 ' HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL). url_categorize(0,0)。CATEGORY_GROUP () .EQ(“成人”)
  3. 选择信誉得分低于4的搜索引擎URL请求时使用的策略添加响应器策略p2 ' HTTP.REQ.HOSTNAME。追加(HTTP.REQ.URL) .URL_CATEGORIZE(4 0)。HAS_CATEGORY(“搜索引擎”)
  4. 用于选择请求搜索引擎和购物URL的策略添加响应器策略p3 ' HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL). url_categorize (0,0). category()。EQ(“good_categories”)
  5. 为信誉分数等于或高于4的搜索引擎URL选择请求数的策略添加响应器策略p5 ' CLIENT.SSL.DETECTED_DOMAIN.URL_CATEGORIZE(4,0)。类别()。EQ(“搜索引擎”)
  6. 为搜索引擎类别中URL的选择请求并将其与URL集进行比较的策略“HTTP.REQ.HOSTNAME.APPEND (HTTP.REQ.URL) .URL_CATEGORIZE(0, 0)。类别()。EQ("搜索引擎")&& HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URLSET_MATCHES_ANY(" u1 ") '

响应程序策略类型

URL分类功能中使用两种类型的策略,下表对其中的每种策略类型进行了说明:

策略类型 说明
URL类别 对Web流量进行分类,并根据评估结果阻止,允许或重定向流量。
URL信誉分数 确定Web站点的信誉分数,并允许您根据管理员设置的信誉分数阈值级别控制访问。

配置URL分类

要在Citrix ADC设备上配置URL分类,请执行以下操作:

  1. 启用URL筛选。
  2. 为网络流量配置代理服务器。
  3. 在显式模式下为Web流量配置SSL拦截。
  4. 配置共享内存以限制缓存内存。
  5. 配置URL分类参数。
  6. 使用Citrix SSL转发代理向导配置URL分类。
  7. 使用SSL转发代理向导配置URL分类参数。
  8. 配置种子数据库路径和云服务器名称

第1步骤:启用URL筛选

要启用URL分类,请启用URL筛选功能并启用URL分类模式。

使用CLI启用URL分类

在命令提示符下,键入:

启用ns feature URLFiltering

禁用ns特性URLFiltering

第二步骤:在显式模式下为Web流量配置代理服务器

Citrix ADC设备支持透明和显式的代理虚拟服务器。要在显式模式下为SSL流量配置代理虚拟服务器,请执行以下操作:

  1. 添加代理服务器。
  2. 将SSL策略绑定到代理服务器。

使用CLI添加代理服务器

在命令提示符下,键入:

添加cs vserver [-td ] [-cltTimeout ]

示例:

add cs vserver starcs PROXY 10.10.107.121 80 -cltTimeout 180

使用CLI将SSL策略绑定到代理虚拟服务器

bind ssl vserver -policyName [-priority ]绑定ssl

第三步骤:为HTTPS流量配置SSL拦截

要为HTTPS流量配置SSL拦截,请执行以下操作:

  1. 将CA证书密钥对绑定到代理虚拟服务器。
  2. 使用SSL参数配置默认SSL配置文件。
  3. 将前端SSL配置文件绑定到代理虚拟服务器,并在前端SSL配置文件中启用SSL拦截。

使用CLI将CA证书密钥对绑定到代理虚拟服务器

在命令提示符下,键入:

bind ssl vserver -certkeyName -CA -skipCAName

使用CLI配置默认SSL配置文件

在命令提示符下,键入:

设置ssl配置文件 -denySSLReneg -sslInterception (ENABLED | DISABLED) -ssliMaxSessPerServer positive_integer> .启用|

使用CLI将前端SSL配置文件绑定到代理虚拟服务器

在命令提示符下,键入:

设置ssl vserver < vserver name> -sslProfile ssl_profile_intercept

步骤 4:配置共享内存以限制缓存内存

使用CLI配置共享内存以限制缓存内存

在命令提示符下,键入:

设置缓存参数[-memLimit ]

其中,为缓存配置的内存限制设置为10 MB。

第五步骤:配置URL分类参数

使用CLI配置URL分类参数

在命令提示符下,键入:

设置urlfiltering参数[-HoursBetweenDBUpdates ] [-TimeOfDayToUpdateDB ]

示例:

设置urlfiltering参数-urlfilt_hours_betweenDB_updates 20

第六步骤:使用Citrix SSL转发代理向导配置URL分类

  1. 登录到Citrix ADC设备并导航到”安全“>”SSL转发代理”页面。
  2. 在详细信息窗格中,执行以下操作之一:
    1. 单击SSL转发代理向导以创建新配置。
    2. 选择现有配置,然后单击编辑
  3. 在“URL过滤“部分中,单击”编辑”。
  4. 选”中URL分类“复选框以启用该功能。
  5. 选择URL分类策略,然后单击绑定
  6. 点击继续,然后点击完成

有分关URL类策略的详细信息,请参阅如何创建URL分类策略

第七步骤:使用SSL转发代理向导配置URL分类参数

  1. 登录到Citrix ADC设备,然后导航到”安全“>”URL筛选”。
  2. 在“URL筛选”页面中,单击”更改URL筛选设置“链接。
  3. 在“配置URL筛选参数”页面中,指定以下参数。
    1. 数据库更新之间的小时数。URL过滤数据库更新之间的小时数。最小值:0,最大值:720。
    2. 更新数据库的一天时间。URL过滤一天中的时间以更新数据库。
    3. 云主机。云服务器的URL路径。
    4. 种子数据库路径。种子数据库查找服务器的URL路径。
  4. 单击确定关闭

示例配置:

enable ns feature LB CS SSL IC RESPONDER AppFlow URLFiltering enable ns mode FR L3 Edge USNIP PMTUD set SSL profile ns_default_ssl_profile_frontend -denySSLReneg NONSECURE - sslintercept ENABLED -ssliMaxSessPerServer 100 add SSL certKey swg_ca_cert -cert ns_swg_ca. log . log . log . log . log . log . log . log . log . log . log . log。crt关键ns_swg_ca。key set cache parameter -memLimit 100 add cs vserver starcs PROXY 10.102.107.121 80 -cltTimeout 180 add responder action act1 respondwith ""HTTP/1.1 200 OK\r\n\r\n" + HTTP .req.url.url_categorize(0,0)。p1 "HTTP.REQ.URL.URL_CATEGORIZE(0,0). category .eq("Shopping/Retail") || HTTP.REQ.URL.URL_CATEGORIZE(0,0). category . "eq("Search Engines & Portals ")" act1 bind cs vserver starcs_PROXY -policyName p1 -priority 10 - gotopriityexpression END -type REQUEST add dns nameServer 10.140.0.5 set ssl parameter -denySSLReneg NONSECURE -defaultProfile ENABLED -sigDigestType RSA-MD5 RSA-SHA1 RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-SHA512 -ssliErrorCache ENABLED-ssliMaxErrorCacheMem 100000000 add ssl policy pol1 -rule "client.ssl.origin_server_cert.subject. "URL_CATEGORIZE .CATEGORY(0,0)。eq(“搜索引擎和门户网站”)”" -action INTERCEPT add ssl policy pol3 -rule "client.ssl.origin_server_cert.subject.ne("citrix")"添加ssl策略swg_pol -rule "client.ssl.client_hello.SNI.URL_CATEGORIZE(0,0).CATEGORY.ne("Uncategorized")"-action拦截设置urlfiltering参数-HoursBetweenDBUpdates 3 -TimeOfDayToUpdateDB 03:00 

配置种子数据库路径和云服务器名称

现在,您可以配置种子数据库路径和云查找服务器名称,以便手动设置云查找服务器名称和种子数据库路径。为此,在URL过滤参数中添加了两个新参数,“CloudHost”和“SeedDBPath”。

在命令提示符下,键入:

设置urlfiltering参数[-HoursBetweenDBUpdates ] [-TimeOfDayToUpdateDB ] [-LocalDatabaseThreads ] [-CloudHost ] [-SeedDBPath ]

示例:

set urlfiltering parameter -HoursBetweenDBUpdates 3 -TimeOfDayToUpdateDB 03:00 -CloudHost localhost -SeedDBPath /mypath

Citrix ADC设备之间的通信可能需要域名服务器。您可以使用设备的简单控制台或telnet连接进行测试。

示例:

root@ns# telnet nsv10.netstar-inc.com 443 Trying 1.1.1.1…连接到nsv10.netstar-inc.com。转义字符为'^]'。root@ns# telnet incompasshybridpc.netstar-inc.com 443正在尝试10.10.10.10…连接到incompasshybridpc.netstar-inc.com。转义字符为'^]'。<!——NeedCopy >

配置审核日志消息

审核日志记录使您能够在URL分类过程的任何阶段查看条件或情况。Citrix ADC设备收到传入 URL 时,如果响应程序策略具有 URL 过滤表达式,则审核日志功能将收集 URL 中的 URL 集信息。它将信息存储为审计日志记录允许的任何目标的日志消息。

  • 源IP地址(发出请求的客户端的IP地址)。

  • 目标IP地址(请求服务器的IP地址)。

  • 请求的包含架构,主机和域名的URL (http://www.example.com)。

  • URL过滤框架返回的URL类别。

  • URL筛选框架返回的URL类别组。

  • URL筛选框架返回的URL信誉号。

  • 策略执行的审核日志操作。

要为URL列表功能配置审核日志记录,必须完成以下任务:

  1. 启用审核日志。
  2. 创建审核日志消息操作。
  3. 使用审核日志消息操作设置URL列表响应程序策略。

有关详细信息,请参阅审计日志记录主题

使用SYSLOG消息传递存储失败错误

在URL过滤过程的任何阶段,如果出现系统级故障,ADC设备会使用审核日志机制将日志存储在ns.log文件中。错误以SYSLOG格式存储为文本消息,以便管理员稍后可以按事件发生的时间顺序查看错误。这些日志也会发送到外部SYSLOG服务器进行存档。有关更多信息,请参阅文章CTX229399

例如,如果初始化URL筛选SDK时发生故障,错误消息将以以以下消息格式存储。

10月3日15:43:40 ns URLFiltering[1349]:错误初始化NetStar SDK (SDK错误=-1)。(状态= 1)。

Citrix ADC设备将错误消息存储在四个不同的故障类别中:

  • 下载失败。如果您尝试下载分类数据库时发生错误。

  • 集成失败。如果将更新集成到现有分类数据库中时发生错误。

  • 初始化失败。如果初始化URL分类功能,设置分类参数或结束分类服务时发生错误。

  • 检索失败。如果设备检索请求的分类详细信息时发生错误。

为并事件配置SNMP陷阱

如果出现以下情况、URL过滤功能会生成SNMP陷阱:

  • 并数据库更新失败或成功。
  • 并SDK初始化失败或成功。

设备具有一组名为SNMP警报的条件实体。当满足SNMP警报中的条件时,设备会生成陷阱并将其发送到指定陷阱目标。例如,如果并SDK初始化失败,则会生成一个SNMP OID 1.3.6.1.4.1.5951.1.1.0.183并将其发送到陷阱目标。

要使设备生成陷阱,必须首先启用和配置SNMP警报。然后,您指定设备将生成的陷阱消息发送到的陷阱目标

启用SNMP警报

Citrix ADC设备仅为已启用的SNMP警报生成陷阱。某些警报在默认情况下处于启用状态,但您可以禁用它们。

启用SNMP警报时,URL筛选功能会在发生成功或失败事件时生成陷阱消息。默认情况下某些警报处于启用状态。

要使用命令行界面启用SNMP警报,请执行以下操作:

在命令提示窗口中,键入以下命令来设置参数并验证配置:

使能snmp告警show snmp alarm .输出说明

使用Citrix ADC GUI启用SNMP警报

  1. 导航到系统>SNMP>警报,然后选择警报。
  2. 单击操作并选择启用

使用CLI配置SNMP警报

在命令提示窗口中,键入以下命令来设置参数并验证配置:

设置snmp告警 [-thresholdValue [-normalValue ]] [-time ] [-state (ENABLED | DISABLED)] [-severity ] [-logging (ENABLED | DISABLED)]

示例:

设置snmp告警URL-FIL-DB-UPDATE-STATUS -state ENABLED设置snmp告警URL-FIL-INIT-SDK -state ENABLED

使用GUI配置SNMP警报

导航到”系统“>”SNMP“>”报”,选择警报,然后配置警报参数。

有关SNMP陷阱的更多信息,请参阅SNMP主题