1.Hadoop Yarn REST API未授权漏洞利用挖矿分析
2.Hadoop--HDFS的源码API环境搭建、在IDEA里对HDFS简单操作
3.企业数仓实战案例- API数据如何接入数仓?
4.Hadoop YARN REST API 未授权访问导致远程代码执行漏洞: CVE-2021-33036/CNVD-2022-51055
Hadoop Yarn REST API未授权漏洞利用挖矿分析
背景情况:在5月5日,源码腾讯云安全警报指出,源码攻击者通过利用Hadoop Yarn资源管理系统REST API的源码未授权漏洞,对服务器进行攻击。源码攻击者可以在未授权的源码网页自动回复客服源码情况下远程执行代码。在预警前后,源码我们捕获了多个利用此漏洞进行挖矿的源码案例。以下是源码对其中一个案例的详细分析,包括安全建议和解决方案。源码
漏洞说明:Hadoop是源码一个分布式系统基础架构,其中YARN作为资源统一管理平台,源码用于集群资源的源码统一管理和调度。YARN允许用户通过REST API直接进行应用创建、源码任务提交等操作。源码若配置不当,REST API可能会开放至公网,导致未授权访问。黑客利用此漏洞,通过直接向API提交执行命令,实现远程命令执行,从而进行挖矿活动。
攻击步骤:黑客首先通过curl命令向服务器申请新应用,然后构造并提交包含挖矿命令的json文件。执行命令后,挖矿程序会在目标目录生成相应文件。怎么关联api源码
入侵分析:案例中,服务器部署了Hadoop YARN并存在未授权访问问题。黑客利用开放的REST API,下载执行.sh脚本并进一步下载启动挖矿程序,实现挖矿目的。脚本核心功能包括清理挖矿进程、文件,下载挖矿程序、配置文件,增加挖矿任务到crontab,以及通过多种方式确保挖矿程序的下载与执行。
安全建议:清理病毒,包括查看进程、检查目录、删除异常文件、清理crontab任务。安全加固措施包括限制端口访问、避免接口暴露于公网、升级Hadoop版本、启用Kerberos认证。安装云镜并开启专业版,及时检测和修复漏洞,或在中马后收到提醒进行止损。
IOCs:包括钱包地址、MD5值、新年祝福系统源码矿池地址及相关URL。这些信息对于识别和防御类似攻击至关重要。
Hadoop--HDFS的API环境搭建、在IDEA里对HDFS简单操作
Hadoop HDFS API环境搭建与IDEA操作指南
在Windows系统中,首先安装Hadoop。安装完成后,可以利用Maven将其与Hadoop集成,便于管理和操作。在项目的resources目录中,创建一个名为"log4j.properties"的配置文件,以配置日志相关设置。
接着,在Java项目中,创建一个名为"hdfs"的包,然后在其中创建一个类。这个类将用于执行对HDFS的基本操作,例如创建目录。
在程序执行过程中,我们首先通过API在HDFS上创建了一个新的目录,并成功实现了。然而,注意到代码中存在大量重复的客户端连接获取和资源关闭操作。为了解决这个问题,我们可以对这些操作进行封装。
通过在初始化连接的dnf java秒杀源码方法前添加@Before注解,确保它会在每个@Test方法执行前自动执行。同时,将关闭连接的方法前加上@After注解,使之在每个@Test方法执行完毕后自动执行。这样,我们实现了代码的复用和资源管理的简洁性。
经过封装后,程序的执行结果保持不变,成功创建了目录。这种优化使得代码更加模块化和易于维护。
企业数仓实战案例- API数据如何接入数仓?
在一个物联网大数据项目中,客户提出了一个需求:需要将各个第三方数据接入到数仓中。然而,由于安全或其他因素的考虑,客户不提供数据库层面的对接,而是通过API进行数据查询。为了实现这个需求,我们需要编写代码来实现数据进入数仓。整体思路如下: 首先,我们需要了解第三方数据的API接口,包括请求方式、参数、返回数据格式等。然后,我们可以使用Python编程语言和相关库(如requests、分形画图源码json等)来调用这些API接口,获取数据。 接下来,我们需要对获取到的数据进行处理,将其转换为数仓所需的数据格式。这可能涉及到数据清洗、转换、整合等操作。在这个过程中,我们可以使用Python的一些数据处理库,如pandas、numpy等。 处理完数据后,我们需要将数据存储到数仓中。这里我们可以选择使用Hadoop、Spark等大数据处理框架,也可以选择使用其他云服务商提供的数仓服务。在这里,我们采用的是直接操作HDFS文件,直接将数据后的数据以文件的方式导入到HIVE外表中,信息入库方案。 最后,为了保证数据的准确性和完整性,我们需要对整个数据接入过程进行监控和优化。这可以通过设置定时任务、日志记录、异常处理等方式来实现。 在整个过程中,数据以HDFS文件导入到HIVE的过程,就是我们实际工作中操作HDFS的案例。 以下为实际需求文档说明,主要是API的出入参说明: 当拿到如上参数后,我们需要对具体的API进行测试验证。这时候就需要依赖一些方便的工具,对API进行测试,截图使用的是apifox进行的演示截图,同类软件还有postman。 扩展阅读: Postman: 描述: Postman是一款流行的API开发环境,它允许用户通过简化的界面创建HTTP请求,从而测试和开发Web APIs。功能: 支持多种请求类型(如GET、POST、PUT、DELETE等),参数管理,预设置和脚本编写,响应结果查看和美化,集成测试脚本,以及API文档自动生成(使用Swagger或OpenAPI规范)等。使用场景: 适用于API的快速测试、开发、调试以及团队协作。平台: 主要提供桌面应用版本,同时有网页版和浏览器插件供选择。定价: 提供免费版本和付费的高级功能(如团队协作、私有网络集成等)。 APIfox: 描述: APIfox是一个综合性的API工具箱,不仅包含API测试的功能,还融合了API的设计、管理等多个方面的功能。功能: 支持模拟各种HTTP请求,自动化脚本测试,API文档设计和管理,API性能监控,团队合作等功能。使用场景: 适合需要全面管理API生命周期的场景,包括设计、开发、测试、调试和发布等阶段。平台: 主要提供桌面应用版本。定价: 通常也提供免费版本和更全面的付费版本。 当确认API数据无误,可访问后,接下来就可以开始编码过程了。此处,笔者采用的是Python进行数据的获取与处理。其中最核心原理,就是采用python的request发送接收数据。代码案例如下: 其中有几项操作需要说明:采用的是post方式进行发送。
使用python 的try方式,如果出现问题,抛异常,程序继续运行。
通过以上操作后,就可以得到我们的案例数据了。一段十分优美的json语句。 接下来,就需要将json语句转为hive能识别到的文件了。这里就需要额外提两个知识点。具体操作如下: 创建hive表:根据获取到的数据信息以及需求案例中的API描述,可以创建对应的hive表结构。案例如下:建立的是test库,以‘|’ 作为列分割符,以‘ ’回车换行作为行分割符,并且采用text的方式存储。具体对应的存储格式案例如下: 数据格式处理:那么只要将以上的json数据处理成这类格式就可以了。直接上案例代码:此处主要使用的方法有:将json转为python的dict格式;快捷链接方式的书写,将列之间用’|’ 链接;行结尾,以‘ ’链接。最后得到的数据案例如下: 数据上传:数据完成后,就是操作上传到hdfs了,需要使用到python的文件写入模块和hdfs的数据操作模块。案例代码如下:此处,主要采用了两个调用函数的方式来实现。将文件写入和hdfs操作进行了隔离,来进行多模块的调用。 任务是完成了,但是感觉还是不完美,因为,项目没上线啊。不可能在你的开发电脑上天天运行这个程序啊。还需要一个上线流程。 这里,我们采用dolphinscheduler作为整体的调度工具来进行项目的上线操作。我们预创建了一个etl的project来进行各个数据的录入过程。并且在项目中创建一个工作流。工作流中,采用python模块进行调度,其中具体内容,在代码模块中copy我们开发好的代码。然后保存上线,并配置一个定时调度管理。该功能就完成了。记得,自己运行下,查看下日志,十分能正常运行哦。 到此,所有任务完成。 在现实工作环境中,直接操作HDFS的情况较为罕见。当数据量较小时,通过API进行数据接入是一种可行的方案。由于每个API的数据获取方式和格式各不相同,并且缺乏像DataX或Sqoop这样的ETL工具支持,因此往往需要编写代码来手动处理数据录入。然而,在实际工作中,常见的做法是通过配置ETL工具来直接实现数据库的对接,无需编写代码,同时也避免了直接对HDFS的操作——尽管在底层,这些技术的运作原理是相似的。Hadoop YARN REST API 未授权访问导致远程代码执行漏洞: CVE--/CNVD--
最近某客户的信息安全部又发现了一个大数据Hadoop的安全漏洞,以下是关于该漏洞的分析及解决方案。
2. 漏洞信息
3. 漏洞正式解决-升级Hadoop版本
4. 漏洞缓解-不升级Hadoop版本
如果暂时不能升级Hadoop版本,可以采取以下措施临时缓解问题:
5. CVE相关信息与参考链接
2024-12-22 15:31
2024-12-22 15:24
2024-12-22 14:51
2024-12-22 14:38
2024-12-22 14:10
2024-12-22 13:05