

# Check Point NGFW 的来源配置
<a name="checkpoint-ngfw-source-config"></a>

## 与 Check Point NGFW 集成
<a name="checkpoint-ngfw-integration"></a>

Check Point NGFW 集成使用 Amazon S3 和 Amazon SQS 来将日志数据摄取到 CloudWatch 管线中。日志数据通过 `cp_log_export` 实用程序从 Check Point 设备转发到系统日志接收方，然后由 Fluent Bit 收集并传送到 Amazon S3 存储桶。当新的日志对象到达时，Amazon SQS 通知会提醒管线。

## 先决条件
<a name="checkpoint-ngfw-prerequisites"></a>
+ 有权创建 Amazon S3 存储桶、Amazon SQS 队列和 IAM 角色的 Amazon Web Services 账户
+ 有权访问 `cp_log_export` 实用程序的 Check Point NGFW 设备
+ 安装了 Fluent Bit 的 Linux 主机（用于日志收集和传送到 Amazon S3）
+ Check Point 设备、系统日志接收方和 Amazon 之间的网络连接

## 日志转发设置
<a name="checkpoint-ngfw-log-forwarding"></a>

Check Point NGFW 会使用 `cp_log_export` 实用程序导出日志，其以系统日志格式将日志数据转发到指定的接收方。系统日志接收方主机上运行的 Fluent Bit 会收集这些日志，并以 NDJSON 格式将其传送到 Amazon S3。

## Amazon S3 与 Amazon SQS 设置说明
<a name="checkpoint-ngfw-s3-sqs-setup"></a>

请完成下面的步骤，为 Check Point NGFW 日志摄取配置 Amazon S3 和 Amazon SQS 基础设施。

### 步骤 1：创建 Amazon S3 存储桶
<a name="checkpoint-ngfw-step1"></a>

创建一个 Amazon S3 存储桶来存储 Check Point NGFW 日志。存储桶必须位于您计划创建 CloudWatch 管线的同一 Amazon 区域中。

### 步骤 2：创建 Amazon SQS 队列
<a name="checkpoint-ngfw-step2"></a>

Amazon SQS 队列必须与您的 Amazon S3 存储桶位于同一 Amazon 区域。当新的日志文件添加到存储桶时，此队列会收到通知。

### 步骤 3：将 Amazon S3 连接至 Amazon SQS
<a name="checkpoint-ngfw-step3"></a>

配置 Amazon S3 存储桶，将 `s3:ObjectCreated:*` 事件的事件通知发送到 Amazon SQS 队列。

### 步骤 4：配置 Amazon SQS 队列策略
<a name="checkpoint-ngfw-step4"></a>

配置 Amazon SQS 队列策略，允许 Amazon S3 存储桶将消息发送至队列。将以下策略应用于 Amazon SQS 队列：

```
{
  "Version": "2012-10-17",
  "Id": "AllowS3ToSQS",
  "Statement": [
    {
      "Sid": "AllowS3BucketNotification",
      "Effect": "Allow",
      "Principal": {
        "Service": "s3.amazonaws.com"
      },
      "Action": "sqs:SendMessage",
      "Resource": "arn:aws:sqs:<region>:<account-id>:<queue-name>",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": "arn:aws:s3:::<YOUR-BUCKET>"
        },
        "StringEquals": {
          "aws:SourceAccount": "<account-id>"
        }
      }
    }
  ]
}
```

### 步骤 5：配置 Check Point 日志导出和 Fluent Bit
<a name="checkpoint-ngfw-step5"></a>

在 Check Point 设备上，配置 `cp_log_export` 以将日志转发到系统日志接收方：

```
cp_log_export add name my_export target-server <syslog-host> target-port 514 protocol udp format syslog
```

在系统日志接收方主机上，安装 Fluent Bit 并对其进行配置，以追踪 Check Point NGFW 日志文件并将其上传到 Amazon S3。请使用以下示例配置：

```
########################################
# SERVICE SECTION
########################################
[SERVICE]
    Flush                        5
    Daemon                       Off
    Log_Level                    info
    storage.path                 /etc/fluent-bit/db/storage
    storage.sync                 normal
    storage.checksum             off
    storage.backlog.mem_limit    10M

########################################
# INPUT SECTION
########################################
[INPUT]
    Name                         tail
    Path                         /var/logs/<checkpoint_ip_address>/*.log
    Tag                          checkpoint.*
    Read_from_Head               True
    DB                           /etc/fluent-bit/db/checkpoint.db
    DB.Sync                      Normal
    storage.type                 filesystem
    Rotate_Wait                  30
    Refresh_Interval             60

########################################
# OUTPUT SECTION
########################################
[OUTPUT]
    Name                         s3
    Match                        checkpoint.*
    Bucket                       <<Bucket name>>
    Region                       <region>
    S3_Key_Format                /checkpoint-ngfw/%Y/%m/%d/%H/%M/%S.log.gz
    compression                  gzip
    use_put_object               On
    store_dir                    /etc/fluent-bit/db/s3
    total_file_size              1M
    log_key                      log
    upload_timeout               60
```

**注意**  
来自 `cp_log_export` 的日志以 JSON 格式通过 syslog 到达接收方主机。
`log_key log` 仅将 `log` 键的值发送至 Amazon S3。
`storage.path` 和 `store_dir` 提供本地缓冲。
`DB` 参数会跟踪文件读取位置以防止重复摄取。
将 `<checkpoint_ip_address>` 替换为实际 IP 地址。
将 `<<Bucket name>>` 替换为实际 Amazon S3 存储桶名称。

### 步骤 6：IAM 权限
<a name="checkpoint-ngfw-step6"></a>

为 Fluent Bit 主机创建具有以下权限的 IAM 策略，以让其向 Amazon S3 存储桶写入对象：

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "FluentBitS3Write",
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetBucketLocation",
        "s3:ListBucket",
        "s3:ListMultipartUploadParts",
        "s3:AbortMultipartUpload",
        "s3:CreateMultipartUpload",
        "s3:CompleteMultipartUpload"
      ],
      "Resource": [
        "arn:aws:s3:::<YOUR-BUCKET>",
        "arn:aws:s3:::<YOUR-BUCKET>/checkpoint-ngfw/*"
      ]
    }
  ]
}
```

### 步骤 7：验证
<a name="checkpoint-ngfw-step7"></a>

通过确认日志文件出现在 Amazon S3 存储桶中以及正在生成 Amazon SQS 通知来验证设置。检查 Amazon SQS 队列中是否存在指示新对象创建事件的消息。

## 配置 CloudWatch 管线
<a name="checkpoint-ngfw-pipeline-config"></a>
+ 创建管线时，请选择 Check Point NGFW 作为数据来源。
+ 提供 Amazon SQS 队列 URL 和 IAM 角色 ARN。
+ 选择目标 CloudWatch Logs 日志组。
+ 创建管线后，数据将在选定的日志组中可用。

## 支持的开放式网络安全架构框架事件类
<a name="checkpoint-ngfw-ocsf-support"></a>

此集成支持 OCSF 架构版本 v1.5.0。下表显示了 Check Point NGFW 事件类型与 OCSF 事件类之间的映射。


| 事件名称 | OCSF 事件类 | 
| --- | --- | 
| 防火墙 | 网络活动 [4001] | 
| URL 筛选 | 网络活动 [4001] | 
| HTTPS 检查 | 网络活动 [4001] | 
| 应用程序控制 | 网络活动 [4001] | 
| 身份感知 | 网络活动 [4001] | 
| 防病毒 | 检测调查发现 [2004] | 
| 反垃圾邮件 | 检测调查发现 [2004] | 
| IPS | 检测调查发现 [2004] | 
| 反机器人 | 检测调查发现 [2004] | 
| 威胁模拟 | 检测调查发现 [2004] | 
| 审核 | 实体管理 [3004] | 
| DLP | 数据安全调查发现 [2006] | 