信用卡支票
如果您有接受信用卡的应用程序,或者您的网站可以访问存储信用卡号的数据库服务器,则必须使用数据泄露预防 (DLP) 措施并为您接受的每种信用卡类型配置保护。
NetScaler Web App Firewall 信用卡检查可防止攻击者利用数据泄露防护缺陷获取客户的信用卡号。通过执行简单的配置步骤,您可以对以下一张或多张信用卡实施保护:1) Visa、2) 万事达卡、3) Discover、4) 美国运通 (Amex)、5) JCB 和 6) 大莱卡。
信用卡安全检查会检查服务器响应以识别目标信用卡号码的实例,并在找到此类号码时应用指定的操作。该操作可以通过删除信用卡号中除最后一组数字之外的所有数字来转换响应,或者如果响应包含的信用卡号超过指定数量,则屏蔽响应。如果您同时指定,则阻塞操作优先。每页允许的最大信用卡数设置决定了何时调用屏蔽操作。默认设置 0(页面上不允许使用信用卡号)是最安全的,但您最多可以允许 255 个。根据在响应中检测到违规行为以及触发屏蔽操作的位置,您获得的信用卡可能少于响应中允许的最大信用卡数量。
为避免误报,您可以采取宽松措施,将特定号码从信用卡支票中豁免。例如,社会保险号、采购订单号或 Google 帐号可能与信用卡号相似。您可以指定单个数字,也可以使用正则表达式来指示在处理用于信用卡检查的响应 URL 时要绕过的数字字符串。
如果您不确定应免除哪些信用卡号,则可以使用学习功能根据学到的数据生成推荐。为了在不影响性能的情况下获得最佳优势,您可能需要在短时间内启用此选项以获取具有代表性的规则示例,然后部署放松并禁用学习。
如果您启用日志功能,信用卡支票会生成日志消息,指明所采取的操作。您可以监视日志,以确定对合法请求的响应是否被阻止。日志消息数量的大幅增加可能表明获取访问权限的尝试遭到挫败。默认情况下,dosecureCreditCardLogging 参数处于开启状态,因此信用卡号不包含在安全商务(信用卡)违规行为生成的日志消息中。
统计功能收集有关违规和日志的统计信息。统计数据计数器出现意外激增可能表明您的应用程序受到攻击。
要配置信用卡安全检查以保护您的应用程序,请配置用于检查进出此应用程序的流量的配置文件。
注意:
不访问 SQL 数据库的网站通常无法访问敏感的私人信息,例如信用卡号。
使用命令行配置信用卡支票
在命令行界面中,您可以使用 set appfw profile 命令或 add appfw profile 命令来激活信用卡检查并指定要执行的操作。您可以使用取消设置 appfw 配置文件命令恢复到默认设置。要指定放松设置,请使用 bind appfw 命令将信用卡号绑定到配置文件。
使用命令行配置信用卡支票
使用 set appfw profile 命令或 add appfw profile 命令,如下所示:
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])
-
使用命令行配置信用卡宽松规则
使用绑定命令将信用卡号绑定到个人资料。要从配置文件中删除信用卡号,请使用解绑命令,其参数与绑定命令使用的参数相同。您可以使用 show 命令显示绑定到个人资料的信用卡号。
-
绑定信用卡号和个人资料
bind appfw profile <profile-name> -creditCardNumber <any number/regex> “<url>”
示例:绑定 appfw 配置文件 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 添加或修改信用卡安全检查
-
导航到 Web App Firewall > 配置文件,突出显示 目标配置文件,然后单击 编辑。
-
在高级设置窗格中,单击安全检查。
安全检查表格显示了当前为所有安全检查配置的操作设置。您有两个配置选项:
- 如果您只想启用或禁用信用卡的“阻止”、“日志”、“统计”和“学习”操作,则可以选中或清除表格中的复选框,单击“确定”,然后单击“保存 并 关闭”以关闭“安全检查”窗格。
- 如果要为此安全检查配置其他选项,请双击“信用卡”,或者选择该行并单击“操作设置”以显示其他选项,如下所示:
-
Out—将每个数字(最后一组数字除外)替换为字母“X”,以掩盖响应中检测到的任何信用卡号码。
-
每页允许的最大信用卡数——指定在不触发封禁操作的情况下可以转发给客户端的信用卡数量。
-
受保护的信用卡。选中或清除复选框以启用或禁用每种信用卡的保护。
-
您还可以在“信用卡设置”窗格中编辑“阻止”、“记录”、“统计数据”和“学习”操作。
进行上述任何更改后,单击“确定”保存更改并返回“安全检查”表。如果需要,您可以继续配置其他安全检查。单击“确定”保存您在“安全检查”部分所做的所有更改,然后单击“保存并关闭”以关闭“安全检查”窗格。
-
-
在“高级设置”窗格中,单击“配置文件设置”。要启用或禁用信用卡号码的安全记录,请选中或清除“安全信用卡记录”复选框。(默认情况下,它处于选中状态)。
单击“确定”保存更改。
-
使用 GUI 配置信用卡宽松规则
- 导航到 Web App Firewall > 配置文件,突出显示目标配置文件,然后单击 编辑。
- 在“高级设置”窗格中,单击“放宽规则”。放松规则表中有一个信用卡条目。您可以双击,也可以选择此行并单击“编辑”以访问“信用卡放宽规则”对话框。您可以对放松规则执行“添加”、“编辑”、“删除”、“启用”或“禁用”操作。
在信用卡支票中使用学习功能
启用 learn 操作后,Web App Firewall 学习引擎会监视流量并了解触发的违规。您可以定期检查这些学习的规则。经过适当考虑后,如果您想将特定的数字字符串排除在信用卡安全检查之外,则可以将学到的规则部署为放松规则。
-
使用命令行界面查看或使用学习的数据
show appfw learningdata <profilename> creditCardNumber
rm appfw learningdata <profilename> -creditcardNumber <credit card number> "<url>"
export appfw learningdata <profilename> creditCardNumber
-
使用 GUI 查看或使用学习的数据
- 导航到 Web App Firewall > 配置文件,突出显示目标配置文件,然后单击 编辑。
- 在“高级设置”窗格中,单击“学习规则”。您可以在“学习规则”表中选择信用卡条目,然后双击该条目以访问已学习的规则。您可以先部署学习的规则或编辑规则,然后再将其部署为放宽规则。要放弃规则,可以选择该规则,然后单击“跳过”按钮。一次只能编辑一条规则,但可以选择要部署或跳过的多个规则。
您还可以选择在 Larneard Rules 表中选择信用卡条目,然后单击 Visualizer 以获得所有已知违规行为的合并视图,从而显示所学到的放松措施的摘要视图。可视化工具使管理学习到的规则变得非常容易。它可以在一个屏幕上显示数据的全面视图,并且只需单击一下即可对一组规则执行操作。可视化工具的最大优点是它推荐正则表达式来整合多个规则。您可以根据分隔符和操作 URL 选择这些规则的子集。通过从下拉列表中选择数字,可以在可视化工具中显示 25、50 或 75 条规则。学习规则的可视化工具提供了编辑规则并将其作为放松部署的选项。或者您可以跳过规则来忽略它们。
在信用卡支票中使用日志功能
启用日志操作后,违反信用卡安全检查的行为将在审计日志中记录为 APPFW_SAFECOMMERCE 或 APPFW_SAFECOMMERCE_XFORM 违规行为。Web App Firewall 支持本机和 CEF 日志格式。您还可以将日志发送到远程 syslog 服务器。
dosecureCreditCardLogging 的默认设置为开启。如果您将其更改为 OFF,则信用卡号和类型都包含在日志消息中。
根据为信用卡支票配置的设置,应用程序防火墙生成的日志消息可能包含以下信息:
- 回复被阻止或未被阻止。
- 信用卡号已转换(X 输出)。会为每个转换后的信用卡号生成单独的日志消息,因此在处理单个响应的过程中可能会生成多条日志消息。
- 回复包含潜在信用卡号的最大数量。
-
信用卡号及其相应类型。
-
使用命令行访问日志消息
切换到 shell 并追踪 /var/log/ 文件夹中的 ns.logs 以访问与信用卡违规行为有关的日志消息:
- Shell
-
tail-f /var/log/ns.log grep SAFECOMMERCE
-
使用 GUI 访问日志消息
-
GUI 包含一个非常有用的工具(Syslog 查看器),用于分析日志消息。您可以通过两种方式访问 Syslog 查看器:导航到 目标配置文件 > 安全检查。选中“信用卡”行,然后单击“日志”。当您直接从个人资料的信用卡安全检查中访问日志时,它会过滤掉日志消息,仅显示与这些安全检查违规行为有关的日志。
-
您还可以通过导航到 NetScaler > 系统 >审核来访问系统日志查看器。在“审核消息”部分,单击 Syslog 消息链接以显示 Syslog Viewer,其中显示所有日志消息,包括其他安全检查违规日志。这对于在请求处理过程中可能触发多个安全检查冲突时进行调试非常有用。
基于 HTML 的 Syslog 查看器提供了各种筛选选项,用于仅选择您感兴趣的日志消息。要访问信用卡安全检查违规日志消息,请在“模块”的下拉选项中选择 APPFW 进行过滤。“事件类型”会显示丰富的选项集,以进一步优化您的选择。例如,如果您选中 APPFW_SAFECOMMERCE 和 APPFW_SAFECOMMERCE_XFORM 复选框并单击“应用”按钮,则系统日志查看器中仅显示与信用卡安全检查违规行为有关的日志消息。
如果将光标置于特定日志消息的行中,则日志消息下方会出现多个选项,例如模块和事件类型。您可以选择这些选项中的任何一个来突出显示日志中的相应信息。
-
未阻塞响应时的本机格式日志消息示例
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 个信用卡号的页面的请求会使统计计数器增加 1。但是,如果禁用区块并启用转换,则处理相同的请求会使日志的统计计数器增加 20,因为每次信用卡转换都会生成单独的日志消息。
-
使用命令行显示信用卡统计信息
在命令提示符下,键入:
sh appfw stats
要显示特定配置文件的统计信息,请使用以下命令:
stat appfw profile <profile name>
使用 GUI 显示信用卡统计信息
- 导航到“系统”>“安全”>“Web App Firewall”。
- 在右窗格中,访问 统计信息 链接。
- 使用滚动条查看有关信用卡违规和日志的统计信息。统计表提供实时数据,每 7 秒更新一次。
重要内容
请注意有关信用卡安全检查的以下几点:
- Web App Firewall 使您能够保护信用卡信息并检测任何试图访问这些敏感数据的尝试。
- 要使用信用卡保护支票,您必须指定至少一种信用卡类型和一项操作。然后将检查应用于 HTML、XML 和 Web 2.0 配置文件。
-
您可以通过管道输入 sh appfw profile 命令和 grep for CreditCard 的输出,以查看所有信用卡特定的配置。例如,sh appfw 个人资料 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-out 操作会转换所有信用卡,其工作原理与允许的最大信用卡数量的配置设置无关。例如,如果响应中有 4 张信用卡且 creditcardMaxAlloved 参数设置为 10,则所有 4 张信用卡都是 x’d-out,但不会被屏蔽。如果信用卡号分散在文档中,则在阻止响应之前,可能会向客户端发送带有 x’d-out 号码的部分回复。
- 在适当考虑之前,请勿禁用 dosecureCreditcardLogging 参数。关闭此参数后,将显示信用卡号并在日志消息中进行访问。即使启用了 X-out 操作,这些数字也不会被掩盖在日志中。如果您将日志发送到远程 syslog 服务器,并且日志遭到泄露,信用卡号可能会被泄露。
- 当响应页面因信用卡违规而被阻止时,Web App Firewall 不会重定向到错误页面。