Citrix ADC

Web应用程序防火墙日志

Web应用防火墙生成的日志消息对于跟踪配置更改、Web应用防火墙策略调用和安全检查冲突非常有用。

为安全检查或签名启用日志操作时,生成的日志消息将提供有关Web应用防火墙在保护您的网站和应用程序时观察到的请求和响应的信息。最重要的信息是Web应用防火墙在观察到签名或安全检查冲突时采取的操作。对于某些安全检查,日志消息可以提供其他有用的信息,例如触发冲突的位置和检测到的特征码。您可以在非阻止模式下部署安全检查并监视日志,以确定触发安全冲突的事务是否是有效的事务(误报)。如果是,则可以删除或重新配置签名或安全检查、部署放宽或采取其他适当措施来减少误报,然后再启用对该签名或安全检查的阻止。日志中的冲突消息数量过多增加可能表明恶意请求激增。这可能会提醒您,您的应用程序可能受到攻击,以利用Web应用防火墙保护检测到并阻止的特定漏洞。

注意:Citrix Web App防火墙日志记录必须仅用于外部 系统日志服务器。

Citrix ADC(本机)格式日志

默认情况下,Web应用防火墙使用Citrix ADC格式日志(也称为本机格式日志)。这些日志格式与其他Citrix ADC功能生成的日志格式相同。每个日志都包含以下字段:

  • 时间戳。发生连接的日期和时间。
  • 严重性。日志的严重性级别。
  • 模块。生成日志条目的Citrix ADC模块。
  • 事件类型。事件类型,例如签名冲突或安全检查冲突。
  • 事件ID。分配给事件的ID。
  • 客户端IP。已记录连接的用户的IP地址。
  • 交易编号。分配给导致日志的事务的 身份证件
  • 会话ID。分配给导致日志的用户会话的ID。
  • 消息。日志消息。包含识别触发日志条目的签名或安全检查的信息。

您可以搜索这些字段中的任何一个,也可以搜索不同字段中的任何信息组合。您的选择仅受您用于查看日志的工具的功能的限制。您可以通过访问Citrix ADC系统日志查看器在GUI中观察Web应用防火墙日志消息,也可以手动连接到Citrix ADC设备并从命令行界面访问日志,也可以直接从/var/log/文件夹放入壳并对日志进行尾部。

本机格式日志消息的示例

6月22日19:14:3710.217.31.98 06/22/2015:19:14:37 GMT ns 0-PPE-1:默认APPFW APPFW_跨站点脚本60 0:10.217.253.62 616-PPE1 y/3upt2K8ySWWId3Kavbxyni7Rw0000 pr_ffchttp://aaron.stratum8.net/FFC/login.php?login_name=abc&passwd= 12345&DRINGING\u pref=on&text\u区域=%3Cscript%3E%0D%0A&loginButton=ClickToLogin&as\u sfid=aaaaaa wexcNQLLSOKNMQAYF6DVFQLCHNZSMDYO9JXOJOMM2V BwAMOqZIChv21EcgBc3rexIUcfm0vckKlsgoOeC\u BArx1Ic4NLxxkWMtrJe4H7SOfkiv9NL7AG4juPIanTvVo%3D&as\u fid=FEEC8758B41740EEDB6B35B85DFD3D5DEF30C字段文本的跨站点脚本检查失败

常见事件格式(CEF)日志

Web应用程序防火墙亦支持CEF日志。CEF 是一个开放日志管理标准,提高来自不同安全和网络设备和应用程序的安全相关信息的互操作性。通过 CEF,客户可以使用通用的事件日志格式,让企业管理系统能够轻松地收集和汇总数据,以便进行分析。日志消息被分成不同的字段,以便您可以轻松地解析消息并编写脚本以识别重要信息。

分析CEF日志信息

除了日期、时间戳、客户端 知识产权日志格式、设备、公司、构建版本、模块和安全检查信息外,网络应用防火墙日志消息还包括以下详细信息:

  • src -源IP地址
  • 小组委员会——源端口号
  • 请求——请求URL
  • 行为-操作(例如阻止,转换)
  • 味精——消息(关于观察到的安全检查冲突的消息)
  • cn1-事件编号
  • cn2-HTTP事务 身份证件
  • cs1 -个人资料名称
  • cs2–PPE ID(例如 PPE1)
  • cs3-会话编号
  • cs4——严重性(例如信息,警报)
  • cs5-事件年份
  • cs6-签名冲突类别
  • 方法-方法(例如 获取/发布)

例如,考虑以下CEF格式的日志消息,该消息是在触发“开始”URL冲突时生成的:

6月12日23:37:1710.217.31.98 CEF:0 | Citrix | NetScaler | NS11.0 | APPFW | APPFW | U STARTURL | 6 | src=10.217.253.62 spt=47606方法=获取请求=http://aaron.stratum8.net/FFC/login.html msg=Disallow非法URL.cn1=1340 cn2=653 cs1=pr_ffc cs2=PPE1 cs3=EsdGd3VD0OaaURLcZnj05Y6DOmE0002 cs4=ALERT cs5=2015 act=blocked<!--NeedCopy-->

上述消息可以分解为不同的组件。请参阅CEP日志组件表。

头孢日志格式的请求检查冲突示例:请求未被阻止

6月13日00:21:2810.217.31.98 CEF:0 | Citrix | NetScaler | NS11.0 | APPFW | APPFW | U字段一致性| 6 | src=10.217.253.62 spt=761方法=获取请求=http://aaron.stratum8.net/FFC/login.php?login_name=abc&passwd= 123456789234&DRING_pref=on&text_area=&login button=ClickToLogin&as_sfid=aaaaaaa wiahzuyoifbjmbhymp05mjltwefi0a7akgmg3jibakmwtk4t7lnxOgj7Gmd3SZc8KUj6CR6a 7W5kIWDRHN8PtK1Zc-TXHNX1WKNUG9DZTUM7T1THHLUEVXU9I4KP8%3D&as_fid=feeec8758b4174 0EEDB6B35B85DFD3D5DEF30C msg=字段密码cn1=1401 cn2=707 cs1=prïffc cs2=PPE1 cs3=YCBYC5JL6FOVA6AH94QFTIUPC80001=ALERT cs5=2015 act=不需要复制的字段一致性检查失败

头孢格式的响应检查冲突示例:响应被转换

6月13日00:25:3110.217.31.98 CEF:0 | Citrix | NetScaler | NS11.0 | APPFW | APPFW | U SAFECOMMERCE | 6 | src=10.217.253.62 spt=34041方法=获取请求=http://aaron.stratum8.net/FFC/CreditCardMind.html msg=看到的潜在信用卡号码的最大数量cn1=1470 cn2=708 cs1=pr_ffc cs2=PPE1 cs3=Ycby5IvjL6FoVa6Ah94QFTIUpC80001 cs4=ALERT cs5=2015 act=已转换<!--NeedCopy-->

头孢格式的请求方签名冲突示例:请求被阻止

6月13日01:11:0910.217.31.98 CEF:0 | Citrix | NetScaler | NS11.0 | APPFW | APPFW | U签名|匹配| 6 | src=10.217.253.62 spt=61141方法=获取请求=http://aaron.stratum8.net/FFC/wwwboard/passwd.txt msg=签名冲突规则ID 807:web cgi/wwwboard/passwd.txt访问cn1=140 cn2=841 cs1=pr_ffc cs2=PPE0 cs3=Oytgjbxbqcpfeenkdlde3OKMQ00001 cs4=警报cs5=2015 cs6=web cgi act=阻止<!--NeedCopy-->

在 Web应用防火墙冲突消息中记录地理位置

地理位置标识发出请求的地理位置,可帮助您配置Web应用防火墙以获得最佳安全级别。要绕过依赖于客户端IP地址的安全实现(例如速率限制),恶意软件或流氓计算机可以不断更改请求中的源IP地址。识别请求来自何处的特定区域有助于确定请求是来自试图发起网络攻击的有效用户还是来自试图发起网络攻击的设备。例如,如果从特定区域收到过多的请求,则很容易确定这些请求是由用户还是流氓机器发送。接收到的流量的地理定位分析对于偏移攻击(如拒绝服务(DoS)攻击)非常有用。

通过 Web应用防火墙您可以方便地使用内置 Citrix ADC数据库来识别与恶意请求源自的 知识产权地址相对应的位置。然后,您可以对来自这些位置的请求强制执行更高级别的安全性。Citrix默认语法 (PI)表达式允许您灵活配置基于位置的策略,这些策略可与内置位置数据库结合使用,以自定义防火墙保护,从而加强防御工作,防御从特定区域的流氓客户端启动的协调攻击。

您可以使用Citrix ADC内置数据库,也可以使用任何其他数据库。如果数据库没有特定客户端IP地址的任何位置信息,CEF日志将地理定位显示为未知地理定位。

注意:地理位置日志记录使用通用事件格式 (CEF)默认情况下,头孢日志记录和 地理定位测井处于关闭状态。您必须显式启用这两个参数。

显示地理位置信息的CEF日志消息示例

June 8 00:21:09  10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0|APPFW| APPFW_STARTURL|6|src=10.217.253.62 geolocation= north american . us . arizona . tucson .\*。\* spt=18655 method=GET request=http://aaron.stratum8.net/FFC/login.html msg=禁止非法URL。cn1=77 cn2=1547 cs1=test_pr_adv cs2=PPE1 cs3=KDynjg1pbFtfhC/nt0rBU1o/Tyg0001 cs4=ALERT cs5=2015 act=not blocked 

显示地理定位 = 未知的日志消息示例

6月9日23:50:5310.217.31.98 CEF:0 | Citrix | NetScaler | NS11.0 | APPFW | APPFW | U STARTURL | 6 | src=10.217.30.251地理位置=未知spt=5086方法=获取请求=http://aaron.stratum8.net/FFC/login.html msg=Disallow非法URL.cn1=74 cn2=1576 cs1=test\u pr\u adv cs2=PPE2 cs3=pyr0eoem4gf6gjityauihbyl88e002 cs4=ALERT cs5=2015 act=not blocked<!--NeedCopy-->

使用命令行配置日志操作和其他日志参数

使用命令行配置配置文件安全检查的日志操作

在命令提示符下,键入以下命令之一:

  • set appfw profile SecurityCheckAction ([log] | [none])日志含义
  • 取消设置appfw配置文件SecurityCheckAction

示例

set appfw profile pr_ffc StartURLAction log

未设置appfw配置文件PRU ffc启动

使用命令行配置 头孢日志记录

默认情况下,头孢日志记录处于禁用状态。在命令提示符下,键入以下命令之一以更改或显示当前设置:

  • set appfw settings CEFLogging on
  • unset appfw settings CEFLogging .使用实例
  • sh appfw设置| grep日志

使用命令行配置信用卡号的日志记录

在命令提示符下,键入以下命令之一:

  • 设置appfw配置文件 -doSecureCreditCardLogging ([ON] | [OFF])
  • 取消设置appfw配置文件-DosecureditCardLogging

使用命令行配置地理位置日志记录

  1. 使用集命令启用GeoLocationLogging。您可以同时启用英语日志记录。使用取消设置命令禁用地理定位日志记录。显示命令显示所有Web应用防火墙参数的当前设置,除非包含grep命令以显示特定参数的设置。

    • set appfw settings GeoLocationLogging ON [CEFLogging ON]设置日志
    • unset appfw settings GeoLocationLogging
    • sh appfw settings | grep GeoLocationLogging . sh
  2. 指定数据库

    添加locationfile /var/netscaler/inbuilt_db/Citrix_netscaler_InBuilt_GeoIP_DB.csv

    将locationfile

自定义 Web应用防火墙日志

默认格式(PI)表达式使您可以灵活地自定义日志中包含的信息。您可以选择在Web应用防火墙生成的日志消息中包含要捕获的特定数据。例如,如果您将 AAA-TM 身份验证与 Web App Firewall 安全检查一起使用,并且想知道触发安全检查冲突的访问 URL、请求 URL 的用户的名称、源 IP 地址以及用户发送请求的源端口,您可以可以使用以下命令指定包含所有数据的自定义日志消息:

> sh version NetScaler NS12.1: Build 50.0013。nc, Date: Aug 28 2018, 10:51:08 (64-bit) Done 
>添加审核消息Action custom1警报“HTTP.REQ.URL+”“+HTTP.REQ.USER.NAME+”“+CLIENT.IP.SRC+”:“+CLIENT.TCP.SRCPORT”警告:HTTP.REQ.USER已被弃用。请改用AAA.USER。完成<!--NeedCopy-->
> add appfw profile test_profile Done 
> add appfw policy appfw_pol true test_profile -logAction custom1 Done 

配置 系统日志策略以隔离 Web应用防火墙日志

Web应用程序防火墙为您提供了一个选项,用于隔离Web应用防火墙安全日志消息并将其重定向到其他日志文件。如果Web应用防火墙生成大量日志,从而难以查看其他Citrix ADC日志消息,则可能需要这样做。如果您仅对查看Web应用防火墙日志消息感兴趣且不希望看到其他日志消息,也可以使用此选项。

要将 Web应用防火墙日志重定向到不同的日志文件,请配置 系统日志操作以将 Web应用防火墙日志发送到不同的日志设施。您可以在配置 系统日志策略时使用此操作,并将其全局绑定以供 Web应用防火墙使用。

例如

  1. 切换到 壳并使用编辑器(如 六)来编辑 /etc/syslog.conf文件。添加一个新条目以使用 本地2。*将日志发送到单独的文件,如以下示例所示:

    local2。\ * /var/log/ns.log.appfw

  2. 重新启动系统日志过程。您可以使用grep命令标识syslog进程ID (PID),如以下示例所示:

    root@ns\# **ps -A | grep syslog

    1063??SS0:03.00/usr/sbin/syslogd-B127.0.0.1-n-v-v-8-C

    root@ns# **kill -HUP** 1063

  3. 在命令行界面中,配置 系统日志操作和策略。将其绑定为全球 Web应用防火墙策略。

> add audit syslogAction sysact 1.1.1.1 -logLevel ALL -logFacility LOCAL2

> add audit syslogPolicy syspol1 ns_true sysact1

>绑定appfw全局syspol1 100

  1. 所有Web应用防火墙安全检查冲突现在都将重定向到/var/log/ns.log.appfw文件。您可以结尾此文件以查看在处理正在进行的流量过程中触发的Web应用防火墙冲突。

    root@ns# tail -f ns.log.appfw

警告:如果您已将 系统日志策略配置为将日志重定向到其他日志设施,Web应用防火墙日志消息将不再显示在 /var/log/ns.log文件中。

查看 Web应用防火墙日志

您可以使用系统日志查看器或登录Citrix ADC设备,打开UNIX外壳并使用您选择的UNIX文本编辑器来查看日志。

使用命令行访问日志消息

切换到 壳并尾随 /var/log/文件夹中的 ns.log以访问与 Web应用防火墙安全检查冲突相关的日志消息:

  • 壳牌
  • tail - f /var/log/ns.log

您可以使用 不及物动词编辑器或任何 Unix文本编辑器或文本搜索工具来查看和筛选特定条目的日志。例如,您可以使用 格雷普命令访问与信用卡冲突相关的日志消息:

  • -f /var/log/ns.log |

使用 桂访问日志消息

Citrix GUI包含一个非常有用的工具(系统日志查看器),用于分析日志消息。您有多个用于访问 系统日志查看器的选项:

  • 要查看特定配置文件安全检查的日志消息,请导航到网页应用程序防火墙> 配置件,选择目标配置文件,然后单击安全检查。突出显示目标安全检查的行,然后单击日志。当您直接从配置文件的选定安全检查访问日志时,它会过滤掉日志消息,并仅显示与所选安全检查的冲突相关的日志。Syslog查看器可以显示Web应用防火墙日志的本机格式以及欧共体语言教学大纲的格式。但是,为了让syslog查看器过滤掉目标配置文件特定的日志消息,从配置文件访问时,日志必须采用英语日志格式。
  • 您还可以通过导航到Citrix ADC>系统>审核访问系统 日志查看器。在审核消息部分,单击 系统日志消息链接以显示 系统日志查看器,该查看器显示所有日志消息,包括所有配置文件的所有 Web应用防火墙安全检查冲突日志。这对于在请求处理过程中可能触发多个安全检查冲突时进行调试非常有用。
  • 导航到网页应用程序防火墙>策略>审核。在审核消息部分,单击 Syslog 消息链接以显示 Syslog 查看器,该查看器显示所有日志消息,包括所有配置文件的所有安全检查冲突日志。

基于HTML的Syslog查看器提供了以下筛选器选项,用于仅选择您感兴趣的日志消息:

  • F@@伊利— 默认情况下选择当前 /var/log/ns.log文件,并且相应的消息显示在 系统日志查看器中。/var/log目录中的其他日志文件列表以压缩的 .广州格式提供。要下载和取消压缩存档的日志文件,只需从下拉选项中选择日志文件即可。然后,与所选文件相关的日志消息将显示在 系统日志查看器中。要刷新显示,请单击刷新图标(两个箭头圆圈)。

  • 模块列表框— 您可以选择要查看其日志的 Citrix ADC模块。您可以将其设置为适用于 Web应用防火墙日志的 APPFW

  • 事件类型”列的表框-此框包含一组复选框,用于选择您感兴趣的事件类型。例如,若要查看与签名冲突有关的日志消息,您可以选中”APPFW_签名_匹配”复选框。同样,您可以选中一个复选框以启用您感兴趣的特定安全检查。您可以选择多个选项。

  • 严重性——您可以选择特定严重性级别以仅显示该严重性级别的日志。如果要查看所有日志,请将所有复选框留空。

    要访问特定安全检查的 Web应用防火墙安全检查冲突日志消息,请在模块的下拉选项中选择APPFW进行筛选。“事件类型”显示一组丰富的选项,以进一步优化您的选择。例如,如果选中APPFW_FIELDFOR垫复选框并单击应用按钮,则系统日志查看器中只会显示与字段格式安全检查违规有关的日志消息。同样,如果选中”APPFW_SQL“和”APPFW_STARTURL”复选框并单击“应用“按钮,则系统日志查看器中只会显示与这两个安全检查冲突有关的日志消息。

如果将游标放在特定日志消息的行中,则日志消息下方会显示多个选项,例如模块EventType事件客户TransactionID等。您可以选择这些选项中的任何一个以突出显示日志中的相应信息。

单击部署:此功能仅在GUI中可用。您可以使用Syslog查看器不仅查看日志,还可以根据Web应用防火墙安全检查冲突的日志消息部署放宽规则。此操作的日志消息必须采用英语日志格式。如果可以为日志消息部署放宽规则,则该行的“Syslog查看器”框的右边缘会出现一个复选框。选中该复选框,然后从“操”作列表中选择一个选项以部署放宽规则。“全部编辑和部署”、“部署“和”全 部部署”均可用作“操”作选项。例如,您可以选择要编辑和部署的单个日志消息。您还可以从一个或多个安全检查中选择多个日志消息的复选框,然后使用“部署”或“全部部署”选项。以下安全检查目前支持单击部署功能:

  • 斯塔图尔
  • 统一资源定位地址缓冲区溢出
  • SQL注入
  • 跨站脚本
  • 字段一致性
  • 饼干一致性

使用GUI中的“单击以部署”功能的步行

  1. 系统日志查看器中,在模块选项中选择APPFW
  2. 选择要筛选相应日志消息的安全检查。
  3. 启用该复选框以选择规则。
  4. 使用”作”下拉列表的选项部署放宽规则。
  5. 验证规则是否显示在相应的放宽规则部分。

注意:使用“单击部署”选项部署的 SQL注入和跨站点脚本规则不包括精细放宽建议。

重要内容

  • 支持 头孢日志格式-头孢日志格式选项提供了一个方便的选项,用于监视、分析和分析 Web应用防火墙日志消息,以识别攻击,微调配置的设置以减少误报,并收集统计数据。
  • 击部署——Syslog查看器提供了一个选项,用于从一个方便的位置筛选,评估和部署针对单个或多个安全检查冲突的放宽规则。
  • 自定义日志消息的选项——您可以使用高级π表达式自定义日志消息,并包含要在日志中看到的数据。
  • 隔离Web应用防火墙特定日志— 您可以选择筛选应用程序防火墙特定日志并将其重定向到单独的日志文件。
  • 远程日志记录— 您可以将日志消息重定向到远程 系统日志服务器。
  • 地理位置日志记录— 您可以将 Web应用防火墙配置为包括接收请求的区域的地理位置。内置的地理定位数据库可用,但您可以选择使用外部地理定位数据库。Citrix ADC设备同时支持 IPv4和 IPv6静态地理定位数据库。
  • 信息丰富的日志消息——以下是可包含在日志中的信息类型的一些示例,具体取决于配置:
    • 已触发 Web应用防火墙策略。
    • 触发了安全检查冲突。
    • 一项请求被认为格式不正确。
    • 请求或响应已被阻止或未被阻止。
    • 请求数据(例如 SQL或跨站点脚本特殊字符)或响应数据(例如信用卡号或安全对象字符串)已转换。
    • 响应中的信用卡数量超过配置的限制。
    • 信用卡号码和类型。
    • 在签名规则中配置的日志字符串和签名 身份证件
    • 有关请求来源的地理位置信息。
    • 受保护机密字段的屏蔽(X ' d)用户输入。

使用正则模式掩盖敏感数据

日志表达式(绑定到 网状物应用程序防火墙 (瓦夫)配置文件)中的 正则表达式高级策略 (PI)函数使您能够掩盖 瓦夫日志中的敏感数据。您可以使用选项使用 正则表达式模式来掩盖数据,并提供字符或字符串模式来掩盖数据。此外,您可以配置 圆周率函数以替换 正则表达式模式的第一个匹配项或所有匹配项。

默认情况下,Citrix GUI界面提供以下掩码:

  • SSN
  • 信用卡
  • 密码
  • 用户名

网络应掩盖用程序防火墙日志中的敏感数据

您可以通过在绑定到WAF配置文件的日志表达式中配置REGEX_REPLACE高级策略表达式来掩盖WAF日志中的敏感数据。要掩盖敏感数据,您必须完成以下步骤:

  1. 添加 网状物应用程序防火墙配置文件
  2. 将日志表达式绑定到WAF配置文件

添加 网状物应用程序防火墙配置文件

在命令提示符下,键入:

添加appfw配置文件

示例:

添加appfw配置文件testprofile1

将日志表达式与网络应用程序防火墙配置文件绑定

在命令提示符下,键入:

绑定appfw profile -logExpression -comment

示例:

绑定appfw profile testProfile - logexpression "MaskSSN" "HTTP.REQ.BODY(10000).REGEX_REPLACE(re!\b\d{3}-\d{2}-\d{4}\b!、“xxx”)”评论“SSN蒙面”

网络使用Citrix ADC GUI掩盖应用程序防火墙日志中的敏感数据

  1. 在导航窗格上,展开”安全”>“Citrix Web应用防火墙”>“配置文件”。
  2. 配置文件页上,单击编辑
  3. Citrix Web应用防火墙配置文件页面上,导航到”高级设置”部分,然后单击“扩展日志记录”。

    扩展日志记录部分

  4. 扩展日志记录部分中,单击添加

    Citrix WAF日志绑定

  5. 在“创建 Citrix Web应用防火墙扩展日志绑定”页面上,设置以下参数:

    1. 名称。日志表达式的名称。
    2. 已启用。选择此选项可掩盖敏感数据。
    3. 日志掩码。选择要掩盖的数据。
    4. 表达式。输入使您能够掩盖WAF日志中的敏感数据的高级策略表达式
    5. 评论。有关屏蔽敏感数据的简要描述。
  6. 单击创建关闭

    Citrix WAF日志绑定