阿里云VPC内网DNS日志正式接入SLS日志审计服务

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000 次 1年
文件存储 NAS,50GB 3个月
简介: 内网DNS日志(Intranet DNS Log) 记录了指定阿里云uid下所有VPC网络内终端产生的DNS域名解析请求和应答,终端请求的这些域名既包含了配置在PrivateZone上的内网权威域名,也包含了外部公网域名。为了满足用户可以快速、简单实现多账号、多地域场景下内网DNS日志的采集、管理、中心化查询分析等需求,DNS与SLS联合开发,在SLS日志审计应用中发布一键开启内网DNS日志的功能。

背景

内网DNS日志(Intranet DNS Log) 记录了指定阿里云uid下所有VPC网络内终端产生的DNS域名解析请求和应答,终端请求的这些域名既包含了配置在PrivateZone上的内网权威域名,也包含了外部公网域名。为了满足用户可以快速、简单实现多账号、多地域场景下内网DNS日志的采集、管理、中心化查询分析等需求,DNS与SLS联合开发,在SLS日志审计应用中发布一键开启内网DNS日志的功能。


什么是内网DNS日志

内网DNS日志是指在企业私有网络(如阿里云VPC)内部署的DNS服务进行域名解析所产生的日志记录。出于合规和安全性的考虑,公司通常要求对网络日志进行存储和分析。内网DNS日志是网络日志收集中重要的一环。内网DNS日志,会自动记录企业内网终端的域名解析请求和应答记录,包括请求的地域、请求的VPC ID、源IP地址、目的IP地址(DNS服务地址)、查询的域名、记录类型、应答的结果等。通过内网DNS日志,可以清晰了解企业内网域名的使用情况,帮助企业对内网用户行为进行审计,及时发现潜在的安全问题。

内网DNS日志记录的是内网终端的域名解析请求和应答记录,请求的域名主要来自于以下4类:

  1. 配置在云解析PrivateZone上的内网权威域名。云解析 PrivateZone,是基于阿里云专有网络VPC(Virtual Private Cloud)环境的私有DNS服务。该服务允许您在一个或多个VPC中将自定义私有域名映射到IP地址。通过PrivateZone,您可以方便地使用自定义私有域名来管理VPC中的ECS主机名、SLB、OSS等阿里云资源,而这些私有域名在VPC之外将无法访问。此外,您还可以通过专线或VPN等连接方式,将您的VPC与传统数据中心相连,实现传统数据中心与阿里云VPC之间通过私有域名进行资源互相访问。
  2. 配置在飞天云平台DNS(云底座DNS)上的云产品实例域名。云底座DNS,是内置于阿里云飞天平台的底层DNS,阿里云的所有云产品提供的实例域名,都是通过云底座DNS进行解析的。
  3. 转发到外部DNS上的外部域名。外部DNS,通常指的是您数据中心的内网DNS系统,通过PrivateZone解析器的功能,将来自VPC的域名解析请求,转发到您数据中心的DNS系统进行解析,从而实现阿里云VPC的ECS主机可以访问您数据中心的应用域名。
  4. 递归到外部公网权威DNS上的公网域名。公网权威DNS,是特定公网域名(例如“example.com”)在域名注册局或者域名注册商处所设置的DNS服务器。公网权威DNS可以为根域名、顶级域名和其他各级域名提供域名权威数据的管理和解析服务。公网权威DNS服务器只对自己所拥有的域名进行域名解析,对于不是自己的域名则拒绝访问。

内网DNS日志提供的字段信息如下所示,请求日志响应日志分开存储:

(1) 请求日志示例

日志字段

说明

示例数据(仅做格式参考)

user_id

阿里云账号ID

xxxxxxxxxxxxxxxx

region_id

地域

cn-shanghai

vpc_id

VPC实例ID

vpc-xxxxxxxxxxxxxxxxxxxxx

src_addr

源IP地址

192.168.0.1

dst_addr

目的IP地址

100.100.2.136

src_port

源端口

12345

dst_port

目的端口

53

transport

传输协议

UDP

dns_msg_id

DNS信息ID

23456

dns_msg_flags

DNS信息Flags

QR

query_name

查询名称

www.example.com.

query_type

查询类型

A

rcode

返回代码

answer_rrset

回答资源记录集

authority_rrset

权威资源记录集

additional_rrset

其他资源记录集

(2) 应答日志示例

日志字段

说明

示例数据(仅做格式参考)

user_id

阿里云账号ID

xxxxxxxxxxxxxxxx

region_id

地域

cn-shanghai

vpc_id

VPC实例ID

vpc-xxxxxxxxxxxxxxxxxxxxx

src_addr

源IP地址

100.100.2.136

dst_addr

目的IP地址

192.168.0.1

src_port

源端口

53

dst_port

目的端口

12345

transport

传输协议

UDP

dns_msg_id

DNS信息ID

23456

dns_msg_flags

DNS信息Flags

QR RD AA

query_name

查询名称

www.example.com.

query_type

查询类型

A

rcode

返回代码

0

answer_rrset

回答资源记录集

Json array:

["www.example.com. 600 A 192.168.1.1", "www.example.com 600 A 192.168.1.2", ]

authority_rrset

权威资源记录集

Json array:

["example.com. 600 SOA ns1.example.com. hostmaster.example.com. 2023010101 3600 1200 3600 360" ]

additional_rrset

其他资源记录集

Json array:

["ns1.example.com. 600 A 100.100.2.136"]

什么是日志审计

日志审计服务是阿里云日志服务SLS平台下的一款应用,它在继承了日志服务SLS的全部功能以外,还有强大的多账号管理及跨地域采集阿里云各种云产品日志的功能,并且支持通过资源目录(Resource Directory)的方式有组织性地统一地管理和记录多账号下云产品实例的日志信息。日志审计具有以下功能和优势:

  • 实例的自动发现和日志的自动采集,打开云产品日志采集开关后,后续如果新增云产品实例,只要满足采集条件(如用户自定义采集策略限制)日志审计将会自动地将云产品实例对应的日志采集进来,无需用户手动操作。
  • 跨区域中心化能力,日志审计支持日志按Region进行区域化存储,更支持通过自动创建数据加工将日志存储到同一中心区域,在该中心project下进行统一查询分析,报表展示、告警配置等。
  • 日志审计支持跨账号采集云产品日志,对于多账号用户来说,可以将不同账号下的日志采集到同一中心账号下,其他账号作为该中心账号的成员账号,实现跨账号的日志汇总和管理。
  • 日志审计支持通过Terraform的方式进行采集编排和管理,具体参见使用Terraform的方式进行日志审计采集管理

日志审计一键开启

用户在SLS下开启内网DNS日志的采集,仅需要进入SLS控制台,在日志应用中找到日志审计服务,即可一键开启内网DNS日志的采集, 用户可以自定义日志存储的天数,是否开启冷热分层存储等功能。详细操作步骤参见开启日志采集功能

多账号配置

日志审计强大的跨账号采集能力可以满足用户多账号场景下将成员账号的内网DNS日志统一采集到中心账号的需求。日志审计支持两种多账号管理配置:(1)资源目录管理模式(2)自定义鉴权管理模式。详细配置步骤请参见配置多账号采集。下图是多账号配置下内网DNS日志采集的示例:

Terraform配置

Terraform是一种开源工具,其命令行接口(CLI)提供了一种简单机制,用于将配置文件部署到阿里云或其他任意支持的云上,并对其进行版本控制。通过Terraform配置日志审计下云产品日志采集的详细步骤可以参考使用Terraform配置日志审计服务

下面是一个通过Terraform配置内网DNS日志采集的配置示例:

resource "alicloud_log_audit" "dns_example" {

display_name = "tf-audit-test-dns"

aliuid       = "1480************"  //中心账号

variable_map = {

"dns_intranet_enabled" = "true", //开启内网DNS日志的采集

"dns_sync_enabled" = "true",     //开启区域化日志同步到中心project

"dns_intranet_ttl" = "3",        //日志区域化存储天数3天

"dns_sync_ttl" = "185"      //日志中心化存储天数185天

"dns_intranet_collection_policy" = "accept tag.env == \\\"test\\\"\\ndrop \\\"*\\\"" //仅开启标签健为env下标签值为prod的VPC实例下的内网DNS日志

  }  

multi_account = ["1039************"] //多账号配置

 }

采集策略

内网DNS日志可以通过采集策略进行精细化的采集管理。内网DNS日志最小采集粒度为VPC实例,可以根据VPC实例的信息进行DNS日志的采集控制。

控制台配置采集策略

用户可以在日志审计控制台进行采集策略的管理配置,下图是一个“仅开启标签健为env下标签值为prod的所有VPC实例下的内网DNS日志”的策略配置示例。通过采集策略的配置,可以帮助用户实现精细化采集管理,减少不必要的日志采集。

查询分析最佳实践

下面列举几类常见的内网DNS日志的查询分析场景,用户也可以根据实际需求自定义查询分析语句。此外,用户还可以将SQL语句查询结果添加到仪表盘、或者另存为快速查询、另存为告警等进行后续分析处理。

DNS解析结果

查询某时间段内,指定ECS,指定域名的完整DNS应答

* and query_name: "metrichub-cn-beijing.aliyun.com." and dst_addr: "10.0.xx.xx" and answer_rrset

not null  |select user_id, vpc_id, query_type, answer_rrset

DNS解析量

某时间段内,指定VPC下,不同查询域名的DNS请求量分布

* and vpc_id: vpc-2ze9dduxxxxxxsb3 |select count(*) as total_req, query_name group by  query_name


DNS解析RT

某时间段内,指定VPC,指定域名,指定queryType的DNS解析RT统计分析

* and vpc_id: vpc-2ze9dduxxxxsb3 and query_name: "metrichub-cn-beijing.aliyun.com." and query_type: A | select stddev(__time__) as RT, dns_msg_id GROUP  by dns_msg_id

总结

相关文章
|
3月前
|
弹性计算 运维 安全
优化管理与服务:操作系统控制平台的订阅功能解析
本文介绍了如何通过操作系统控制平台提升系统效率,优化资源利用。首先,通过阿里云官方平台开通服务并安装SysOM组件,体验操作系统控制平台的功能。接着,详细讲解了订阅管理功能,包括创建订阅、查看和管理ECS实例的私有YUM仓库权限。订阅私有YUM仓库能够集中管理软件包版本、提升安全性,并提供灵活的配置选项。最后总结指出,使用阿里云的订阅和私有YUM仓库功能,可以提高系统可靠性和运维效率,确保业务顺畅运行。
|
3月前
|
监控 Java 应用服务中间件
Tomcat log日志解析
理解和解析Tomcat日志文件对于诊断和解决Web应用中的问题至关重要。通过分析 `catalina.out`、`localhost.log`、`localhost_access_log.*.txt`、`manager.log`和 `host-manager.log`等日志文件,可以快速定位和解决问题,确保Tomcat服务器的稳定运行。掌握这些日志解析技巧,可以显著提高运维和开发效率。
186 13
|
3月前
|
缓存 Java 编译器
|
3月前
|
存储 JSON Go
PHP 日志系统的最佳搭档:一个 Go 写的远程日志收集服务
为了不再 SSH 上去翻日志,我写了个 Go 小脚本,用来接收远程日志。PHP 负责记录日志,Go 负责存储和展示,按天存储、支持 API 访问、可远程管理,终于能第一时间知道项目炸了。
67 10
|
3月前
|
监控 算法 安全
基于 C# 的内网行为管理软件入侵检测算法解析
当下数字化办公环境中,内网行为管理软件已成为企业维护网络安全、提高办公效率的关键工具。它宛如一位恪尽职守的网络守护者,持续监控内网中的各类活动,以确保数据安全及网络稳定。在其诸多功能实现的背后,先进的数据结构与算法发挥着至关重要的作用。本文将深入探究一种应用于内网行为管理软件的 C# 算法 —— 基于二叉搜索树的入侵检测算法,并借助具体代码例程予以解析。
66 4
|
4月前
|
存储 缓存 关系型数据库
图解MySQL【日志】——Redo Log
Redo Log(重做日志)是数据库中用于记录数据页修改的物理日志,确保事务的持久性和一致性。其主要作用包括崩溃恢复、提高性能和保证事务一致性。Redo Log 通过先写日志的方式,在内存中缓存修改操作,并在适当时候刷入磁盘,减少随机写入带来的性能损耗。WAL(Write-Ahead Logging)技术的核心思想是先将修改操作记录到日志文件中,再择机写入磁盘,从而实现高效且安全的数据持久化。Redo Log 的持久化过程涉及 Redo Log Buffer 和不同刷盘时机的控制参数(如 `innodb_flush_log_at_trx_commit`),以平衡性能与数据安全性。
150 5
图解MySQL【日志】——Redo Log
|
3月前
|
SQL 存储 关系型数据库
简单聊聊MySQL的三大日志(Redo Log、Binlog和Undo Log)各有什么区别
在MySQL数据库管理中,理解Redo Log(重做日志)、Binlog(二进制日志)和Undo Log(回滚日志)至关重要。Redo Log确保数据持久性和崩溃恢复;Binlog用于主从复制和数据恢复,记录逻辑操作;Undo Log支持事务的原子性和隔离性,实现回滚与MVCC。三者协同工作,保障事务ACID特性。文章还详细解析了日志写入流程及可能的异常情况,帮助深入理解数据库日志机制。
302 0
|
4月前
|
存储 算法 安全
基于 Go 语言的公司内网管理软件哈希表算法深度解析与研究
在数字化办公中,公司内网管理软件通过哈希表算法保障信息安全与高效管理。哈希表基于键值对存储和查找,如用户登录验证、设备信息管理和文件权限控制等场景,Go语言实现的哈希表能快速验证用户信息,提升管理效率,确保网络稳定运行。
65 0
|
4月前
|
存储 关系型数据库 MySQL
图解MySQL【日志】——Undo Log
Undo Log(回滚日志)是 MySQL 中用于实现事务原子性和一致性的关键机制。在默认的自动提交模式下,MySQL 隐式开启事务,每条增删改语句都会记录到 Undo Log 中。其主要作用包括:
156 0
|
7月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
2231 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板

热门文章

最新文章

相关产品

  • 日志服务
  • 推荐镜像

    更多
  • DNS
  • 下一篇
    oss创建bucket