ADC

信用卡检查

如果您的应用程序接受信用卡,或者您的网站有权访问存储信用卡号的数据库服务器,则必须使用数据泄漏防护 (DLP) 措施并为您接受的每种类型的信用卡配置保护。

Citrix Web App Firewall 信用卡检查可防止攻击者利用数据泄漏防护漏洞获取客户的信用卡号码。通过简单的配置步骤,您可以强制保护以下一张或多张信用卡:1) Visa、2) 万事达卡、3) 发现卡、4) 美国运通卡、5) JCB 和 6) 大来俱乐部。

信用卡安全检查检查服务器响应,以确定目标信用卡号的实例,并在找到此类号码时应用指定的操作。该操作可以是通过 X’ing 将响应转换为信用卡号码中的最后一组,或者如果响应包含超过指定数量的信用卡号码,则阻止响应。如果同时指定两者,则阻止操作优先。每页允许的最大信用卡设置确定何时调用阻止操作。默认设置 0(页面上不允许使用信用卡号码)是最安全的,但您最多可以允许 255 个。根据响应中检测到冲突以及触发阻止操作的位置,您的响应中可能会少于允许的最大信用卡数量。

为了避免误报,您可以应用放宽来免除信用卡检查中的特定号码。例如,社会保障号、采购订单号或 Google 帐号可能与信用卡号类似。您可以指定单个编号或使用正则表达式来指示在处理用于信用卡检查的响应 URL 时要绕过的数字字符串。

如果您不确定要豁免哪个信用卡号,您可以使用学习功能根据学习的数据生成建议。为了在不影响性能的情况下获得最佳优势,您可能需要在短时间内启用此选项以获取规则的代表性示例,然后部署放宽并禁用学习。

如果启用了日志功能,则信用卡检查会生成日志消息,指示它采取的操作。您可以监视日志以确定对合法请求的响应是否被阻止。日志消息数量的大幅增加可能表明获取访问权限的尝试受挫。默认情况下,doSecureCreditCardLogging 参数处于开状态,因此信用卡号不包括在由安全电子商务(信用卡)冲突生成的日志消息中。

统计功能收集有关冲突和日志的统计信息。统计数据计数器出现意外激增可能表明您的应用程序受到攻击。

要配置用于保护应用程序的信用卡安全检查,请配置用于管理检查进出此应用程序的流量的配置文件。

注意

不访问 SQL 数据库的网站通常无法访问敏感的私人信息,如信用卡号码。

使用命令行配置信用卡检查

在命令行界面中,您可以使用设置 appfw 配置文件命令或添加 appfw 配置文件命令激活信用卡检查并指定要执行的操作。您可以使用未设置 appfw 配置文件命令恢复到默认设置。要指定放宽,请使用绑定 appfw 命令将信用卡号绑定到配置文件。

使用命令行配置信用卡检查

使用设置 appfw 配置文件命令或添加 appfw 配置文件命令,如下所示:

  • set appfw profile <name> -creditCardAction ( ([block][learn] [log][stats]) | [none])
  • set appfw profile <name> -creditCard (VISA | MASTERCARD | DISCOVER | AMEX | JCB | DINERSCLUB)
  • set appfw profile <name> -creditCardMaxAllowed <integer>
  • set appfw profile <name> -creditCardXOut ([ON] | [OFF])<name> -doSecureCreditCardLogging ([ON] | [OFF])

  • 使用命令行配置信用卡放宽规则

    使用 bind 命令将信用卡号绑定到配置文件。要从配置文件中删除信用卡号,请使用 unbind 命令,其参数与您用于绑定命令的参数相同。您可以使用 show 命令显示绑定到配置文件的信用卡号码。

  • 绑定信用卡号码的配置文件

    bind appfw profile <profile-name> -creditCardNumber <any number/regex> “<url>”

    示例:bind appfw profile test_profile -creditCardNumber 378282246310005 http://www.example.com/credit\_card\_test.html

    • 从配置文件中取消绑定信用卡号码

      unbind appfw profile <profile-name> -creditCardNumber <credit card number / regex> <url>

    • 显示绑定到配置文件的信用卡号列表。

      show appfw profile <profile>

使用 GUI 配置信用卡检查

在 GUI 中,您可以在窗格中为与应用程序关联的配置文件配置信用卡安全检查。

使用 GUI 添加或修改信用卡安全检查

  1. 导航到 Web App Firewall > 配置文件,突出显示 目标配置文件,然后单击 编辑

  2. 高级设置窗格中,单击安全检查

    安全检查表显示当前为所有安全检查配置的操作设置。您有 2 个配置选项:

    1. 如果您只想为信用卡启用或禁用“阻止”、“日志”、“统计信息”和“学习”操作,则可以选中或清除表中的复选框,单 “确定”,然后单击“保存关闭”以关闭“安全检查”窗格。
    2. 如果要为此安全检查配置其他选项,请双击“信用卡”,或选择该行,然后单击“操作设 置”以显示其他选项,如下所示:
      • OUT-将响应中检测到的任何信用卡号码替换为字母“X”替换除最后一组中的数字以外的每个数字,以掩盖响应中检测到的任何信用卡号码。

      • 每页允许的最大信用卡-指定可以转发到客户端而不触发阻止操作的信用卡数量。

      • 受保护的信用卡。选中或清除一个复选框以启用或禁用对每种类型的信用卡的保护。

      • 您还可以在信用卡设置窗格中编辑“阻止”、“日志”、“统计”和“学习”操作。

        进行上述任何更改后,单击“确定”保存更改并返回到“安全检查”表格。如果需要,您可以继续配置其他安全检查。单击“确定”以保存您在“安全检查”部分中所做的所有更改,然后单击“保存并关闭”以关闭“安全检查”窗格。

  3. 在“高级设置”窗格中,单击“配置文件设置”。若要启用或禁用信用卡号码的安全日志记录,请选中或清除“安全信用卡日志记录”复选框。(默认情况下,它处于选中状态)。

    单击“确定”以保存更改。

  • 使用 GUI 配置信用卡放宽规则

    1. 导航到 Web App Firewall > 配置文件,突出显示目标配置文件,然后单击 编辑
    2. 高级设置 窗格中,单击 放宽规则。放宽规则表中有一个信用卡条目。您可以双击,或选择此行,然后单击“编辑”以访问“信用卡放宽规则”对话框。您可以对放松规则执行“添加”、“编辑”、“删除”、“启用”或“禁用”操作。

将学习功能与信用卡检查结合使用

启用学习操作后,Web App Firewall 学习引擎会监视流量并了解触发的冲突。您可以定期检查这些学习的规则。经过适当考虑,如果您希望从信用卡安全检查中免除特定的数字字符串,可以通过部署学习的规则作为放宽规则。

  • 使用命令行界面查看或使用学习的数据

    show appfw learningdata <profilename> creditCardNumber

    rm appfw learningdata <profilename> -creditcardNumber <credit card number> "<url>"

    export appfw learningdata <profilename> creditCardNumber

  • 使用 GUI 查看或使用学习的数据

    1. 导航到 Web App Firewall > 配置文件,突出显示目标配置文件,然后单击 编辑
    2. 在“高级设置”窗格中,单击“学习规则”。您可以在“学习规则”表中选择“信用卡”条目,然后双击该条目以访问已学习的规则。您可以部署已学习的规则或编辑规则,然后再将其部署为放宽规则。要放弃规则,您可以选择该规则并单击 过按钮。您一次只能编辑一个规则,但可以选择要部署或跳过的多个规则。

    还可以选择通过选择“学习规则”表中的“信用卡”条目,然后单击“可视化工具”以获取所有学习冲突的综合视图来显示已学习放宽的摘要视图。可视化工具使得管理学到的规则变得非常简单。它在一个屏幕上提供了一个全面的数据视图,并且只需点击一下便于对一组规则采取操作。可视化工具的最大优势是它推荐正则表达式来整合多个规则。您可以根据分隔符和操作 URL 选择这些规则的子集。通过从下拉列表中选择数字,可以在可视化工具中显示 25、50 或 75 条规则。学习规则的可视化工具提供了编辑规则并将其作为放宽部署的选项。或者您可以跳过规则忽略它们。

将日志功能与信用卡检查结合使用

启用日志操作后,信用卡安全检查冲突将记录在审核日志中作为 APPFW_SAFENEST 或 APPFW_SAFMEST _XFORM 冲突。Web App Firewall 支持本机和 CEF 日志格式。您也可以将日志发送到远程 syslog 服务器。

doSecureCreditCardLogging 的默认设置为开。如果将其更改为 OFF,则日志消息中包含信用卡号和类型。

根据为信用卡检查配置的设置,应用程序防火墙生成的日志消息可能包括以下信息:

  • 响应已被阻止或未被阻止。
  • 信用卡号码被转换(X 出)。将为每个转换的信用卡号生成单独的日志消息,因此在处理单个响应期间可能会生成多个日志消息。
  • 答复包含潜在信用卡号码的最大数量。
  • 信用卡号码及其相应类型。

  • 使用命令行访问日志消息

    切换到 shell 并尾随 /var/log/ 文件夹中的 ns.log 以访问与信用卡冲突相关的日志消息:

    • Shell
    • 尾-f /var/日志/ns.log | 格雷普安全电子商务
  • 使用 GUI 访问日志消息

    1. Citrix GUI 包含一个非常有用的工具(Syslog 查看器),用于分析日志消息。您有几个用于访问 Syslog 查看器的选项:导航到 目标配置文件 > 安全检查 。突出显示信用卡行并单击日志。当您直接从配置文件的信用卡安全检查访问日志时,它会过滤掉日志消息,并仅显示与这些安全检查冲突有关的日志。

    2. 您还可以通过导航到 NetScaler > 系统 > 审核 访问系统日志查看器。在审计消息部分,单击 Syslog 消息 链接以显示 Syslog Viewer,该查看器显示所有日志消息,包括其他安全检查违规日志。这对于在请求处理过程中可能触发多个安全检查冲突时进行调试非常有用。

      基于 HTML 的 Syslog 查看器提供了各种筛选选项,用于仅选择您感兴趣的日志消息。要访问信用卡安全检查冲突日志消息,请在模块的下拉选项中选择 APPFW 进行筛选。“事件类型”显示一组丰富的选项,以进一步优化您的选择。例如,如果您选择了 APPFW_SAFENSE 和 APPFW_SAFEMECOMENE_XFORM 复选框,然后单击应用按钮,系统日志查看器中仅显示与信用卡安全检查冲突有关的日志消息。

      如果将游标放在特定日志消息的行中,则日志消息下方会显示多个选项(如 Module 和 EventType)。您可以选择这些选项中的任何一个以突出显示日志中的相应信息。

未阻止响应时的本机格式日志消息示例

May 29 01:26:31 <local0.info> 10.217.31.98 05/29/2015:01:26:31 GMT ns 0-PPE-0 :
default APPFW APPFW_SAFECOMMERCE 2181 0 :  10.217.253.62 1098-PPE0
4erNfkaHy0IeGP+nv2S9Rsdu77I0000 pr_ffc http://aaron.stratum8.net/FFC/CreditCardMind.html
Maximum number of potential credit card numbers seen <not blocked>
<!--NeedCopy-->

变换响应时的 CEF 格式日志消息示例

May 28 23:42:48 <local0.info> 10.217.31.98
CEF:0|Citrix|NetScaler|NS11.0|APPFW|APPFW_SAFECOMMERCE_XFORM|6|src=10.217.253.62
spt=25314 method=GET request=http://aaron.stratum8.net/FFC/CreditCardMind.html
msg=Transformed (xout) potential credit card numbers seen in server response
cn1=66 cn2=1095 cs1=pr_ffc cs2=PPE2 cs3=xzE7M0g9bovAtG/zLCrLd2zkVl80002
cs4=ALERT cs5=2015 act=transformed
<!--NeedCopy-->

响应被阻止时的 CEF 格式日志消息示例。信用卡号和类型可以在日志中看到,因为doSecureCreditCardLogging 日志记录参数已被禁用。

May 28 23:42:48 <local0.info> 10.217.31.98
CEF:0|Citrix|NetScaler|NS11.0|APPFW|APPFW_SAFECOMMERCE|6|src=10.217.253.62
spt=25314 method=GET request=http://aaron.stratum8.net/FFC/CreditCardMind.html
msg=Credit Card number 4505050504030302 of type Visa is seen in response cn1=68
cn2=1095 cs1=pr_ffc cs2=PPE2 cs3=xzE7M0g9bovAtG/zLCrLd2zkVl80002 cs4=ALERT cs5=2015
act=blocked
<!--NeedCopy-->

信用卡冲突行为的统计数据

启用统计操作时,当 Web App Firewall 对此安全检查采取任何操作时,信用卡检查的相应计数器会递增。这些统计数据是针对流量、冲突和日志的速率和总计数收集的。日志计数器的增量可能因配置的设置而异。例如,如果启用了阻止操作,且最大允许信用卡设置为 0,则当检测到第一个信用卡号码时,页面被阻止时,请求包含 20 个信用卡号码的页面将统计计数器递增一个。但是,如果禁用块并启用了转换,则处理相同的请求会将日志的统计计数器递增 20,因为每个信用卡转换都会生成单独的日志消息。

  • 使用命令行显示信用卡统计信息

    在命令提示符下,键入:

    sh appfw stats

    要显示特定配置文件的统计信息,请使用以下命令:

    stat appfw profile <profile name>

    使用 GUI 显示信用卡统计信息

    1. 导航到“系统”>“安全”>“Web App Firewall”。
    2. 在右窗格中,访问 统计信息 链接。
    3. 使用滚动条查看有关信用卡冲突和日志的统计信息。统计表提供实时数据,每 7 秒更新一次。

重要内容

请注意有关信用卡安全检查的以下几点:

  • Web App Firewall 使您能够保护信用卡信息,并检测访问此敏感数据的任何尝试。
  • 要使用信用卡保护检查,您必须至少指定一种类型的信用卡和操作。然后,检查将应用于 HTML、XML 和 Web 2.0 配置文件。
  • 您可以通过管道输出 sh appfw 配置文件命令和 grep 的信用卡,以查看所有信用卡特定配置。例如,sh appfw profile my_profile | grep CreditCard 显示各种参数的配置设置以及与名为 my_profile 的 Web App Firewall 配置文件的信用卡检查相关的放宽规则。
  • 您可以从信用卡检查中排除特定号码,而无需绕过对其余信用卡号码的安全检查检查。
  • 放宽适用于所有受 Web App Firewall 保护的信用卡模式。在 GUI 中,您可以使用可视化工具指定对放宽规则的添加、编辑、删除、启用或禁用操作。
  • Web App Firewall 学习引擎可以监视传出流量,根据观察到的冲突行为推荐规则。可视化工具支持也可用于管理 GUI 中学习的信用卡规则。您可以编辑和部署学习的规则,或者仔细检查后跳过这些规则。
  • 允许的信用卡数量的设置适用于每个响应。它不涉及整个用户会话期间观察到的信用卡号的累计总数。
  • X 的数字取决于信用卡号码的长度。对于有 13 到 15 位数字的信用卡,十位数字为 X。对于有 16 位数字的信用卡,十二位数字是 X 的。如果您的应用程序不需要在响应中发送整个信用卡号,Citrix 建议您启用此操作以掩盖信用卡号码中的数字。
  • X-输出操作将转换所有信用卡,并独立于为允许的最大信用卡数量配置的设置。例如,如果响应中有 4 张信用卡,并且 creditCardMaxAllowed 参数设置为 10,则所有 4 张信用卡都是 X’d-out,但它们不会被阻止。如果信用卡号码分布在文档中,则可能会在响应被阻止前向客户发送带有 X’d-out 号码的部分回复。
  • 在适当考虑之前,不要禁用 doSecureCreditCardLogging 参数。关闭此参数后,将显示信用卡号码,并且可以在日志消息中访问。即使已启用 X 出操作,这些数字也不会在日志中掩盖。如果要将日志发送到远程 syslog 服务器,并且日志受到威胁,则可能会暴露信用卡号。
  • 当响应页因信用卡冲突而被阻止时,Web App Firewall 不会重定向到错误页面。
信用卡检查