企业云上安全审计——操作审计

企业云上安全审计——操作审计

企业信息安全与操作审计

越来越多的企业将自己的核心业务搬迁上云,在阿里云上部署了大量的IT基础设施(虚拟机、数据库等)、应用和数据,云上IT信息系统的安全至关重要。而IT设施托管在云上后,对IT资源的管理、查看都需要经过和依赖云平台,那就要求云平台能支持云上IT运维的高可见性和可控性。而企业现实中就面临着来自企业内部和外部的审计需求。

操作审计追踪并记录对云上IT的管控操作日志。从企业内部的审计需求来看,帮助企业洞察来自企业内部的违规操作、鉴别正在发生的数据非法访问、通过分析异常行为发现非法攻击行为、结合操作日志复盘已发生的故障,同时也帮助企业日常查询和监控运维人员的操作。从企业外部的审计需求来看,使用操作审计才能让企业达到等保2.0等法律法规的要求。

等保2.0应用安全部分安全审计中要求企业:应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要的安全事件进行审计;审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;应对审计进程进行保护,防止未经授权的中断。

阿里云操作审计

操作审计(ActionTrail)记录您的阿里云账号的活动,包括通过阿里云控制台、OpenAPI、开发者工具对云上产品和服务的访问和使用行为。支持将操作日志投递到您的对象存储(OSS)进行归档存储或日志服务(SLS)进行查询、分析、报警和制作监控仪表盘。

企业云上安全审计——操作审计

操作审计支持在控制台查询最近90天的操作日志,首先要根据资源的归属地域选择对应地域控制台,一般操作日志量比较大,建议查询时间范围选择尽量小,事件信息指定的尽量详细,可以更容易找到有价值的信息。

查询历史事件是提供给用户用于临时查询,对于任何有审计需求的用户都应该创建跟踪,将操作日志投递到自己的对象存储或日志服务中,长时间的保留操作日志(等保要求至少保留6个月),进行更详细的查询和实时分析。

应用案例

操作审计提供的功能简单易于理解。下面我们通过三个场景和具体示例,介绍如何应用操作审计帮助企业完善云上的安全审计。

监控外来入侵

某互联网公司A企业从自建IDC搬到云上后,第一个担心的问题就是云上安全,服务器、数据库会不会被入侵。A企业通过监控云上操作日志,可以快速的发现资源的异常情况。

首先、在操作审计控制台创建跟踪,监控所有地域的全部操作类型,并将操作日志投递到日志服务。

企业云上安全审计——操作审计
跟踪创建完成,在跟踪列表页点击日志分析,跳转到日志服务。

企业云上安全审计——操作审计

操作审计在日志服务中会自动创建两个仪表盘(一个中文,一个英文),统计操作日志的整体信息,包含事件PV、UV、事件的来源分布、事件的地域分布和事件的类型统计。

企业云上安全审计——操作审计

默认生成的统计图表是比较粗粒度的,用于观察事件的概况。针对入侵的监控,需要更贴合实际的细粒度监控。A企业通过观测ECS操作的地域、来源IP、userAgent变化来甄别是否受到了外部入侵。
A企业创建的入侵监控图表如下:

企业云上安全审计——操作审计

• A企业统计来源IP的城市,如果来自非企业所在城市,则可能是异常情况。

__topic__: actiontrail_audit_event | SELECT count(1) as pv, city FROM (SELECT "event.sourceIpAddress" AS ip, ip_to_city("event.sourceIpAddress") as city FROM log) WHERE ip_to_domain(ip)!='intranet' GROUP BY city ORDER BY pv DESC

• A企业有固定的对外的IP网段,并且要求只能在公司执行操作,通过对IP进行监控,如果有白名单外的IP产生了操作则可能是异常情况。

__topic__: actiontrail_audit_event | SELECT count(1) as pv, "event.sourceIpAddress" as ip WHERE ip_to_domain("event.sourceIpAddress")!='intranet' and "event.sourceIpAddress" != '
Internal' GROUP BY ip ORDER BY pv DESC

• A企业有自建的云管平台,统一使用terraform和JAVA语言来管理阿里云上资源。通过监控userAgent来监控外来入侵,如果出现其他userAgent那么可能是异常情况。

__topic__: actiontrail_audit_event | SELECT "event.userAgent" as userAgent, count(1) as pv GROUP BY userAgent

• A企业在云上使用了ECS和RDS,通过监控ECS的删除实例操作或者RDS的删除实例操作,来监控高危操作的情况。

__topic__: actiontrail_audit_event | SELECT serviceName, eventName, userName,count(1) as pv FROM (SELECT  "event.eventName" as eventName, "event.serviceName" as serviceName, "event.userIdentity.userName" as userName FROM log) WHERE (serviceName = 'Ecs' and eventName = 'DeleteInstances') OR (serviceName = 'Rds' and eventName = 'DeleteDBInstance') GROUP BY serviceName, eventName, userName

• A企业某次发现AK泄露,黑客使用此AK在云上进行了大量违法操作。A企业使用操作审计查询此AK操作记录,了解黑客入侵范围和破坏细节,快速恢复业务,并且作为证据进行起诉追责。

__topic__: actiontrail_audit_event and event.userIdentity.accessKeyId: 123

内部违规监控和取证

某传统企业B将业务搬到了阿里云上。在云上创建一套子账号体系,分发给不同职能部门进行使用,因为各个部门都有阿里云子账号,B企业比较担心内部员工违规操作,使用访问控制(RAM)做了权限隔离,制定了运维操作规范,也使用操作审计创建跟踪,建立监控来保障业务平稳运行。

首先,在操作审计控制台创建跟踪,监控所有地域的全部操作类型,并将操作日志投递到日志服务。
内部监控图表如下:

企业云上安全审计——操作审计

• B企业要求运维不可以在业务高峰期间进行机器重启等高危运维操作,B企业针对此操作规范建立统计,统计在9:00~16:00业务高峰时间段的ECS重启操作,监控运维的违规操作。

__topic__: actiontrail_audit_event and event.eventName: RebootInstance | SELECT user, time FROM (SELECT date_format(__time__, '%Y-%m-%d %H:%i:%S') AS time ,cast(date_format(__time__, '%H') as bigint) AS hour, "event.userIdentity.userName" as user FROM log)  WHERE hour > 9 AND hour < 16

• B企业不允许开发直接创建资源,需要走公司内部的审批流程后,由运维进行资源的创建。B企业针对子账号的创建操作建立统计和监控,监控非运维的越权和违规操作。

__topic__: actiontrail_audit_event | SELECT count(*) AS count, user FROM (SELECT "event.eventName" AS event, "event.userIdentity.userName" AS user FROM log)  WHERE event LIKE 'Create%' GROUP BY user

• B企业运维人员因为发泄个人私欲删除了公司数据库和服务器,导致企业服务停机半天,造成大量损失。B企业使用操作审计投递的SLS中查询导出相关子账号的操作记录,作为证据维护企业合法权益。

__topic__: actiontrail_audit_event and event.userIdentity.accessKeyId : xxx

消费操作日志

金融企业C有自建的审计监控平台,需要将操作审计与线下的审计监控平台建立连接。C企业通过在操作审计中创建跟踪,将云上操作事件投递到日志服务中,然后消费日志服务中的日志,来做自建审计平台的数据存储和事件触发。

企业云上安全审计——操作审计

流程如下:

企业云上安全审计——操作审计

操作审计投递到日志服务的日志,可以通过多种方式实时消费,完成审计和监控需求。

最佳实践

操作审计推荐用户创建跟踪将账号的操作记录同时保存到对象存储(OSS)和日志服务(SLS)中。

对象存储(OSS)的存储价格相对便宜,可以作为归档存储。建议存储至少6个月的操作日志。并开启OSS bucket的合规保留策略,设置与存储日期一致的过期时间,过期时间之前,任何用户都无法删除Object和策略。如果有加密需要,也可以开启OSS服务端加密服务。

日志服务存储的操作记录用于数据消费和分析。可以根据需要选择存储时间,如一个月。使用日志服务在线查询操作日志、制作监控仪表盘,方便快捷识别账号风险。如果企业有自建的合规审计平台,可以通过日志服务的实时消费能力,将数据导入企业的合规审计平台,统一分析管理。

总结

阿里云致力于以在线公共服务的方式,提供安全、可靠的计算和数据处理能力,让计算和人工智能成为普惠科技。操作审计致力于打造可信赖、可依靠、透明化的阿里云,让云上操作拥有可监控、可审计、可追溯的能力。操作审计除了记录阿里云账号的活动之外,还推出了平台操作日志,对用户透出了阿里云内部运维事件,让阿里云更加透明化。操作审计也在不断提升产品覆盖度,让更多的产品可以被审计。为了企业云上安全审计操作审计在行动,快来创建跟踪吧

上一篇:MySQL入门书籍和方法分享


下一篇:保护你的Linux系统的九个老生常谈