一文搞懂基于 Kubescape 进行 Kubernetes 安全加固
Hello folks! 今天我们介绍一款开源容器平台安全扫描工具 - Kubescape。作为第一个用于测试 Kubernetes 集群是否遵循 NSA-CISA 和 MITREATT&CK 等多个框架安全部署规范的开源工具,Kubescape 在整容器编排生态中具有举足轻重的意义。在这篇文章中,我们将解析什么是 Kubernetes 加固以及如何基于 Kubescape 工具进行 Kubernetes 生态体系加固。
Kubernetes 加固概述
(资料图片仅供参考)
随着云原生理念的不断普及、生态体系的不断完善,越来越多的企业开始迈入云化之路,无论是基于何种缘由。然而,在实施过程中,我们中的大多数人只考虑到如何将现有的业务系统平滑迁移至 Kubernetes 平台,其中有多少人考虑过 Kubernetes 集群的安全性?
根据 RedHat 报道,“人为错误” 是 Kubernetes 安全事故的主要原因。事实上,94% 的受访者承认他们在过去一年中经历过 Kubernetes 和容器环境安全事件。更糟糕的是,超过一半(55%)的受访者在过去一年中由于安全问题最终推迟了 Kubernetes 应用程序生产开发。因此,如果我们尽可能想建设一个最好的系统,至少在人为错误层面要有所改变。
同样,针对基础设施安全,我们可能会在托管环境中实施很多限制,但这还还远远不够,因为如果存在任何人为错误或任何恶意软件/软件包或我们跳过的其他可能原因,大多数这些可能会受到损害初始设置时间。因为,就像我们正在迁移到 Kubernetes 一样,黑客也可以开始针对 Kubernetes 环境进行数据窃取、拒绝服务或加密货币挖掘等。
因此,如果我们计划将 Kubernetes 作为我们将来的业务支撑平台的未来,那么我们有责任保护 Kubernetes 集群,为此我们应该实施加强 Kubernetes 安全性的技术。
那么,什么是 Kubernetes 加固呢?通常我们可以这样理解:Kubernetes 加固主要为保护 Kubernetes 系统而采取的一系列安全执行措施,从而不被外界影响。一些通用性的安全建议如下:
1、尽可能扫描 Container 和 Pod 以查找漏洞或配置错误
2、以尽可能少的权限运行 Container 和 Pod
3、使用网络分离来控制危害可能造成的损害程度
4、使用防火墙技术来限制不必要的网络连接,并采用加密机制
5、使用强身份验证和授权来限制用户和管理员访问以及限制攻击面
6、捕获和监控审计日志,以便管理员可以收到潜在恶意活动的警报
7、定期审查所有 Kubernetes 设置并基于漏洞扫描来确保平台处于安全状态以及进行必要的安全补丁措施。
基于如上所述的通用性建议在某些场景中可能对我们的业务运行有所帮助。例如,我们都知道我们不应该以 root 用户身份运行应用程序,但我们可以看到,许多 Kubernetes 容器服务仍以 root 用户身份运行,并且应用程序亦是如此,即便它们不需要特权执行。即使有警告,开发人员也会构建以 root 身份执行的容器应用程序。为什么?因为这很容易。同时它也很危险。
当然,即使是 Kubernetes 也有其自身的安全问题。因此,我们所能做的便是基于当前的业务现状,遵守网络安全技术报告中的建议,以确保应用程序的安全,并通过补丁、升级和更新等相关措施使得系统保持最新状态,以降低风险。
Kubescape 概述
作为一个 K8s 开源工具,Kubescape 能够提供 Kubernetes 单一管理平台,包括风险分析、安全合规、RBAC 可视化工具和图像漏洞扫描。Kubescape 工具能够扫描 K8s 集群、YAML 文件和 HELM 图表,根据多个框架(如 NSA-CISA、MITRE ATT & CK®)检测错误配置、软件漏洞和早期 RBAC(基于角色的访问控制)违规 CI/CD 管道,即时计算风险评分并显示随时间变化的风险趋势。
基于其易用的 CLI 界面、灵活的输出格式和自动扫描功能,Kubescape 已成为开发人员中增长最快的 Kubernetes 工具之一,为 Kubernetes 用户和管理员节省了宝贵的时间、精力和资源。Kubescape 与其他 DevOps 工具本地集成,包括 Jenkins、CircleCI、Github 工作流、Prometheus 和 Slack,并支持多云 K8s 部署,如 EKS、GKE 和 AKS。
总而言之,Kubescape 能够基于非根容器、特权容器、主机网络访问、匿名请求等多方面属性进 Kubernetes 集群环境的健康扫描,检测错误配置和软件漏洞,即时计算风险评分并显示风险随时间变化的趋势。扫描结果以命令行表格或 JSON 格式显示,显示可能被利用的不同错误配置区域,从而帮助工程师评估 Kubernetes 环境的安全状况。
基于上述所述,Kubescape 功能特性主要体现在 4 个层面:Kubernetes 配置扫描、Kubernetes 容器漏洞扫描、Kubernetes RBAC 简化以及在 CI/CD 工作流中运行等。具体内容可参考如下思维导图:
Kubescape 基本原理
Kubescape 基于 OPA 引擎 和 ARMO 的框架机制。它从 API Server 检索 Kubernetes 对象,并通过运行一组由 ARMO 开发的 Rego Snippets 片段规则来对所流经的对象信息进行扫描。默认情况下,扫描输出结果以“控制台模型”的方式进行打印展示,但也可以以 JSON 或 Junit 格式检索它们以进行进一步处理。
Kubescape 工作原理如下所示:
基于上述架构图所述,OPA 作为一个通用策略引擎,可在我们所构建的 Kubernetes 集群中实施策略编排。基于 OPA ,我们可以计算出: 用户 X 是否能够可以对资源 Z 做 Y 操作? 应该允许查看哪些记录?等。
而作为一种规则,Rego 是 OPA 开发的一种声明性策略语言。基于此,Kubescape 从 API Server 中检索有关 K8s 对象的信息,然后使用 OPA 对其进行扫描。
Kubescape 基于控件模型,在生态系统中,NSA/MITRE/ArmoBest/DevOpsBest指南被分解成小的策略集(可称之为控制)。每个控件都有自己的一组规则,用于扫描集群或管道。
关于 ARMO 的 ArmoBest 框架,当发现最新漏洞时,ARMO 会不断升级此框架。每当行业中发生任何最新的安全漏洞,Armo 都会尝试尽快对其库进行更新。
Kubescape 安装部署
关于 Kubescape 工具的安装较为简单,Kubescape 支持在 Windows、macOS 以及 Linux 等平台上部署使用。
在部署 Kubescape 工具之前,我们需要部署一个 Kubernetes Cluster 并使其处于运行状态。如下所示:
[leonli@Leon kubescape ] % kubectl get po -A -o wideNAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATESkube-system coredns-64897985d-v9jcf 1/1 Running 0 2d17h 172.17.0.2 k8s-cluster ……kubernetes-dashboard dashboard-metrics-scraper-58549894f-ns2ld 1/1 Running 0 2d17h 172.17.0.11 k8s-cluster ……monitoring prometheus-k8s-0 2/2 Running 0 2d17h 172.17.0.9 k8s-cluster monitoring prometheus-operator-6dc9f66cb7-h7mrp 2/2 Running 0 2d17h 172.17.0.7 k8s-cluster traefik-v2 traefik-767667c75c-kwjn4 1/1 Running 0 2d13h 172.17.0.12 k8s-cluster 我这里以 Linux、macOS 操作系统为例,简要介绍一下 Kubescape 安装部署过程,具体如下。
Linux 安装 Kubescape
这里主要基于 GitHub 下载的 Kubescape CLI 二进制文件进行安装,部署,当然,也可通过命令行一次性安装,具体操作如下:
[leonli@Leon kubescape ] % wget https://github.com/kubescape/kubescape/releases/download/v2.0.176/kubescape-macos-latest拉取到本地后,然后进行执行即可,具体暂不在本文中赘述。
macOS 安装 Kubescape
基于 macOS 安装 Kubescape 也有多种不同的方式,其简要的安装步骤主要分为如下 2 步:
1、添加 Kubescape GitHub 存储库:
[leonli@Leon kubescape ] % brew tap kubescape/tap2、执行 Kubescape 安装
[leonli@Leon kubescape ] % brew install kubescape-cli[leonli@Leon kubescape ] % kubescape versionYour current version is: v2.0.176此时,可借助 -h 命令标志来获取有关某个命令的额外信息,如下所示:
[leonli@Leon kubescape ] % kubescape -h Kubescape is a tool for testing Kubernetes security posture. Docs: https://hub.armosec.io/docsUsage: kubescape [command]Examples: # Scan command kubescape scan --submit # List supported frameworks kubescape list frameworks # Download artifacts (air-gapped environment support) kubescape download artifacts # View cached configurations kubescape config viewAvailable Commands: completion Generate autocompletion script config Handle cached configurations delete Delete configurations in Kubescape SaaS version download Download control,framework,artifacts,controls-inputs,exceptions help Help about any command list List frameworks/controls will list the supported frameworks and controls scan Scan the current running cluster or yaml files submit Submit an object to the Kubescape SaaS version update Update your version version Get current versionFlags: --cache-dir string Cache directory [$KS_CACHE_DIR] (default "/Users/leonli/.kubescape") --disable-color Disable Color output for logging --enable-color Force enable Color output for logging -h, --help help for kubescape -l, --logger string Logger level. Supported: debug/info/success/warning/error/fatal [$KS_LOGGER] (default "info")Use "kubescape [command] --help" for more information about a command.Kubescape 实践
Kubescape scan 命令扫描集群中可用每个 Kubernetes 对象和集群上安装的 Helm Charts。它具有以下标志:
1、--submit:此标志将扫描结果发送到 Armo 管理门户
2、--enable-host-scan:此标志部署了ARMOK K8s 主机传感器 DaemonSet,该DaemonSet 从主机收集有关集群的有价值且无限的信息
3、--verbose:此标志显示扫描的所有资源
例如,现在我们扫描下所部署的 K8s Cluster,操作命令如下所示:
[leonli@Leon kubescape ] % kubescape scan --submit --enable-host-scan --format-version v2 --verbose[info] Kubescape scanner starting[info] Installing host scanner……[success] Done scanning. Cluster: k8s-cluster^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^################################################################################ApiVersion: Kind: ServiceAccountName: prometheus-k8sNamespace: monitoringControls: 14 (Failed: 1, Excluded: 0)+----------+--------------------------------+------------------------------------+-----------------------+| SEVERITY | CONTROL NAME | DOCS | ASSISTANT REMEDIATION |+----------+--------------------------------+------------------------------------+-----------------------+| Medium | Access container service | https://hub.armosec.io/docs/c-0053 | || | account | | |+----------+--------------------------------+------------------------------------+-----------------------+……ApiVersion: v1Kind: ServiceAccountName: defaultNamespace: traefik-v2Controls: 4 (Failed: 3, Excluded: 0)+----------+--------------------------------+---------------------------------------+------------------------------------+| SEVERITY | CONTROL NAME | DOCS | ASSISTANT REMEDIATION |+----------+--------------------------------+---------------------------------------+------------------------------------+| Medium | Automatic mapping of service | https://hub.armosec.io/docs/c-0034 | automountServiceAccountToken=false || | account | | |+ +--------------------------------+---------------------------------------+ +| | Ensure that Service Account | https://hub.armosec.io/docs/cis-5-1-6 | || | Tokens are only mounted where | | || | necessary | | |+ +--------------------------------+---------------------------------------+ +| | Ensure that default service | https://hub.armosec.io/docs/cis-5-1-5 | || | accounts are not actively used | | |+----------+--------------------------------+---------------------------------------+------------------------------------+如上扫描命令将输出集群中每个对象的所有安全分析。由于提供了 “--submit” 提交参数选项,结果将会推送到 Armosec 门户。因此,可以通过登录 Dashboard 查看详细信息,如下所示:
基于上述所展示,在 Dashboard 页面,我们可以看到当前 Kubernetes 集群所承载的所有资源的健康状态。除此之外,我们还可以基于 RBAC 可视化检查谁有权访问哪些资源以及做了什么操作等。例如,如果我们想检查谁可以执行到一个 Pod 中,那么我们可以基于它运行一个查询,Kubescape 会以一种很好的可视化方式向显示结果。我们还可以观测哪些用户可以访问 Kubernetes 仪表板等。
扫描结果分析
我们以 Namespace: monitoring 的 prometheus-adapter 为例,针对其对象的风险分析,具体如下所示:
################################################################################ApiVersion: apps/v1Kind: DeploymentName: prometheus-adapterNamespace: monitoringControls: 35 (Failed: 12, Excluded: 0)+----------+----------------------------------------+---------------------------------------+-------------------------------------------------------------------------------------+| SEVERITY | CONTROL NAME | DOCS | ASSISTANT REMEDIATION |+----------+----------------------------------------+---------------------------------------+-------------------------------------------------------------------------------------+| High | Apply Security Context to Your | https://hub.armosec.io/docs/cis-5-7-3 | spec.template.spec.containers[0].securityContext.readOnlyRootFilesystem=true || | Pods and Containers | | spec.template.spec.containers[0].securityContext.runAsNonRoot=true || | | | spec.template.spec.containers[0].securityContext.allowPrivilegeEscalation=false || | | | spec.template.spec.containers[0].securityContext.capabilities.drop=NET_RAW || | | | spec.template.spec.containers[0].securityContext.seLinuxOptions=YOUR_VALUE || | | | spec.template.spec.containers[0].securityContext.seccompProfile=YOUR_VALUE |+----------+----------------------------------------+---------------------------------------+-------------------------------------------------------------------------------------+| Medium | Allow privilege escalation | https://hub.armosec.io/docs/c-0016 | spec.template.spec.containers[0].securityContext.allowPrivilegeEscalation=false |+ +----------------------------------------+---------------------------------------+-------------------------------------------------------------------------------------+| | …… | | spec.template.spec.containers[0].securityContext.seLinuxOptions=YOUR_VALUE || | | | spec.template.spec.containers[0].securityContext.capabilities.drop[0]=YOUR_VALUE |+ +----------------------------------------+---------------------------------------+-------------------------------------------------------------------------------------+| | Non-root containers | https://hub.armosec.io/docs/c-0013 | spec.template.spec.containers[0].securityContext.runAsNonRoot=true || | | | spec.template.spec.containers[0].securityContext.allowPrivilegeEscalation=false |+----------+----------------------------------------+---------------------------------------+-------------------------------------------------------------------------------------+| Low | Immutable container filesystem | https://hub.armosec.io/docs/c-0017 | spec.template.spec.containers[0].securityContext.readOnlyRootFilesystem=true |+ +----------------------------------------+---------------------------------------+-------------------------------------------------------------------------------------+| | Label usage for resources | https://hub.armosec.io/docs/c-0076 | metadata.labels=YOUR_VALUE || | | | spec.template.metadata.labels=YOUR_VALUE |+----------+----------------------------------------+---------------------------------------+-------------------------------------------------------------------------------------+我们可以看到,prometheus-adapter 扫描共涉及 35 个控件,其结果威胁高、中及低都有涉及,依据 Kubescape 给出的建议进行优先级修复。
基于 Kubescape 风险分析具有以下字段:
# 威胁严重性:该字段衡量威胁的严重程度。威胁分为三个级别,即:高、中和低。
# 控件名称:此字段说明正在分析的组件或方面的名称。
# 文档:此字段包含将您重定向到包含有关扫描期间检测到的风险和威胁信息的页面的链接。
# Assistant remediation:此字段包含可以对 YAML 文件或集群进行的更改以消除威胁。
被标记为“严重”/“高”的漏洞,通常基于实际的业务场景建议需要立即修复。在修复过程中可参考文档和协助修复列中的信息来帮助我们修复检测到的漏洞。
常用扫描技巧
1、指定 Yaml 文件扫描
基于不同的场景需求,面对较多的文件时,我们可能需要会针对性的进行文件扫描,从而减少不必要的数据输出。使用 Kubescape 不仅仅针对容器集群的全局性扫描,而且也可以扫描单个文件,具体命令如下所示:
[leonli@Leon kubescape ] % kubescape scan prometheusAdapter-deployment.yaml 2、文件导出
通常,如果使用 “--verbose” 参数标志,它可能会显示更多的行,终端可能会清除最上面的行,或者 CI 构建日志可能看起来很难全部阅读。为了排序,我们可以将结果输出为 PDF 格式,这样你就可以清楚地阅读它或 CI/CD 过程的一部分,你可以存储在一些公共区域,如 Artifactory Repo 以供安全审查。
可以通过添加 ”--format pdf--output filename.pdf“ 扫描命令来实现扫描结果存档于 PDF 格式 文件中,如下所示,它支持所有扫描命令。
[leonli@Leon kubescape ] % kubescape scan --format pdf --output kubescape_results.pdf基于上述命令行操作,扫描结果以 .pdf 格式文件将保存在当前集群目录或扫描集群时当前使用的目录中。
3、Git repository 扫描
除上述所述之外,Kubescape 甚至支持从 Git 存储库扫描清单,可以使用以下命令扫描存储库,这将克隆存储库并扫描清单并提交结果。
[leonli@Leon kubescape ] % kubescape scan https://github.com/foxutech/kubernetes针对“威胁”的可观测性是安全分析中的一个关键组成部分,因为它会让我们时刻保持警惕并告知 Kubernetes 集群中可能被黑客利用的所有风险资源。因此,进行实时的容器集群和 YAML 文件扫描是启动安全审计会话的最佳方式。
因此处内容涉及面较广,由于时间关系,本文解析到此为止,希望对大家有用。关于 Kubescape 更多需要了解的信息,欢迎大家交流、关注!
Adiós !
- EOF -
标签: 漏洞扫描 网络安全 Kubernetes
推荐文章
- 百科词典 歼31是垂直起降的吗
- 智库知识 报考机械工程师的条件
- 百科问答 福尔摩斯博物馆具体地址是什么
- 知识课堂 石岩湖温泉度假村好玩吗
- 字词小课堂 越南的胡志明市和西贡是一个市吗
- 网络百科全书 广州星海音乐学院的地址邮编
- 知识百科 三国演义司马懿
- 知识 突厥人是白种人还是黄种人
- 文化 一克等于几毫克
- 绥化全域低风险!黑龙江绥化北林区一地调整为低风险
- 走访抗美援朝纪念馆:长津湖的寒冷,与战斗一样残酷
- 节后第一天北京白天晴或多云利于出行 夜间起秋雨或再上线
- 走近网瘾少年们:他们沉迷网络的病根何在?
- “双减”后首个长假:亲子游、研学游需求集中释放
- 获2021年诺奖的蛋白,结构由中国学者率先解析
- 他从一窍不通的“门外汉”,到重装空投“兵专家”
- 升旗、巡岛、护航标、写日志,他们一生守护一座岛
- 中国故事丨“沉浸式”盘点今年的教育好声音!
- 农业农村部:确保秋粮丰收到手、明年夏季粮油播种
- “双减”出台两个月,组合拳如何直击减负难点?
- 《山海情》里“凌教授”的巨菌草丰收啦
- 且看新疆展新颜
- 天山脚下,触摸丝路发展新脉动
- 160万骑手疑似“被个体户”?平台不能当甩手掌柜
- 网游新政下,未成年人防沉迷的“主战场”在哪?
- “辱华车贴”商家及客服被行拘,处罚要不放过每一环
- 沙害是自然界的恶魔,而他是荒沙碱滩的征服者
- 面对婚姻,“互联网世代”的年轻人在忧虑什么?
- IP类城市缘何吸引力强?玩法创新带动游客年轻化
- 国庆主题花坛持续展摆至重阳节
- 都市小资还是潮流乐享?花草茶市场呈爆发性增长
- 从1.3万元降到700元,起诉书揭秘心脏支架“玄机”
- 北京国庆7天接待游客超861万人次 冬奥线路受青睐
- 陈毅元帅长子忆父亲叮嘱:你们自己学习要好,就可以做很多事儿
- 报告显示:这个国庆假期,粤川浙桂赣旅游热度最高
- 中国科技人才大数据:广东总量第一,“北上”这类人才多
- 嘉陵江出现有记录以来最强秋汛
- 全国模范法官周淑琴:为乡村群众点燃法治明灯
- 线上教学模式被盯上,网络付费刷课形成灰色产业链
- 云南保山:170公里边境线,4000余人日夜值守
- 警方查处故宫周边各类违法人员12人
- 农业农村部:确保秋粮丰收到手、明年夏季粮油播种
- 受南海热带低压影响 海南海口三港预计停运将持续到10日白天
- 多地网友投诉遭遇旅游消费骗局,呼吁有关部门严查乱象
- 神经科学“罗塞塔石碑”来了:迄今为止最完整的大脑细胞图谱
- 汾河新绛段发生决口
- 陕西支援14省份采暖季保供用煤3900万吨
- 这场红色故事“云比拼”,穿越时空为我们指引方向
- 受琼州海峡封航影响 10月7日、8日进出海南岛旅客列车停运
- 辽宁省工信厅发布10月8日电力缺口橙色预警
- 广州10月8日至20日对所有从省外来(返)穗人员实施核酸检测
- 假期怎么过得这么快?国庆5.15亿人次出游,你咋过的?
- 国庆假期全国道路交通总体安全平稳有序
- 哈尔滨市南岗区爱达88小区将调整为低风险地区
- 新疆霍尔果斯市2例无症状感染者新冠病毒均为德尔塔变异株
- 百闻不如一见——北京大学留学生参访新疆
- 看,生机勃勃的中国
- 国庆假期中国预计发送旅客4.03亿人次
- 新疆兵团可克达拉市:195名密接者已全部隔离医学观察
- 山西平遥消防4天29次救援:拖着腿走路也要完成任务
- 国庆假期北京接待游客861.1万人次
- 冷空气自西向东影响中国大部地区 气温将下降4℃至6℃
- 新疆哈密市巴里坤县发生4.3级地震 震源深度9千米
- 国庆假期中国国内旅游出游5.15亿人次
- 公安部交管局:国庆假期日均出动警力18万余人次,5位交警辅警牺牲
- 受南海热带低压影响广东将暂别高温天气
- “数说”杭州无障碍改造:触摸城市“爱的厚度”
- 新疆霍尔果斯无症状感染者新冠病毒属德尔塔变异株 未发现高度同源的基因组序列
- 新疆伊犁州:妥善做好滞留旅客安置返回工作
- 国庆假期广西累计接待游客逾3611万人次 实现旅游消费272.41亿元
- 2021年MAGIC3上海市青少年三对三超级篮球赛落幕
- 新疆兵团第四师可克达拉市1名无症状感染者为餐饮从业人员
- 哥伦比亚遇上广州:洋茶人“云上”喫茶 传播中国茶“味道”
- 厦门同安区四区域调整为低风险 全市无中高风险地区
- 直径2米“面气球”亮相 山西首届“寿阳味道”美食大赛启幕
- 世界第一埋深高速公路隧道大峡谷隧道出口端斜井掘进完成
- 浙南沿海村村发展有妙招 搭乘共富快车打造“海上花园”
- 新疆霍尔果斯两例无症状感染者新冠病毒均属德尔塔变异株
- 南沙港铁路国庆假期不停工 力争今年年底开通
- 添加陌生人为好友 内蒙古两女子被骗126万
- 中国国庆假期出行热:数字改变“关键小事”
- 水能载物亦能“生金” 浙江遂昌山村以水为媒奔共富
- 铁路人国庆雨中巡查排险记:一身雨衣、一把铁锹保安全畅通
- 铁路迎返程高峰 西安局集团公司加开79趟高铁列车
- 受热带低压影响 琼州海峡北岸等待过海车辆排长龙
- 哈尔滨市学校有序恢复线下教学
- 哈尔滨一地风险等级调整为低风险
- 从进“培训班”到看《长津湖》
- 安徽黄山国庆假期迎客12万余人 旅游市场稳步复苏
- 山西解除持续近90小时的暴雨四级应急响应
- 科学拦峰错峰削峰 嘉陵江洪水过境重庆中心城区“有惊无险”
- 粤高速大湾区路段假期车流集中 跨珠江口通道尤甚
- 千年街区“非遗”风催热国庆假期本地游
- “颜值担当”里的中国,映照“万物和谐”新气象
X 关闭
资讯
- 一文搞懂基于 Kubescape 进行 Kubernetes 安全加固
- 求倚天同人耽美小说:当前播报
- 「延川检察」校园周边食品安全“回头看”护航青少年健康成长
- 十大热门木鱼石茶具排行榜_精选10款木鱼石茶具品牌产品
- 每日快讯!“美国本土领空一片混乱”!美主持人谴责:可能是拜登政府把自己的气球打下来了!
- 天天时讯:车牌号测吉凶_17178
- 我有旨酒_我有旨酒的下一句是什么
- 尼泊尔国旗/国徽/国歌/国花/国鸟/国兽_天天新消息
- 世界看热讯:今日最新快报:太阳主场介绍杜兰特全场掌声雷动 杜兰特恢复不错布克开始憧憬再度联手
- 世界速递!农行银利多强制销户是什么意思
- 天天看点:墨尔本的翡翠是什么意思 墨尔本的翡翠解释
- 百万医疗险一年能报销几次-世界观察
X 关闭

(资料图片仅供参考)