为什么要进行日志审计?
Cloud Native
日志集中审计分析是现代信息安全管理中的关键组成部分,将来自不同地域、不同账号甚至不同云产品来源的日志数据进行集中化处理和分析,能够打破“信息孤岛”,更好地检测和响应安全威胁,实现更全方面、深层次的安全洞察。
法律强制规定
除此之外,企业或组织主动进行日志审计、服务厂商按照相关标准提供日志分析产品也是法律的强制性要求。例如《网络安全法》[1]第二十一条第三小节中明确规定“采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月”。《网络安全法》第二十三条还要求,“网络关键设备和网络安全专用产品应当按照相关国家标准的强制性要求,由具备资格的机构安全认证合格或者安全检测符合要求后,方可销售或者提供”。2023 年 7 月 3 日,国家互联网信息办公室会同工业和信息化部、公安部、国家认证认可监督管理委员会等部门更新了《网络关键设备和网络安全专用产品目录》[2],已经将日志分析产品列入网络安全专用产品目录。
如何选择日志服务产品?
Cloud Native
阿里云SLS 获取网络安全专用产品认证
网安法规不断完善
网安认证检索
日志审计能够解决的客户问题和带来的业务收益
可拓展性:能够自动化实现多种主流云产品日志的跨账户、跨区域的自动化采集,自动拓展新增账号和新增实例。 操作效率:通过简单页面配置或几行 API 代码,减少了调试时间和错误率,提高了部署速度。 高可见性:通过单一日志审计管理界面,查看部署的采集规则,提供了对日志采集的全面可见性,便于团队之间、跨团队协作。 可维护性:降低了用户侧维护自定义工具的负担,使团队能够更专注于核心业务,避免繁琐的维护工作。
接下来,我们将开启全新的日志审计之旅,探索如何基于日志审计进行中心化日志管理及安全洞察。
日志审计概览
Cloud Native
工作原理
功能详情
云产品覆盖范围:覆盖阿里云多种主流云产品及其日志类型接入,例如 OSS、VPC、CLB、RDS、WAF 等。 日志自动化采集:支持自动化采集用户云产品日志,包括日志的自动化写入和包括日志采集范围的自动化适配。 采集规则可编排:支持三种资源选择模式对云产品资源范围进行采集设定:全部资源、实例模式过滤资源、属性模式过滤资源。 数据跨区域汇总:通过数据加工[12]功能实现日志数据的跨地域汇总,从而实现日志集中化统计分析。 支持多日志中心:日志只需接入一次,即可根据规则配置,通过数据加工汇总到多个日志库目标。 支持资源目录[13]多账号功能:管理员或委派管理员可以通过配置多账号采集,将成员账号的所有日志汇总到管理员或委派管理员下。
VPC 流日志最佳实践
Cloud Native
假设我们是一个全球电商团队,我们的多组业务横跨全球多个地域,例如国内如北京、上海等地域,国外如新加坡、马来西亚等地域皆部署相应的业务。这些业务的工作负载部署在对应地域下各个专属的 VPC 中。下面我们将以一个运维人员的身份视角,亲自上手日志审计下 VPC 流日志的采集和应用。
一方面,可以帮助用户了解内网的使用情况,帮助优化网络架构和提高性能,识别流量瓶颈、过度使用的资源或不必要的流量。 另一方面,通过详细的流量记录,网络管理员可以快速定位和解决问题,及时发现和响应入侵行为或潜在的安全威胁。 最后,采集、存储 VPC 流日志也是国内外许多法律法规(例如网络安全法、GDPR、PCI-DSS 等)的强制要求。
下面我们将以 VPC 流日志[14]的采集和汇总为例,介绍如何基于日志审计(新版),进行快捷、高阶的 VPC 流日志采集和功能管理。
日志接入
VPC 流日志多中心汇总
需求详情
自动管理要求:自动化开启满足相关条件的 VPC 实例的流日志,当 VPC 新增或条件变化时,自动适应。 跨境合规要求:需要将国内的 VPC 流日志采集到上海中心,将国外的 VPC 流日志采集到新加坡中心(跨界合规)。 成本优化要求:出于节省成本的考量,需要仅开启生产业务的 VPC 流日志,测试环境业务无需开启。
操作步骤
指定日志类型:本规则采集日志类型为 VPC 流日志。 限定采集对象:我们将分别创建两个规则,一个规则负责采集国内地域的 VPC 实例,如杭州、上海等,另一个规则负责采集国外地域的 VPC 实例,如新加坡等。同时我们通过属性模式[15]下资源标签的方式限定采集对象为生产环境(env:production)的 VPC。 配置中心化目标:按照需求,需要将国内日志采集到上海中心,将国外日志采集到新加坡中心,在对应的规则中分别配置中心化目标即可。
补充说明:除了属性模式(支持按照地域和标签进行过滤)外,日志审计还支持全选模式(即采集账号下全部云产品实例)以及实例模式(用户枚举需要采集的实例),灵活控制云产品日志采集。
VPC 流日志跨账号监控
通过多个账号,可以更好地隔离资源,确保不同团队之间不相互干扰,并且根据需要进行精细的权限管理,防止未经授权的访问。 不同的账号可以用来分割和跟踪成本。这样,每个部门或项目可以清楚地了解他们使用了多少云资源,并管理和控制各自的预算。
需求详情
RD 跨账号汇总需求:安全团队基于 RD 资源目录[16]进行多级账号和资源关系管理,需要将不同团队的日志自动化采集到统一的目标库中。 账号粒度筛选需求:具备对账号的筛选能力,例如仅采集线上业务相关的账号下的 VPC 流日志,无需采集不相干业务团队下的 VPC 流日志。
操作步骤
补充说明:除了支持自定义选择需要采集的账号之外,日志审计还支持采集全部成员账号下的指定云产品日志,如果资源目录下有账号新增或变更,将会自动进行相应的规则创建或更改,从而完成组织账号体系下的日志采集与采集规则的自适应。
网络安全洞察
内置统计
流量概览
策略概览
自定义分析
流入流量来源统计
(log-status : OK and version : 1) and direction: 'in' | select concat('src: ', srcaddr) as src, concat('dst: ' , dstaddr) as dst, sum(bytes) as total_bytes group by src, dst order by total_bytes desc limit 10
流量来源地理分布
(log-status : OK and version : 1 and action: Accept) and direction: "out" | select ip_to_country(srcaddr) as country, count(*) as accept_actions where ip_to_country(srcaddr)!='保留地址' group by country order by accept_actions desc limit 20
流量异常变化趋势
(log-status : OK and version : 1 and action: ACCEPT) and direction: "in" and dstaddr: "172.16.0.8" | select __time__ - __time__ % 300 as t, srcaddr as ip_addr, count(bytes) as flows where ip_to_domain(srcaddr)='internet' group by t, ip_addr order by t,flows limit 1000000
告警响应
非预期的端口扫描
1
(log-status : OK and version : 1) and direction: "in"|select * from (select dstaddr,srcaddr, count(dstport) as dst_port_nums from log where (srcaddr not like '100.127.%' and srcaddr not like '100.100.2.%') group by dstaddr,srcaddr order by dst_port_nums desc) where dst_port_nums >50 limit 10
当查询结果有数据时,即触发告警。
流量异常波动告警
(log-status : OK and version : 1) and direction: "in" | WITH
latest_5_min AS (
SELECT
count(bytes) AS latest_sum
FROM
log
WHERE
__time__ > to_unixtime(current_timestamp) - 300 and __time__ < to_unixtime(current_timestamp)
),
previous_time_buckets AS (
SELECT
count(bytes) AS cnt,
__time__ - __time__ % 300 AS t
FROM
log
WHERE
__time__ < to_unixtime(current_timestamp) - 300 and __time__ > to_unixtime(current_timestamp) - 7 * 24 * 3600
GROUP BY
t
),
agg_previous_5_min AS (
SELECT
max(cnt) * 1.25 AS max_previous_threshold,
min(cnt) * 0.75 AS min_previous_threshold
FROM
previous_time_buckets
)
SELECT
latest_sum,
max_previous_threshold,
min_previous_threshold
FROM
latest_5_min,
agg_previous_5_min
其中告警触发条件[19]为 latest_sum > max_previous_threshold || latest_sum < min_previous_threshold,然后配置具体的告警通知策略[20]即可及时将流量异常通知到对应负责人中。
总结
Cloud Native
相关链接:
[1] 《网络安全法》
[2] 《网络关键设备和网络安全专用产品目录》
https://www.cac.gov.cn/cms/pub/interact/downloadfile.jsp?filepath=ekdHFflbXTKqZLE43DV~bQPSxqDGVU2OsnYJ/ekB55xykeU~Hq7U5F6MkeYHikg6zJOhW2Nj6ZRZUVXUlkDEyTEjTcORl73kmCTdYOvdSjs=&fText=网络关键设备和网络安全专用产品目录
[3] 阿里云简单日志服务
https://help.aliyun.com/zh/sls/overview?spm=a2c6h.12873639.article-detail.7.6a9e66c5Z22CwK
[4] 《信息安全 技术网络安全专用产品安全技术要求》
https://std.samr.gov.cn/gb/search/gbDetailed?id=F113142E3FCC4B65E05397BE0A0A5AB9
[5] 《信息安全 技术日志分析产品安全技术要求》
[6] SLS 下日志审计应用
[7] 网络关键设备和网络安全专用产品安全认证和安全检测结果检索
https://www.cac.gov.cn/wa/netWorkCriticalEquipment.htm
[8] 采集规则
[9] 文档
[10] 日志审计(新版)
[11] 阿里云简单日志服务
https://help.aliyun.com/zh/sls/product-overview/what-is-log-service?spm=a2c6h.12873639.article-detail.15.6a9e66c5Z22CwK
[12] 数据加工
[13] 资源目录
[14] VPC 流日志
[15] 属性模式
https://help.aliyun.com/zh/sls/user-guide/manage-new-log-audit-rules?spm=a2c6h.12873639.article-detail.21.6a9e66c5Z22CwK&scm=20140722.H_2835059._.OR_help-T_cn~zh-V_1#cc632a5e04p8c
[16] RD 资源目录
[17] 可信服务
[18] 多账号配置
[19] 触发条件
https://help.aliyun.com/zh/sls/videos/trigger-conditions
[20] 通知策略
https://help.aliyun.com/zh/sls/user-guide/notification-management/