升级了hadoop版本到3.3.6,未配置任何鉴权,默认端口9870 8088开放到了公网,结果没几天就被挖矿攻击了。通过开放的端口提交了很多非法任务到yarn上,并成功在服务器执行了恶意脚本。这次是真实真切的感受了,网络环境的险恶,以前仅仅是别人的案例来提高自己的安全意识,这次完完全全是自己的真实案例,让自己对网络完全有的更深切的认知。
在研究了hadoop官方提供的安全方案后,发现是懵的,要么配置超级复杂,要么配置很鸡肋。hadoop在安全方面感觉一直没咋重视,都是要依靠第三方的。但hadoop又是企业级的大数据仓库的底座,考虑到安全问题,很多都是将hadoop置于内网环境使用。但是自己有公网使用的需求。
本文记录了simple认证的方式,但是比较鸡肋,基本等于没啥大用,转而又使用第三方的nginx 代理来增加其认证安全的能力。
生成密码
//hadoop 安装目录下创建 secret目录,存放密码
mkdir -p /home/test/hadoop-3.2.2/secret
//创建密码文件
touch hadoop-http-auth-signature-secret
//设置密码test, 内容必须带引号 例如: "test"
vi touch hadoop-http-auth-signature-secret
修改配置
编辑core-site.xml文件,增加如下配置:
<!-- Authentication for Hadoop HTTP web-consoles -->
<property><name>hadoop.http.filter.initial