Citrix ADC

URL分类

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

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

Citrix ADC从预配置的数据中上传或下载数据设备nsv10.netstar-inc.comincompasshybridpc.netstar-inc.com默认情况下用作云分类请求的云主机。这些URL必须可以通过防火墙访问,URL过滤才能正常工作。设备使用其NSIP地址作为源IP地址,并使用443作为目的端口进行通信。

URL分类是如何工作的

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

URL分类是如何工作的

组件的交互方式如下:

  1. 客户端发送一个internet绑定URL请求。

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

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

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

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

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

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

用例:企业在公司合规性下的Internet使用

您可以通过URL过滤特性检测并实施合规性策略,阻止违反企业合规性的站点。例如,成人、流媒体、社交网络等网站可以被认为是非生产性的,或者在企业网络中消耗多余的互联网带宽。阻止访问这些网站可以提高员工的工作效率,降低带宽使用的运营成本,并减少网络消耗的开销。

先决条件

URL分类功能在Citrix ADC平台上工作,只有当它具有URL过滤功能和SSL正向代理威胁情报的可选订阅服务时。订阅允许客户下载网站的最新威胁分类,然后将这些分类强制执行到SSL转发代理。在启用和配置该特性之前,需要安装以下license:

  • CNS_WEBF_SSERVER_Retail.lic

  • CNS_XXXX_SERVER_PLT_Retail.lic

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

响应器策略表达式

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

  1. > <文本。URL_CATEGORIZE ()—返回一个URL_CATEGORY对象。如果< min_reputation >大于0,则返回的对象不包含声誉低于< min_reputation >.如果< max_reputation >大于0,则返回的对象不包含声誉高于< max_reputation >.如果分类不能及时解析,则返回undef值。
  2. < url_category >。类别()-返回该对象的类别字符串。如果URL没有类别,或者URL格式不正确,则返回值为“Unknown”。
  3. < url_category >。CATEGORY_GROUP ()-返回标识对象所属类别组的字符串。此分组是更高级别的类别分组,在需要较少URL类别详细信息的操作中非常有用。如果URL没有类别,或者URL格式不正确,则返回值为“Unknown”。
  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. 策略选择请求的搜索引擎url与信誉评分低于4 -添加响应器策略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. 策略选择请求的搜索引擎url与信誉评分等于或大于4 -添加响应器策略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(" Search Engine ") && HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URLSET_MATCHES_ANY(" u1 ") '

响应器策略类型

URL分类特性中使用了两种类型的策略,每种策略类型的解释如下表所示:

策略类型 描述
URL的类别 对网络流量进行分类,并根据评估结果阻止、允许或重定向流量。
URL信誉评分 判断网站的信誉评分,并根据管理员设置的信誉评分阈值进行访问控制。

配置URL分类

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

  1. 启用URL过滤。
  2. 配置Web流量代理服务器。
  3. 以显式方式配置Web流量的SSL拦截。
  4. 配置共享内存以限制缓存内存。
  5. 配置URL分类参数。
  6. 使用Citrix SSL正向代理向导配置URL分类。
  7. 使用SSL正向代理向导配置URL分类参数。
  8. 配置种子数据库路径和云服务器名称

步骤1:启用URL过滤

要启用URL分类功能,需要启用URL过滤特性和URL分类方式。

通过命令行开启URL分类功能

在命令提示符下,输入:

启用ns feature url过滤功能

禁用ns feature url过滤功能

步骤2:显式配置web流量代理服务器

Citrix ADC设备支持透明和显式的代理虚拟服务器。通过显式方式为SSL流量配置代理虚拟服务器,具体步骤如下:

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

使用CLI方式添加代理服务器

在命令提示符下,输入:

add cs vserver [-td ] [-cltTimeout ]

例子:

add cs vserver starcs PROXY 10.102.107.121 80 -cltTimeout 180

该任务指导管理员通过CLI命令行绑定代理虚拟服务器的SSL策略

绑定ssl vserver -policyName [-priority ]

步骤3:配置对HTTPS流量进行SSL拦截

配置对HTTPS流量进行SSL拦截的步骤如下:

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

使用命令行方式绑定CA证书-密钥对

在命令提示符下,输入:

> -CA -skipCAName . bind ssl vserver -certkeyName < certificatekeypairname > -CA -skipCAName

使用命令行方式配置默认SSL配置文件

在命令提示符下,输入:

set ssl profile -denySSLReneg -sslInterception (ENABLED | DISABLED) -ssliMaxSessPerServer positive_integer>

该任务指导管理员通过命令行绑定前端SSL配置文件和代理虚拟服务器

在命令提示符下,输入:

set ssl vserver < vserver name> -sslProfile ssl_profile_interception . sh

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

通过CLI配置共享内存,限制缓存容量

在命令提示符下,输入:

设置缓存参数[-memLimit ]

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

步骤5:配置URL分类参数

通过命令行方式配置URL分类参数

在命令提示符下,输入:

设置url过滤参数[-HoursBetweenDBUpdates ] [-TimeOfDayToUpdateDB ]

例子:

20 .设置urlfilter参数-urlfilt_hours_betweenDB_updates

步骤6:使用Citrix SSL正向代理向导配置URL分类

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

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

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

  1. 登录到Citrix ADC设备并导航到安全> URL过滤
  2. URL过滤页面,点击更改URL过滤设置链接。
  3. 配置URL过滤参数页面,指定以下参数。
    1. 数据库更新间隔小时数。URL数据库更新之间的过滤小时数。最小值:0,最大值:720。
    2. 每天更新数据库的时间。URL每天更新数据库的过滤时间。
    3. 云主机。云服务器的URL路径。
    4. 种子DB路径。种子数据库查找服务器的URL路径。
  4. 点击好吧关闭

示例配置:

启用nsfeature LB CS SSL IC RESPONDER AppFlow URLFiltering使能nsmode FR L3 Edge USNIP PMTUD set SSL profile ns_default_ssl_profile_frontend -denySSLReneg NONSECURE -sslInterception ENABLED -ssliMaxSessPerServer 100 add SSL certKey swg_ca_cert -cert ns_swg_ca. cnCRT -key ns_swg_ca。关键设置缓存参数-memLimit 100添加cs vserver starcs PROXY 10.102.107.121 80 -cltTimeout 180添加responder action act1 respondwith "\"HTTP/1.1 200 OK\r\n\r\n\" + HTTP .req.url.url_categorize(0,0)。{\"\n\"" add responder policy 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 -gotoPriorityExpression 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(\"Search Engines & Portals\")"" -action拦截添加ssl策略pol3 -rule "client.ssl.origin_server_cert.subject.ne(\"citrix\")"-action拦截添加ssl策略swg_pol -rule "client.ssl.client_hello.SNI.URL_CATEGORIZE(0,0).CATEGORY.ne(\" unclassified \")"-TimeOfDayToUpdateDB 03:00 

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

现在可以配置种子数据库路径和云查找服务器名称,以便手动设置云查找服务器名称和种子数据库路径。要做到这一点,两个新参数,“CloudHost”和“SeedDBPath”,被添加到URL过滤参数。

在命令提示符下,输入:

set urlfiltering parameter [-HoursBetweenDBUpdates ] [-TimeOfDayToUpdateDB ] [-LocalDatabaseThreads ] [-CloudHost ] [-SeedDBPath ]

例子:

设置url过滤参数-HoursBetweenDBUpdates 3 -TimeOfDayToUpdateDB 03:00 -CloudHost localhost -SeedDBPath /mypath

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

例子:

root@ns# telnet nsv10.netstar-inc.com 443尝试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 List特性配置审计日志,您必须完成以下任务:

  1. 启用审计日志。
  2. 创建审计日志消息操作。
  3. 设置带有审计日志消息动作的URL列表响应器策略。

有关更多信息,请参见审计日志记录的话题。

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

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

例如,如果在初始化URL Filtering SDK时发生失败,错误消息将以以下消息格式存储。

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

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

  • 下载失败.如果在尝试下载分类数据库时出现错误。

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

  • 初始化失败.如果初始化URL分类功能出错,请设置分类参数或结束分类服务。

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

配置NetSTAR事件的SNMP trap

当出现以下情况时,URL过滤特性会产生SNMP trap:

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

设备有一组称为SNMP告警的条件实体。当满足SNMP告警中的条件时,设备产生trap并将其发送到指定的trap目的地。例如,如果NetSTAR SDK初始化失败,则产生SNMP OID 1.3.6.1.4.1.5951.1.1.0.183,并发送到trap目的地。

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

启用SNMP告警

Citrix ADC设备仅为已启用的SNMP告警生成陷阱。部分告警默认开启,可关闭。

启用SNMP告警后,URL过滤特性会在成功或失败事件发生时产生trap信息。有些告警是默认开启的。

使用命令行方式使能SNMP告警。

在命令提示符下,输入以下命令设置参数并验证配置:

enable snmp alarm show snmp alarm . show snmp alarm

通过Citrix ADC GUI使能SNMP告警

  1. 导航到系统>SNMP>警报,选择该告警。
  2. 点击行动并选择启用

通过命令行方式配置SNMP告警

在命令提示符下,输入以下命令设置参数并验证配置:

set snmp alarm [-thresholdValue [-normalValue ]] [time ] [-state (ENABLED | DISABLED)] [-severity ] [-logging (ENABLED | DISABLED)]

例子:

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

通过GUI界面配置SNMP告警

导航到系统>SNMP>警报,选择一条告警,配置告警参数。

有关SNMP trap的详细信息,请参见SNMP主题