因此,上图显示了命令khugepageds
,该命令有时使用98
到100
%
的CPU。
我尝试查找jenkins
如何使用此命令或如何使用此命令,但未成功。
我做了以下
pkill
詹金斯当我pkill
使用时,使用率下降,但是一旦重新启动,备份率就会再次升高。
以前有人遇到过这个问题吗?
答案 0 :(得分:18)
所以,我们刚发生这种情况。根据其他答案以及我们自己的一些看法,我们可以通过运行以下命令来终止处理(并使其终止)...
rm -rf /tmp/*; crontab -r -u jenkins; kill -9 PID_OF_khugepageds; crontab -r -u jenkins; rm -rf /tmp/*; reboot -h now;
请确保将PID_OF_khugepageds
替换为计算机上的PID。它还将清除crontab条目。将这全部作为一个命令运行,以使该过程不会自行恢复。机器将根据最后一条命令重新启动。
注意:虽然上面的命令应该终止进程,但是您可能想滚动/重新生成SSH密钥(在Jenkins机器,BitBucket / GitHub等以及Jenkins可以访问的任何其他机器上),甚至旋转一个新的Jenkins实例(如果可以的话)。
答案 1 :(得分:10)
是的,我们也受到了此漏洞的影响,这要感谢pittss使得我们能够检测到更多有关此的信息。
您应该检查/ var / logs / syslogs中的curl pastebin脚本,该脚本似乎在系统上启动了玉米进程,它将尝试再次升级对/ tmp文件夹的访问并安装不需要的软件包/脚本。
您应该从/ tmp文件夹中删除所有内容,停止jenkins,检查cron进程,并删除看似可疑的文件,然后重新启动VM。
由于上述漏洞在/ tmp foler处添加了不需要的可执行文件,并且它尝试通过ssh访问VM。 此漏洞还在您的系统上添加了cron进程,请注意也要删除该进程。
还请在〜/ .ssh文件夹中检查known_hosts和authorized_keys是否存在任何可疑的ssh公钥。攻击者可以添加其ssh密钥来访问您的系统。
希望这会有所帮助。
答案 2 :(得分:10)
这是一个Confluence漏洞https://nvd.nist.gov/vuln/detail/CVE-2019-3396,于2019年3月25日发布。它使远程攻击者可以通过服务器端模板注入在Confluence服务器或数据中心实例上实现路径遍历和远程代码执行。
location /rest/tinymce/1/macro/preview {
return 403;
}
包含两个部分:https://pastebin.com/raw/xmxHzu5P的shell脚本和http://sowcar.com/t6/696/1554470365x2890174166.jpg的x86_64 Linux二进制文件
该脚本首先杀死所有其他已知的特洛伊木马/病毒/僵尸网络代理,从 / tmp / kerberods 下载并生成二进制文件,然后通过 /root/.ssh/known_hosts 进行迭代。 >试图将自己传播到附近的机器。
大小为3395072且日期为4月5日16:19的二进制文件与LSD可执行打包程序(http://lsd.dg.com)一起打包。我还没有检查它的作用。看起来像一个僵尸网络控制器。
答案 3 :(得分:6)
似乎是漏洞。尝试像下面这样查看syslog(/ var / log / syslog,而不是jenkinks日志):class NavBars extends React {
state = {
value: 0,
};
handleChange = (event, value) => {
if (value == 0) {this.props.history.push('/tab1')}
if(value == 1) {this.props.history.push('/tab2')}
};
componentDidMount() {
if(this.props.location.pathname == '/tab1') {
this.setState({value: 0})
} else {
this.setState({value: 1})
}
}
render() {
const { classes } = this.props;
const { value } = this.state;
return (
<div className={classes.root}>
<Tabs
value={value}
onChange={this.handleChange}
classes={{ root: classes.tabsRoot, indicator: classes.tabsIndicator }}
>
<Tab
disableRipple
classes={{ root: classes.tabRoot, selected: classes.tabSelected }}
label="Tab 1"
/>
<Tab
disableRipple
classes={{ root: classes.tabRoot, selected: classes.tabSelected }}
label="Tab 2"
/>
</Tabs>
{value == 0 && <p>Here is tab 1 content</p>}
{value == 1 && <p>Here is tab 2 content</p>}
</div>
);
}
}
。
如果是这样,请尝试停止jenkins,清除/ tmp dir并杀死所有以jenkins用户开头的pid。
如果cpu使用率下降,请尝试更新到jenkins的最新tls版本。接下来,jenkins启动后,更新jenkins中的所有插件。
答案 4 :(得分:0)
一个有效的解决方案是,因为刚刚重新创建了cron文件,所以它是清空jenkins的cronfile,我也更改了所有权,并使文件不可变。
这最终阻止了此过程的开始。
答案 5 :(得分:0)
在我的情况下,这使得构建随机失败,并出现以下错误:
Maven JVM意外终止,退出代码为137
我花了一些时间来关注Khugepageds的过程,因为我到处都读到这个错误,所以给定的解决方案是增加内存。
使用@HeffZilla解决方案解决了问题。