关注:CodingTechWork
创建和分配攻击签名集
可以通过两种方式创建攻击签名集:使用过滤器或手动选择要包含的签名。
基于过滤器的签名集仅基于在签名过滤器中定义的标准。基于过滤器的签名集的优点在于,可以专注于定义用户感兴趣的攻击签名的标准,而不是尝试管理具体的攻击签名列表。基于过滤器的签名集的另一个优点是,当更新攻击签名数据库时,系统也会更新任何受该更新影响的签名集。
在手动创建签名集时,必须从签名池中选择要包括的每个签名。为了简化此方法,仍然可以首先过滤签名,然后从筛选后的列表中选择单个签名。
一旦创建了所需的攻击签名集,可以将其分配到安全策略中。
关于攻击签名集
攻击签名集是一组攻击签名。与将单个攻击签名应用到安全策略不同,可以应用一个或多个攻击签名集。应用安全管理器自带多个系统提供的签名集。
每个安全策略都有自己的攻击签名集分配。默认情况下,新的安全策略会分配一个通用签名集。可以将其他签名集分配到安全策略。某些签名集更适用于特定类型的应用程序或攻击类型。这些签名集的命名通常具有逻辑性,可以根据名称选择合适的签名集。此外,还可以创建自己的攻击签名集。
攻击签名集列表
以下表格列出了应用安全管理器附带的攻击签名集。
签名集 | 包含的签名 |
---|---|
所有响应签名 | 所有能够检查响应的攻击签名。 |
所有签名 | 攻击签名池中的所有攻击签名。 |
通用检测签名 | 针对常见或已知的Web和应用程序攻击的签名。 |
高准确率签名 | 高准确性签名,在识别攻击时产生的误报率较少。 |
低准确率签名 | 可能导致更多误报率的签名,用于识别攻击。 |
中等准确率签名 | 在识别攻击时具有中等准确性的签名。 |
OWA签名 | 针对Microsoft Outlook Web Access (OWA) 应用程序的攻击签名。 |
WebSphere签名 | 针对许多计算平台的攻击签名,这些平台通过WebSphere集成,包括通用数据库、Microsoft Windows、IIS、Microsoft SQL Server、Apache、Oracle、Unix/Linux、IBM DB2、PostgreSQL 和 XML。 |
命令执行签名 | 涉及通过执行命令进行的攻击的签名。 |
跨站脚本签名 | 针对跨站脚本技术的攻击签名,这些技术迫使用户在Web应用程序中执行不希望的操作,而用户已通过身份验证。 |
HTTP响应拆分签名 | 针对利用未清理输入值的响应进行的攻击签名。 |
操作系统命令注入签名 | 针对尝试通过易受攻击的应用程序运行系统级命令的攻击签名。 |
路径遍历签名 | 针对尝试访问Web根目录外的文件和目录的攻击签名。 |
SQL注入签名 | 针对尝试通过客户端输入数据将SQL查询注入到应用程序中的攻击签名。 |
服务器端代码注入签名 | 针对服务器端代码注入攻击的签名。 |
XPath注入签名 | 针对尝试通过XPath查询绕过权限或访问控制、获取数据结构的攻击签名。 |
创建攻击签名集
在创建攻击签名集时,可以选择与特定系统和应用程序相关的攻击签名。
- 在主界面上,点击
Security > Options > Application Security > Attack Signatures > Attack Signature Sets
。攻击签名集界面将打开,并显示系统中的攻击签名集。 - 点击
Create
。将打开Create New Signature Set
界面。 - 在
Name
字段中,输入一个唯一的名称为签名集命名。创建用户定义的攻击签名时,请不要使用系统提供的攻击签名名称。尽管系统不禁止重复的攻击签名名称,但未来的攻击签名更新可能会因名称冲突而失败。 - 在 Type 设置中,选择合适的选项:
-
Filter-based
:仅使用过滤器创建签名集。
-
Manual
:通过从签名池中选择签名来创建签名集,必要时也可以使用过滤器。
-
在
Default Blocking Actions
设置中,选择要在将签名集与新安全策略关联时,系统要强制执行的阻断操作。注意:
Learn
、Alarm
和Block
操作仅在将此签名集分配给新安全策略时生效。如果该签名集已分配给现有安全策略,则这些设置不起作用。
-
如果希望系统在创建任何新安全策略时自动将此签名集包含在内,请启用
Assign To Policy By Default
设置。 -
在
Signatures Filter
区域中,选择过滤器选项以缩小要包含在新签名集中的签名范围。
过滤器选项 | 功能描述 |
---|---|
Signature ID | 仅适用于 Manual。除非您希望将特定ID号的签名包括在签名集中,否则请保持为空。 |
Signature Type | 选择要包含的签名类型(适用于所有流量、仅请求或仅响应)。 |
Apply To | 仅适用于 Manual。选择是否在签名集中包括所有签名,还是仅包括适用于字母数字用户输入参数、XML文档或JSON数据的签名。 |
Attack Type | 选择要在签名集中包括的攻击类型(威胁分类)。 |
Systems | 选择要受到保护的系统(例如Web应用程序、Web服务器数据库和应用程序框架)。 |
Accuracy | 选择签名集的准确度等级。较高的准确度会导致较少的误报率。 |
Risk | 选择签名集中的攻击所涉及的潜在损害等级。 |
User-defined | 指定是否包括基于谁创建的签名(用户、系统或两者)的签名。 |
Update Date | 指定是否包括基于签名更改日期的签名。 |
- 在
Signatures
设置中:
- 如果仅使用过滤器创建签名集,请查看过滤器设置生成的签名列表,确保其正确。
- 如果手动创建签名集,请将要包括在签名集中的签名从
Available Signatures
列表移至Assigned Signatures
列表。
- 点击
Create
以创建新的签名集。
新的签名集将添加到系统可用攻击签名集的列表底部。您可以将攻击签名集分配给安全策略。该签名集也可以在创建新安全策略时应用。
如果将来您不再需要某个用户定义的签名集,可以将其删除。删除签名集时,不会删除组成该签名集的攻击签名,只是删除签名集本身。
为安全策略分配攻击签名集
每个安全策略执行一个或多个攻击签名集。在创建安全策略时,您可以选择要包含的攻击签名集。您还可以向安全策略分配额外的攻击签名集。对于每个攻击签名集,您还可以指定阻断策略,即当签名集中的攻击签名发现潜在攻击时,您希望采取的措施。
-
在主标签页中,点击
Security > Application Security > Attack Signatures > Attack Signatures Configuration
。此时会打开攻击签名配置界面。 -
在屏幕顶部的
Current edited policy
列表中,验证您正在编辑的安全策略是否是您要操作的策略。 -
如果您希望在执行之前将签名放入待处理状态,请选中
Signature Staging
复选框。待处理意味着系统将攻击签名应用于 Web 应用程序流量,但不会对触发这些攻击签名的请求执行阻断策略。默认的待处理周期为七天。 -
在
Attack Signature Sets Assignment
设置中, 在Available Signature Sets
列表中选择要分配给安全策略的攻击签名集,并将其移至Assigned Signature Sets
列表中。 -
在
Attack Signature Sets Assignment
设置中,对于Available Signature Sets
列表中的每个签名集,配置阻断策略:选择或取消选择Learn
、Alarm
和Block
复选框。注意 :仅当安全策略的执行模式设置为
Blocking
时,才能启用或禁用Block
操作。 -
要为特定文件类型执行响应攻击签名,请执行以下操作:
- 在
Check Response Settings
中,选中Apply Response Signatures
复选框。要使用此设置,您需要在安全策略中至少包含一个文件类型。 - 如果需要创建文件类型,请点击
Create
。 - 使用
Move
按钮调整要应用或不应用响应签名的文件类型。
-
点击
Save
保存设置。 -
要配置不希望攻击签名检查的 HTTP 头,请在
Excluded Headers
设置中点击Configure HTTP Headers
链接。通过指定排除的头,您可以保持基于头的攻击签名启用,但防止这些签名与请求中的合法头名称和值匹配时产生误报。此时将打开 HTTP Headers 屏幕,您可以创建要排除的自定义、Cookie 或引荐头。 -
要立即使安全策略更改生效,点击
Apply Policy
。签名集已分配到安全策略,且阻断策略应用于签名集中的所有签名。
根据您选择的阻断策略,所采取的措施会有所不同。如果选择了Learn
,安全策略会学习所有匹配启用签名的请求,并在Traffic Learning Attack Signature Detected
屏幕上显示请求数据。如果选择了Alarm
,安全策略会在请求匹配签名时记录请求数据。如果选择了Block
,且执行模式为Blocking
,安全策略会阻断所有匹配签名集中的签名的请求,并向客户端发送支持 ID 编号。
查看安全策略中的签名集
可以查看与安全策略关联的攻击签名集。
- 在主页面上,点击
Security > Application Security > Attack Signatures > Attack Signatures Configuration
。这将打开Attack Signatures Configuration
屏幕。 - 在屏幕顶部的
Current edited policy
列表中,确认您要编辑的安全策略是您想要操作的策略。 - 在
Attack Signature Sets Assignment
设置中,您可以查看与该安全策略关联的签名集以及它们的阻断策略。 - 点击签名集名称,以查看其属性及其中的攻击签名。
查看安全策略中的攻击签名
可以查看安全策略中的所有攻击签名,包括它们的当前阻止策略和状态。
- 在主页面上,点击
Security > Options > Application Security > Attack Signatures > Attack Signatures List
。这将打开Attack Signatures List
屏幕。 - 在
Security ›› Application Security : Security Policies : Policies List ›› Policy Attack Signatures
区域,您可以查看与该安全策略关联的签名、签名 ID、阻止策略动作以及它们是否已启用。
- 点击签名名称,以查看其详细属性,进入
Policy Attack Signature Properties
屏幕,获取更多关于该签名的信息。在此页面,您还可以启用或禁用该签名。 - 如果没有更改,点击
Cancel
返回签名列表。 - 如果更改了启用设置,点击
Update
以保存更改并返回Attack Signatures List
屏幕。
默认签名集
以下签名集包含在策略模板中。每个模板的执行方式根据保护级别的不同而有所不同。每个模板下列出的默认设置如表所示。大多数签名集是根据它们所防护的攻击类型来定义的。
Signature Set Name | 签名集中文名称 | Rating-Based(基于评级) | Rapid(快速) | Fundamental(基本) | Comprehensive(综合) |
---|---|---|---|---|---|
All Signatures | 所有签名 | Enabled | |||
All Response Signatures | 所有响应签名 | ||||
Command Execution Signatures | 命令执行签名 | ||||
Cross Site Scripting Signatures | 跨站脚本签名 | ||||
Directory Indexing Signatures | 目录索引签名 | ||||
Generic Detection Signatures (High Accuracy) | 通用检测签名(高准确性) | ||||
Generic Detection Signatures (High/Medium Accuracy) | 通用检测签名(高/中准确性) | Enabled | Enabled | Enabled | |
HTTP Response Splitting Signatures | HTTP响应分割签名 | ||||
High Detection Evasion Signatures | 高检测规避签名 | ||||
High Accuracy Signatures | 高检测规避签名 | Enabled | |||
Information Leakage Signatures | 信息泄露签名 | ||||
Low Accuracy Signatures | 低准确性签名 | ||||
Medium Accuracy Signatures | 中等准确性签名 | ||||
OS Command Injection Signatures | 操作系统命令注入签名 | ||||
OWA Signatures | OWA签名 | ||||
Other Application Attacks Signatures | 其他应用攻击签名 | ||||
Path Traversal Signatures | 路径遍历签名 | ||||
Predictable Resource Location Signatures | 可预测资源位置签名 | ||||
Remote File Include Signatures | 远程文件包含签名 | ||||
SQL Injection Signatures | SQL注入签名 | ||||
Server Side Code Injection Signatures | 服务器端代码注入签名 | ||||
WebSphere Signatures | WebSphere签名 | ||||
XPath Injection Signatures | XPath注入签名 |
检测过滤器
签名集可以包含过滤器,用于对签名进行分类。这些过滤器用于指定何时对检测到的签名违规行为采取行动。如果您应用过滤器,可以指定在匹配到签名时是否采取措施。更高的准确性值可以减少误报。
签名准确性过滤器(Signature Accuracy Filter)
All (all)
- 包括所有签名,无论准确性水平如何(默认过滤器)。Equals (eq)
- 过滤出与签名/签名集准确性水平相等的签名。Greater Than/Equal To (ge)
- 过滤出准确性水平大于或等于签名/签名集的签名。Less Than/Equal To (le)
- 过滤出准确性水平小于或等于签名/签名集的签名。
签名准确性值(Signature Accuracy Value)
表示攻击签名识别攻击的能力,包括误报的可能性:
All (all)
- 所有攻击签名(默认值)。High (high)
- 高准确性签名,识别攻击时产生的误报较少。Medium (medium)
- 中等准确性签名,识别攻击时产生的误报适中。Low (low)
- 低准确性签名,可能产生较多误报。
CVE
表示签名是否具有 CVE 编号:
All (all)
No (no)
Yes (yes)
最后更新时间过滤器(Last Updated Filter)
After (after)
All (all)
Before (before)
风险值(Risk Value)
表示从检测到的签名中评估的攻击风险。此值与风险过滤器一起使用。
All (all)
High (high)
- 表示攻击可能导致完整系统的破坏。Low (low)
- 表示攻击不会直接造成损害或泄露高度敏感的数据。Medium (medium)
- 表示攻击可能泄露敏感数据或造成中等损害。
风险过滤器(Risk Filter)
根据签名的评估风险值进行过滤:
All (all)
Equal (eq)
Greater than or Equal (ge)
Less than or Equal (le)
签名类型(Signature Type)
签名适用于客户端请求、服务器响应或两者:
All (all)
Request (request)
Response (response)
标签过滤器(Tag Filter)
根据配置的标签值进行过滤,或者过滤是否包含标签的签名。
All (all)
- 不使用过滤器。Equal (eq)
- 仅包含标签与指定标签值相等的签名。Untagged (untagged)
- 仅包含没有标签的签名。
标签值
指定的签名标签值。
类型
定义签名集的类型:
filter-based
:基于过滤器 (filter-based) - 签名集包括基于定义的检测过滤器的签名。手动 (manual)
- 签名集包括手动指定的签名。
注意:大多数签名集都是基于过滤器的。