腾讯云云监控实践:使用云审计 CloudAudit SDK 精准管理腾讯云资源

news2024/9/30 7:32:18

在这里插入图片描述

文章目录

    • 前言
    • 一、什么是腾讯云的操作审计 CloudAudit
    • 二、CloudAudit 有哪些优势
    • 三、CloudAudit 应用场景举例
      • 3.1 安全分析
      • 3.2 资源变更跟踪
      • 3.3 合规性审计
    • 四、使用云审计 SDK 进行云监控
      • 4.1 安装环境包 PHP
      • 4.2 下载并解压云审计 PHP SDK
      • 4.3 创建的腾讯云持久证书(如果已创建请跳过)
      • 4.4 配置持久证书到云审计 PHP 页面中
      • 4.5 安装云监控工具
      • 4.5 编写简单代码设置告警
      • 4.6 设置 crontab 定时服务
    • 七、查看操作审计告警
    • 八、其他 QA
      • 8.1 什么时候应该使用 CloudAudit?
      • 8.2 我可以查询多久的操作审计记录
      • 8.3 一个操作记录中包含了哪些信息?
      • 8.4 CloudAudit 传送一个 API 调用事件需要多长时间?
      • 8.5 启用 CloudAudit 是否会影响腾讯云资源的性能,或增加 API 调用的延迟?
      • 8.6 检索到了异常操作怎么及时得到通知?
    • 九、文末总结及个人感受

前言

本文是基于腾讯云产品:操作审计服务的技术实践,如果你需要更多了该服务,请点击官方链接:点击这里。最近年末,在查看各个云产品厂商服务的追踪进行了一波总结,对于企业在云上的数据安全以及使用历史痕迹的审计,本文会针对腾讯云 CloudAudit 服务进行展开来讲解,会让你了解在腾讯云上如何进行追踪痕迹,以及如何进行审计追踪单独的服务器(后面的有使用云审计 SDK 进行云监控的案例)。

一、什么是腾讯云的操作审计 CloudAudit

来自官方的释义:操作审计 CloudAudit 是一项支持对您的腾讯云账号进行监管、合规性检查、操作审核和风险审核的服务。借助 CloudAudit,您可以记录日志、持续监控并保留与整个腾讯云基础设施中操作相关的账号活动。CloudAudit 提供腾讯云账号活动的事件历史记录,这些活动包括通过腾讯云管理控制台、API 服务、命令行工具和其他腾讯云服务执行的操作。这一事件历史记录可以简化安全性分析、资源更改跟踪和问题排查工作。

博主总结:这个服务是腾讯云监控服务的一种,类似于 AWS 的 CloudTrail,但是又有 AWS CloudWatch 的功能,博主理解是一个 AWS CloudTrail 与 CloudWatch 的结合体,甚至包含一些 AWS Config 的功能。

总结一句话就是:CloudAudit 是一种 腾讯云的监控服务,可记录在账号上进行的活动,并可以将日志文件传送至到 COS 存储桶。

在这里插入图片描述

二、CloudAudit 有哪些优势

吹逼的话博主这里就不多哔哔了,任何一个云厂商都有类似的服务,且必须要有。如果你有监控痕迹记录,公司有云审计要求的话,那么这个服务就需要了。

三、CloudAudit 应用场景举例

这里根据官方的说明,列举几个场景的举例,适合一些小伙伴更加方便了解学习该服务。

3.1 安全分析

在云账号或资源存在安全问题的情况下,CloudAudit 记录的日志可用于深入分析原因。例如,CloudAudit 详细记录了用户的账号登录操作,包括操作时间、源 IP 地址以及是否使用多因素认证登录等信息。通过这些记录,用户能够准确判断账号是否存在潜在的安全问题。

3.2 资源变更跟踪

当用户的资源经历异常变更时,CloudAudit 记录的操作日志能够协助用户追踪变更的原因。例如,当用户发现某个 CVM 实例停机时,通过 CloudAudit 可以获取相应的操作时间和源 IP 地址,从而进行深入分析停机操作的发起原因。

3.3 合规性审计

对于拥有多个成员的组织,若用户已经使用腾讯云的 CAM 服务来管理这些成员的身份,为满足组织的合规性审计需求,用户需要获取每个成员的详细操作记录。CloudAudit 记录的操作事件能够满足这种合规性审计需求,确保用户对组织内成员的活动有全面了解。

四、使用云审计 SDK 进行云监控

接下来我们直接体验使用 云审计的 SDK 来进行监控云主机登陆信息。

4.1 安装环境包 PHP

假如您的机器的操作系统是 CentOS,可以使用以下指令安装 PHP

yum install php php-devel

在这里插入图片描述

4.2 下载并解压云审计 PHP SDK

使用的命令如下:

cd /root/
wget http://devcloudaudit-1254962721.cosgz.myqcloud.com/qcloudapi-sdk-php-master.tar
tar -xvf qcloudapi-sdk-php-master.tar

执行过程如下:

[root@VM-8-7-centos ~]# wget http://devcloudaudit-1254962721.cosgz.myqcloud.com/qcloudapi-sdk-php-master.tar
--2024-01-30 11:45:28--  http://devcloudaudit-1254962721.cosgz.myqcloud.com/qcloudapi-sdk-php-master.tar
Resolving devcloudaudit-1254962721.cosgz.myqcloud.com (devcloudaudit-1254962721.cosgz.myqcloud.com)... 169.254.0.48
Connecting to devcloudaudit-1254962721.cosgz.myqcloud.com (devcloudaudit-1254962721.cosgz.myqcloud.com)|169.254.0.48|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 68608 (67K) [application/x-tar]
Saving to: ‘qcloudapi-sdk-php-master.tar’

100%[===============================================================================================================>] 68,608      --.-K/s   in 0s

2024-01-30 11:45:28 (384 MB/s) - ‘qcloudapi-sdk-php-master.tar’ saved [68608/68608]

[root@VM-8-7-centos ~]# ll
total 68
-rw-r--r-- 1 root root 68608 Dec 16  2017 qcloudapi-sdk-php-master.tar
[root@VM-8-7-centos ~]#
[root@VM-8-7-centos ~]# tar -xvf qcloudapi-sdk-php-master.tar

执行状态结果如图所示:

在这里插入图片描述

4.3 创建的腾讯云持久证书(如果已创建请跳过)

登录腾讯云控制台 点击查看持久证书

链接:https://console.cloud.tencent.com/cam/capi

在提示的各种警告,直接点击蓝色按钮
在这里插入图片描述

同样点击确定按钮。

在这里插入图片描述

在 API 秘钥管理页面,点击新建秘钥按钮,之后勾选知晓警告后,点击确定按钮,进行创建秘钥。

在这里插入图片描述

4.4 配置持久证书到云审计 PHP 页面中

这里我们使用的是 PHP SDK 包中的 demo.php 做样例,也可以根据自身情况编写,将你的持久证书的SecretIdSecretKey配置到 PHP 页面中,如下图所示。

vim /root/qcloudapi-sdk-php-master/demo.php

将下图所示中,标识的SecretIdSecretKey替换成自己的 SecretId 和 SecretKey 即可。

在这里插入图片描述

4.5 安装云监控工具

cd /root/
wget http://update2.agent.tencentyun.com/update/linux_stargate_installer
chmod +x linux_stargate_installer
./linux_stargate_installer

执行命令过程如下:

[root@VM-8-7-centos ~]# cd /root/
[root@VM-8-7-centos ~]# wget http://update2.agent.tencentyun.com/update/linux_stargate_installer
--2024-01-30 13:16:56--  http://update2.agent.tencentyun.com/update/linux_stargate_installer
Resolving update2.agent.tencentyun.com (update2.agent.tencentyun.com)... 169.254.0.15
Connecting to update2.agent.tencentyun.com (update2.agent.tencentyun.com)|169.254.0.15|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 30753704 (29M) [application/octet-stream]
Saving to: ‘linux_stargate_installer’

100%[====================================================================================================>] 30,753,704  10.6MB/s   in 2.8s

2024-01-30 13:16:58 (10.6 MB/s) - ‘linux_stargate_installer’ saved [30753704/30753704]

[root@VM-8-7-centos ~]# chmod +x linux_stargate_installer
[root@VM-8-7-centos ~]# ./linux_stargate_installer
stop stargate if exist
install stargate
stargate/
stargate/logs/
stargate/admin/
stargate/admin/delcrontab.sh
stargate/admin/start.sh
stargate/admin/stop.sh
stargate/admin/uninstall.sh
stargate/admin/sgagenttask
stargate/admin/restart.sh
stargate/admin/addcrontab.sh
stargate/etc/
stargate/etc/base.conf
stargate/bin/
stargate/bin/sgagent64
stargate/bin/sgagentarm64
stargate/bin/sgagent32
stargate/lib/
stargate/lib/libstdcxx-arm64/
stargate/lib/libstdcxx-arm64/libstdc++.so.6.0.24
stargate/lib/libstdcxx-x86_64/
stargate/lib/libstdcxx-x86_64/libstdc++.so.6.0.20
install success
‘/usr/local/qcloud/stargate/bin/sgagent’ -> ‘/usr/local/qcloud/stargate/bin/sgagent64’
install python
update /usr/local/qcloud/stargate/lib/libstdc++.so.6
reset state
reset state succ.
start sgagent
stargate agent run succ
finish
[root@VM-8-7-centos ~]#

执行过程的截图如下:

在这里插入图片描述

4.5 编写简单代码设置告警

你可以自定义 demo.php 中的 $alarmAction变量,设置需要监控的 Action 名字。在本次示例中,默认的是【账户登录】事件。

在这里插入图片描述

4.6 设置 crontab 定时服务

最后我们使用crontab -e指令进行添加定时服务

crontab -e

将以下指令添加到最后一行即可,该定时任务是每分钟执行一次,并且记录警告日志。

*/1 * * * * cd /root/qcloudapi-sdk-php-master/ && php demo.php >> nohup.out > /dev/null 2>&1

在这里插入图片描述

最后重启 crontab 保证以上配置生效。

service crond restart

在这里插入图片描述

七、查看操作审计告警

在操作审计服务页面,可以查询到我们上述配置的登陆服务器敏感操作的记录信息

先访问操作审计页面(点击这里,或复制后面的链接):https://console.cloud.tencent.com/cloudaudit

在这个操作审计页面中可以查询近七天的操作记录,这包括一些默认的操作以及类似我们调用 PHP SDK 自定义的记录。我们下图标注的第一个就是本博文配置的审计告警,用来监控登陆服务器记录的。

在这里插入图片描述

点击事件名称,进入到事件详情页面。

在这里插入图片描述

我们点击某条事件的事件名称后,右侧窗口进入到事件详情页面,在窗口右侧事件记录中可以查看到所有详细的信息,无论是时间戳,服务器,请教ID、事件ID什么操作等,都有详细记录。

{
    "userIdentity": {
        "principalId": "100099999999",
        "accountId": "100099999999",
        "secretId": "AKID999999999999999999999999999999994C6Y",
        "sessionContext": {},
        "type": "Root",
        "userName": "root"
    },
    "eventRegion": "ap-guangzhou",
    "eventVersion": 2,
    "errorCode": "0",
    "errorMessage": "permission verify",
    "requestID": "25999999999",
    "eventID": "2599999999915",
    "apiVersion": "2.0",
    "eventType": "ApiCall",
    "actionType": "Read",
    "httpMethod": "POST",
    "apiErrorCode": 0,
    "apiErrorMessage": "",
    "userAgent": "",
    "eventTime": 1706597281,
    "sensitiveAction": "0",
    "sourceIPAddress": "175.111.111.111",
    "resourceType": "cloudaudit",
    "eventName": "LookUpEvents",
    "eventSource": "cloudaudit.api.qcloud.com/v2/index.php",
    "resourceSet": [],
    "requestParameters": {
        "Action": "LookUpEvents",
        "EndTime": "1706597281",
        "LookupAttributes": "[{\"AttributeKey\":\"string\",\"AttributeValue\":\"ConsoleLogin\"}]",
        "MaxResults": "10",
        "Nonce": "35091",
        "Region": "gz",
        "RequestClient": "SDK_PHP_1.1",
        "SecretId": "AKIDjKhrmTwBC1c09Ak7GACAuX2LQM8h4C6Y",
        "StartTime": "1706597161",
        "Timestamp": "1706597281"
    },
    "responseElements": "\"{}\"",
    "resources": "[\"*\"]",
    "resourceName": "",
    "tags": [
        ""
    ]
}

八、其他 QA

8.1 什么时候应该使用 CloudAudit?

当具有以下需求的客户应该使用 CloudAudit:

  • 需要跟踪资源变更情况
  • 回答有关用户活动的简单问题
  • 证明合规性
  • 进行故障排除或执行安全分析

8.2 我可以查询多久的操作审计记录

现阶段在操作记录页面里,最多只能查询30天周期的信息,这个周期最长可以查看近3个月的记录,如果需要查看更长时间的操作记录,请使用跟踪集功能,日志数据将持久化存储到指定存储桶或CLS中。

根据等保合规2.0及网安法条例要求,企业云上业务日志必须保存180天以上,建议可以创建跟踪集,投递到存储桶,方便长期保存操作日志。

8.3 一个操作记录中包含了哪些信息?

一个操作记录包括访问密钥、区域、错误码、事件 ID 、事件名称、事件源、事件时间、请求 ID 、源 IP 地址、用户名。

8.4 CloudAudit 传送一个 API 调用事件需要多长时间?

一般情况下,CloudAudit 会在 API 调用后5 - 10分钟传送操作记录事件到用户指定的 COS Bucket。

8.5 启用 CloudAudit 是否会影响腾讯云资源的性能,或增加 API 调用的延迟?

不会。启用 CloudAudit 既不会影响腾讯云资源的性能,也不会增加 API 调用的延时。

8.6 检索到了异常操作怎么及时得到通知?

在腾讯云的可观测平台中(点击这里),提供了免费短信通知的功能(但是条数有限:1000条),同时提供了命令行发送工具 cagent_tools,就是我们上面的 shell 命令中的cagent_tools。(这里挖个坑,过几天写一个如何配置这个短信的操作)。

在这里插入图片描述

九、文末总结及个人感受

在上面博主讲解了腾讯云的云审计 CloudAudit服务的基本介绍以及一个使用案例,无论你是开发者还是云架构负责人,对于安全审计以及监控服务安全状态都应该了解以及掌握。

试想一下,如果你是开发者,开发了一个产品,产品部署到某一个服务器后,你如何进行监控,如果这个产品使用了多个云服务器或者云产品,对于你来说监控就是一个比较繁琐的操作,这个时候腾讯云的云审计 CloudAudit 就显现出来的他独特的作用;另外一种情况也是比较常见的,就是当作为云架构的时候,审计部分必须要在考虑范围内,一般情况操作记录痕迹必须保存2年,这个时候传统操作可能有audit表或者log一方面,但是云服务相关的操作你就要想办法来监控了,在腾讯云CloudAudit 中提供了自己的 API,你可以设计成监控脚本,自动的监控某些服务,并且在全局监控上也有相关的监控记录,在我写的文章实践里面也有写。

对于腾讯云 CloudAudit 监控内容来看这点令我印象比较深刻的是,他几乎结合了友商的 AWS CloudTrail 与 CloudWatch 功能,这无疑简化了某些运维的场景,这一点是值得推荐的。后续我会在输出几篇关于腾讯云 CloudAudit 监控相关的文章,敬请期待。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1428712.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习入门-----sklearn

机器学习基础了解 概念 机器学习是人工智能的一个实现途径 深度学习是机器学习的一个方法发展而来 定义:从数据中自动分析获得模型,并利用模型对特征数据【数据集:特征值+目标值构成】进行预测 算法 数据集的目标值是类别的话叫做分类问题;目标值是连续的数值的话叫做回…

第二十一回 阎婆大闹郓城县 朱仝义释宋公明-FreeBSD Linux 使用Rsync备份

阎婆状告宋江杀死她女儿阎婆惜,知县有意偏袒宋江,只是一味的拷打唐牛儿,但无奈张三张文远说刀子是宋江的,知县不得已差人拿宋江来审问。第一次没见到人,第二次派朱仝雷横两个人去。 朱仝到地窖里找到了躲藏的宋江&…

【Java程序设计】【C00243】基于Springboot的社区医院管理系统(有论文)

基于Springboot的社区医院管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的社区医院管理服务系统 本系统分为系统功能模块、管理员功能模块、用户功能模块以及医生功能模块。 系统功能模块:社…

C++数据结构与算法——哈希表

C第二阶段——数据结构和算法,之前学过一点点数据结构,当时是基于Python来学习的,现在基于C查漏补缺,尤其是树的部分。这一部分计划一个月,主要利用代码随想录来学习,刷题使用力扣网站,不定时更…

学习Android的第一天

目录 什么是 Android? Android 官网 Android 应用程序 Android 开发环境搭建 Android 平台架构 Android 应用程序组件 附件组件 Android 第一个程序 HelloWorld 什么是 Android? Android(发音为[ˈnˌdrɔɪd],非官方中文…

C#读取和保存INI文件配置

在C#应用程序中,读取和保存配置文件是常见的任务,而INI文件是一种轻量级的配置文件格式。在以下代码中,我们将探讨如何使用C#创建一个窗体应用程序,并通过读取和保存INI文件配置来实现一些基本的功能。 创建IniHelper类 首先&…

C语言搭配EasyX实现贪吃蛇小游戏

封面展示 内部展示 完整代码 #define _CRT_SECURE_NO_WARNINGS #include<easyx.h> #include<stdio.h> #include<mmsystem.h> #pragma comment (lib,"winmm.lib") #define width 40//宽有40个格子 #define height 30//长有40个格子 #define size 2…

1.27马尔科夫链,抽样蒙特卡洛模拟(逆转化方法,接受拒绝矩阵),马尔科夫链蒙特卡洛MCMC,隐马尔科夫(HMM(V算法剪枝优化),NLP)

马尔科夫链 蒙特卡洛法模拟 抽样&#xff0c;逆转换方法 就是说由系统自带的随机函数RANDOM&#xff0c;通过下面这个方法&#xff0c;可以变为对应的随机模拟函数 就是说要实现蒙特卡洛模拟&#xff0c;是要先有一个概率表达式&#xff0c;然后基于这个概率表达式&#xff0…

Leetcode2855. 使数组成为递增数组的最少右移次数

Every day a Leetcode 题目来源&#xff1a;2855. 使数组成为递增数组的最少右移次数 解法1&#xff1a;暴力 由于右移 n 次就变回原数组了&#xff0c;所以答案至多为 n−1。 枚举右移次数&#xff08;1~n-1&#xff09;&#xff0c;每次右移一个元素后判断数组是否有序&…

react 之 zustand

zustand可以说是redux的平替 官网地址&#xff1a;https://zustand-demo.pmnd.rs/ 1.安装 npm i zustand2.基础使用 // zustand import { create } from zustand// 1. 创建store // 语法容易出错 // 1. 函数参数必须返回一个对象 对象内部编写状态数据和方法 // 2. set是用来…

【Python-环境搭建】

Python-环境搭建 ▼ Python安装► 进入Python官网 地址如下 [Python官网](https://www.python.org/)► Python安装向导对话框► 测试是否安装成功 ▼ PyCharm 安装► Pycharm的下载和安装 ▼► 开始在 Windows 上使用 Python&#xff08;初学者&#xff09; ▼ Python安装 ► …

查看docker服务的IP地址

要查看Docker容器服务的IP地址&#xff0c;可以使用以下命令&#xff1a; 如果你知道容器名称或容器ID&#xff0c;直接通过容器ID或容器名称来获取IP地址&#xff1a; # 使用容器ID获取IP地址 docker inspect -f {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}} …

django+flask+python高校教材管理系统47nia

本.4论文结构 绪论&#xff1a;剖析项目可行性&#xff0c;表明研究方向。 开发技术&#xff1a;系统关键运用了Python技术性、Django框架、B/S架构和myspl数据库查询&#xff0c;并进行了详细介绍[6]。 系统分析&#xff1a;包含系统的总体构造&#xff0c;用例图和结构图。 系…

Mac电脑连接linux远程桌面

起因 家庭中的内网下有一台ubuntu虚拟机&#xff0c;只能通过ssh终端操作或者通过实体机进行操作实在有些不方便。所以便想着通过linux远程桌面的方式进行连接&#xff0c;由于家庭内网&#xff0c;延迟还是非常低的。 步骤 首先在ubuntu虚拟机上安装xrdp&#xff08;可能已…

【Python实战】Python多线程批量采集图片

前言 本文来介绍如何多线程采集图片&#xff0c;多线程效率更快&#xff0c;但是&#xff0c;我们单一IP请求过于频繁&#xff0c;可能会被反爬&#xff0c;被封IP&#xff0c;所以&#xff0c;我们就要用到IP代理池&#xff0c;这里&#xff0c;我给大家推荐一个&#xff0c;可…

​(四)hive的搭建2

在&#xff08;三&#xff09;hive的搭建1中我们搭建好了hive环境&#xff0c;但是只能本地访问&#xff0c;在本节中配置Hive的访问方式。 1.元数据服务的方式 1.1 编辑hive-site.xml sudo vi hive-site.xml 在文件最后增加以下内容 <!– 指定存储元数据要连接的地址 –…

MySQL进阶45讲【11】怎么更好地给字符串字段加索引?

1 前言 现在&#xff0c;几乎所有的系统都支持邮箱登录&#xff0c;如何在邮箱这样的字段上建立合理的索引&#xff0c;是我们今天要讨论的问题。 假设&#xff0c;现在维护一个支持邮箱登录的系统&#xff0c;用户表是这么定义的&#xff1a; mysql> create table SUser…

用VScode写Latex

主要内容可以直接导到这里 A Fast Guide on Writing LaTeX with LaTeX Workshop in VS Code - Jia Jia Math 其中关于TexLive安装完成之后的路径设置有一些迷惑&#xff0c;win11下测试是不需要手动去添加的&#xff0c;去系统变量里检查一下就可以了&#xff0c;应该点开path…

STM32--USART串口(3)数据包

一、前言 在实际的工程中肯会有同时发送多种数据的情况&#xff0c;比如要不停的发送x、y、z分别对应三种不同的数据。xyzxyzxyz&#xff0c;但接收方可能是从中间某个地方开始接收的&#xff0c;这就导致数据错位。所以我们就需要将数据进行分割&#xff0c;打包成一个一个的…

个人网站如何让搜索引擎收录

当我们花费功夫搭建好个人网站&#xff0c;如何能让搜索引擎搜索到个人网站呢&#xff1f;比如百度&#xff0c;根本百度不到自己网站的内容。这时候就要使用到搜索引擎提供的站点收录功能了&#xff0c;但是点开百度的搜索资源平台&#xff0c;添加自己的站点时&#xff0c;就…