Citrix ADC

信用卡检查

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

Citrix Web应用程序防火墙信用卡检查可防止攻击者利用数据泄漏预防漏洞获取客户的信用卡号码。通过以下简单的配置步骤,您可以强制保护以下一张或多张信用卡:1)Visa, 2) Master, 3) Discover, 4) American Express (Amex), 5) JCB和6)Diners Club。

信用卡安全检查检查服务器响应以识别目标信用卡号码的实例,并在找到此类号码时应用指定的操作。操作可以是通过删除信用卡号中除最后一组数字外的所有数字来转换响应,或者如果响应包含超过指定数量的信用卡号,则阻止响应。如果两者都指定,则块操作优先。每页允许的最大信用卡数设置决定何时调用块操作。默认设置为0(页面上不允许出现信用卡号码)是最安全的,但您可以允许最多255个。根据在响应中检测到违规的位置以及触发块操作的位置,您可能会得到少于响应中所允许的最大信用卡数量。

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

如果您不确定要豁免哪些信用卡号码,您可以使用学习功能根据学习到的数据生成建议。为了在不影响性能的情况下获得最佳收益,您可能希望在短时间内启用此选项以获得规则的代表性样本,然后部署松弛并禁用学习。

如果启用了日志特性,则信用卡检查将生成指示其所采取的操作的日志消息。您可以监视日志以确定对合法请求的响应是否被阻止。日志消息数量的大量增加可能表明获得访问权限的尝试被挫败。默认情况下,doSecureCreditCardLogging参数为ON,因此信用卡号码不包含在由安全商务(信用卡)违规生成的日志消息中。

统计特性收集有关违规和日志的统计信息。统计计数器的意外激增可能表明您的应用程序受到攻击。

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

请注意

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

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

在命令行界面中,您可以使用set appfw profile命令或add appfw profile命令来激活信用卡检查并指定要执行的操作。可以使用unset appfw profile命令恢复到默认设置。如果需要指定松弛,可以使用bind appfw命令将信用卡号码绑定到配置文件。

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

使用set appfw profile命令或add appfw profile命令,如下所示:

  • 设置appfw profile -creditCardAction (([block][learn] [log][stats]) | [none])
  • 设置appfw配置文件 -信用卡(VISA | MASTERCARD | DISCOVER | AMEX | JCB | DINERSCLUB)
  • 设置appfw配置文件 -creditCardMaxAllowed
  • -doSecureCreditCardLogging ([ON] | [OFF])

  • 使用命令行配置信用卡松弛规则

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

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

    绑定appfw profile -creditCardNumber " "

    例子:绑定appfw profile test_profile -creditCardNumber 378282246310005http://www.example.com/credit \ _card \ _test.html

    • 从配置文件中解除信用卡号码的绑定

      unbind appfw profile -creditCardNumber <信用卡号/ regex>

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

      显示appfw配置文件

使用GUI配置信用卡检查

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

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

  1. 导航到Web应用防火墙>配置文件,突出目标概要文件,并单击编辑

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

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

    1. 如果您只想启用或禁用信用卡的Block、Log、Stats和Learn操作,您可以在表格中选中或清除复选框,单击好吧,然后点击保存关闭关闭安全检查窗格。
    2. 如果要为此安全检查配置其他选项,请双击“信用卡”,或者选择该行并单击动作设置显示其他选项,如下所示:
      • 通过用字母“X”替换除最后一组数字外的每个数字,来屏蔽在响应中检测到的任何信用卡号码。

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

      • 保护信用卡。选择或清除复选框以启用或禁用每种信用卡类型的保护。

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

        完成上述任何更改后,单击OK保存更改并返回到Security Checks表。如果需要,可以继续配置其他安全检查。单击OK保存在Security Checks部分中所做的所有更改,然后单击save and Close关闭Security Check窗格。

  3. 高级设置窗格中,单击配置文件设置。若要启用或禁用信用卡号码的安全记录,请选择或清除安全的信用卡记录复选框。(默认为选中)。

    点击好吧保存更改。

  • 使用GUI配置信用卡松弛规则

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

使用信用卡检查的学习功能

启用学习动作后,Web应用防火墙学习引擎对流量进行监控,并学习触发的违规行为。你可以定期检查这些学到的规则。经过适当的考虑,如果您希望免除信用卡安全检查中的特定数字字符串,则可以通过将学习到的规则部署为松弛规则。

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

    show appfw learningdata creditCardNumber

    rm appfw learningdata -creditcardNumber <信用卡号>" "

    导出appfw learningdata creditCardNumber

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

    1. 导航到Web应用防火墙>配置文件,突出显示目标概要文件,然后单击编辑
    2. 高级设置窗格中,单击学习规则。您可以在Learned Rules表中选择Credit Card条目,并双击它来访问学习到的规则。您可以部署学到的规则,或者在将其部署为松弛规则之前编辑规则。要放弃一条规则,您可以选中它,然后单击跳过按钮。一次只能编辑一条规则,但可以选择部署或跳过多条规则。

    您还可以通过在learned Rules表中选择Credit Card条目并单击Visualizer来显示学习到的松弛的汇总视图,以获得所有学习到的违规的统一视图。可视化工具使管理学习的规则变得非常容易。它在一个屏幕上显示了数据的全面视图,并便于一次单击对一组规则进行操作。可视化工具的最大优点是它推荐正则表达式来合并多个规则。您可以根据分隔符和Action URL选择这些规则的一个子集。通过从下拉列表中选择数字,您可以在可视化工具中显示25、50或75条规则。学习规则的可视化工具提供了编辑规则和将其部署为松弛规则的选项。或者你可以跳过规则,忽略它们。

使用信用卡检查的日志功能

当日志操作开启时,信用卡安全检查违规行为在审计日志中记录为APPFW_SAFECOMMERCE或APPFW_SAFECOMMERCE_XFORM违规行为。Web应用防火墙支持Native和CEF日志格式。您也可以将日志发送到远端syslog服务器。

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

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

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

  • 通过命令行访问日志消息

    切换到shell并跟踪ns。/var/log/文件夹中的日志,以访问与信用卡违规有关的日志消息:

    • 壳牌
    • Tail -f /var/log/ns.log grep SAFECOMMERCE
  • 通过GUI访问日志消息

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

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

      基于HTML的Syslog Viewer提供了各种筛选选项,用于仅选择您感兴趣的日志消息。要访问信用卡安全检查违规日志消息,请在模块的下拉选项中选择APPFW进行过滤。事件类型显示一组丰富的选项,以进一步优化您的选择。例如,如果选择APPFW_SAFECOMMERCE和APPFW_SAFECOMMERCE_XFORM复选框并单击Apply按钮,则只有与信用卡安全检查违规有关的日志消息才会出现在Syslog查看器中。

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

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

5月29日01:26:31  10.217.31.98 05/29/2015:01:26:31 GMT ns 0- ppe -0: default APPFW APPFW_SAFECOMMERCE 2181 01:217.253.62 1098-PPE0 4erNfkaHy0IeGP+nv2S9Rsdu77I0000 pr_ffc http://aaron.stratum8.net/FFC/CreditCardMind.html看到的潜在信用卡号码的最大数量<未阻止> 

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

5月28日23:42:48  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)服务器响应中看到的潜在信用卡号cn1=66 cn2=1095 cs1=pr_ffc cs2=PPE2 cs3=xzE7M0g9bovAtG/zLCrLd2zkVl80002 cs4=ALERT cs5=2015 act= Transformed 

响应被阻塞时的CEF格式日志消息示例。由于禁用了doSecureCreditCardLogging参数,因此可以在日志中看到信用卡号码和类型。

5月28日23:42:48  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=信用卡号码4505050504030302类型的Visa在响应中看到cn1=68 cn2=1095 cs1=pr_ffc cs2=PPE2 cs3=xzE7M0g9bovAtG/zLCrLd2zkVl80002 cs4=ALERT cs5=2015 act=blocked 

信用卡违规统计

当启用stats操作时,当Web应用防火墙对此安全检查采取任何操作时,信用卡检查的相应计数器将增加。统计“流量”、“违规”和“日志”的“速率”和“总数”。日志计数器的增量可以根据配置的设置而变化。例如,如果启用了阻止操作,并且最大允许的信用卡设置为0,则一旦检测到第一个信用卡号码,当页面被阻止时,对包含20个信用卡号码的页面的请求将使统计计数器增加1。但是,如果块被禁用而转换被启用,处理相同的请求将使日志统计计数器增加20,因为每个信用卡转换都会生成单独的日志消息。

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

    在命令提示符下,输入:

    Sh appfw stats

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

    配置appfw profile

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

    1. 导航到系统>安全>Web应用防火墙
    2. 在右窗格中,访问统计数据链接。
    3. 使用滚动条查看信用卡违规统计信息和日志。统计表提供实时数据,每7秒更新一次。

突出了

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

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