修复方法也就是按绿盟扫描器提供的方法:
一、对于Apache Hadoop YARN 资源管理器 REST API未授权访问漏洞【原理扫描】:
方法1.在防火墙上设置“安全组”访问控制策略,将 HadoopWebUI(8088) 等相关端口限制可信任的 IP 地址才能访问。
方法22.将默认认证方法改为KerBeros认证。
但我目前遇到过的管理员没有愿意将hadoop采用KerBeros认证的,看了一下KerBeros的认证机制以及大佬们的总结,明白了大家不愿意使用KerBeros认证的原因:
① Hadoop集群节点数多,配置和维护一个使用kerberos系统高性能,稳定的hadoop集群难度非常高。
② Hadoop中的hdfs是一个文件系统,用户的认证和授权比较复杂,难度不低于linux系统的用户和组管理。加上kerberos后,用户和用户组的管理更加复杂,通常一个合适的用户不能访问hdfs上的文件。
③ Hadoop加上kerberos后,通常原来的用户和文件,可能都失效导致数据流失。尤其是一些根目录,往往需要格式化整个系统才能使用。增加一个新用户也是比较难的。因为要考虑各个节点间的访问权限。
总之就是操作起来太过复杂,不方便管理,限制端口访问相比之下操作相当简单了。
二、对于Hadoop相关未授权访问漏洞:
方法1.在防火墙限制可信任IP才可访问50070端口。
方法2.开启身份验证 ,防止未经授权用户访问。
① 开启服务级认证授权,需要在core-site.xml文件中开启参数hadoop.security.authorization,将其设置为true,并且重启hadoop。
<property> <name>hadoop.security.authorization</name> <value>true</value> </property>