Flink on Yarn 任务启动后,暴露端口无授权访问漏洞,用iptables批量解决
2026/6/5 4:50:57 网站建设 项目流程
  • 需求:hadoop集群,运行flink on yarn多个任务,被扫描出多个flink任务的未授权访问漏洞,主要是org.apache.flink.yarn.entrypoint.YarnJobClusterEntrypoint相关客户端进程

解决问题,暂用iptables 拦截访问

  • 源漏洞主机:获取漏洞端口并自动添加防火墙规则(设置仅白名单访问)
exportPATH=/sbin:/bin:/usr/sbin:/usr/bindate"+%F %T"#IP=$(hostname -I)#IP2=$(ip addr | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -v 127.0.0.1)#-o:仅输出匹配的部分(即 IP 地址)。#-P:启用 Perl 兼容正则表达式(PCRE),支持零宽断言等高级语法。#通过 零宽断言​ (?<=inet\s)匹配 inet后跟一个空白字符的位置(但不包含 inet和空格本身)# 获取ip地址,自动拼接请求url--> http://ip:port/configIP2=$(hostname-I|awk'{print $1}')ports=$(ps-ef|greporg.apache.flink.yarn.entrypoint.YarnJobClusterEntrypoint|awk'{print "ss -nltp |grep " $2}'|bash\|sed's@*:@@'|awk'{print "echo "$4 "; curl -s http://IP:"$4"/config?wt=json; echo IP"}'\|sed"s@IP@$IP2@g"|bash|grepflink-revision-B1\|grep-vflink-revision|grep-v'\-'|awk'{printf $1 " "}')#添加防火墙doaddrule(){port=$1flag=$(iptables-nL|grepDROP|grep$port)ips=(192.168.56.12192.168.56.13)if[-z"$flag"];thenecho"$portnew, add iptables rule !"#仅允许hadoop集群 + app程序 内部访问foripin"${ips[@]}";doechoiptables-AINPUT-ptcp--dport$port-s$ip-jACCEPT iptables-AINPUT-ptcp--dport$port-s$ip-jACCEPTdoneechoiptables-AINPUT-ptcp--dport$port-jDROP iptables-AINPUT-ptcp--dport$port-jDROPfi}#移除防火墙规则dodelrule(){port=$1flag=$(ss-nltp|grep$port)#当端口不在使用时,去掉防火墙规则if[$port-ge30000]&&[-z"$flag"];thenecho$port"port is not listen, clean iptables rule !"iptables-nLINPUT|grep$i|awk'{print "iptables -D INPUT -s "$4 " -p tcp --dport "$NF " -j "$1 " ; " }'|sed's@dpt:@@'iptables-nLINPUT|grep$i|awk'{print "iptables -D INPUT -s "$4 " -p tcp --dport "$NF " -j "$1 " ; " }'|sed's@dpt:@@'|bashfi}#遍历有漏洞的端口, 给没有添加防火墙的端口补充iptables规则foriin$(echo$ports)dodoaddrule$idone#删除已拦截、且无效的端口规则ports2=$(iptables-nLINPUT|grepDROP|awk'{print $NF}'|sed's@dpt:@@')foriin${ports2};dododelrule$idone

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询