服务器无故nginx异常关闭之kauditd0 kswapd0挖矿病毒 CPU占用200% 内存耗尽

现象:

nginx 每隔一段时间就会被关闭掉, 查看nginx日志 没有任何错误信息或异常信息

采取的办法

  • 将nginx服务设置为自动重启 systemctl enable nginx. 问题依旧存在

  • 查看服务器的内存和CPU占用情况

    • 查看内存占用情况

free -m

发现8G的内存快被占用光了,而我们只开了一个开销不大的java服务,按道理1G就够了。

为什么会占用到将近8G

  • 再查看CPU占用情况 top

top

发现有个kauditd0进程占用了200% 的CPU

经过各种搜索,发现这是一个挖矿病毒

且通过查询最近登录的IP

netstat -natp

发现有各种德国 美国的IP,因此可以确认是中毒了

解决办法

1. 关闭这个病毒开启的定时任务
crontab -l 发现开了许多定时任务,而我们的服务器原来并没有开启定时任务,因此全部清除 
crontab -r

2. 删除病毒文件
find / -name kswapd00 或者 find / -name kswapd0

网上搜索教程上是kswapd0,而此次我们服务器上是 kswapd00

发现如下文件中有

使用命令删除这些文件

rm -rf /root/.configrc7/* 
rm -rf /var/tmp/.X2r-unix/.rsync/*
3. 使用systemctl status 进程号 查看挖矿病毒是如何运行起来的

命令 :
systemctl status 411256

返回结果:
● session-189.scope - Session 189 of user root
     Loaded: loaded (/run/systemd/transient/session-189.scope; transient)
  Transient: yes
     Active: active (abandoned) since Tue 2024-11-12 08:03:29 UTC; 23h ago
      Tasks: 13
     Memory: 60.3M
     CGroup: /user.slice/user-0.slice/session-189.scope
             ├─342148 edac0
             ├─342153 edac0
             ├─342257 sshd@notty
             └─411256 kauditd0

Nov 12 08:03:29 ecs-b309-1113543 systemd[1]: Started Session 189 of user root.
Nov 12 08:03:50 ecs-b309-1113543 sshd[336488]: pam_unix(sshd:session): session closed for user root
Nov 12 10:29:14 ecs-b309-1113543 crontab[341494]: (root) LIST (root)
Nov 12 10:29:14 ecs-b309-1113543 crontab[341496]: (root) REPLACE (root)

kauditd0 进程是在一个名为 session-189.scope 的 systemd 服务单元中运行的,该服务单元是为用户 root 的会话 189 创建的。由于该进程似乎被标记为 active (abandoned),这可能意味着原始启动它的进程或会话已经结束,但该进程仍然在运行

4. Kill 杀死 kaudiod0进程

当我用 命令 kill -9 kaudiod0 杀死进程后,没过一会儿,进程又自动开起来了。

应该是开启了自动重启的服务

因此不用kill -9 ,

而是使用 kill -15 进程号(PID) 杀死挖矿进程,自此挖矿病毒没有再重启

kill -15 411256
5. 不要忘记修改服务器密码
sudo passwd root
为了实现Google Gmail注册功能,通常不会直接提供完整的源代码示例来创建Gmail账户。这是因为用户账户管理涉及敏感操作,应由官方服务处理以确保安全性和合规性。 然而,在开发与Gmail交互的应用程序时,可以利用OAuth 2.0协议授权流程来进行身份验证和访问控制[^3]。这允许第三方应用请求特定权限范围内的数据访问而无需知晓用户的密码。 对于希望集成Google登录或与其他Google服务互动的应用开发者来说,建议按照官方指南设置项目并启用必要的API接口: - 创建新的Google应用程序需前往Google API Console页面[^1]。 ```python import os from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build SCOPES = ['https://www.googleapis.com/auth/gmail.readonly'] def main(): """Shows basic usage of the Gmail API. Lists the user's Gmail labels. """ creds = None flow = InstalledAppFlow.from_client_secrets_file( 'credentials.json', SCOPES) creds = flow.run_local_server(port=0) service = build('gmail', 'v1', credentials=creds) results = service.users().labels().list(userId='me').execute() labels = results.get('labels', []) if not labels: print('No labels found.') else: print('Labels:') for label in labels: print(label['name']) if __name__ == '__main__': main() ``` 此Python脚本展示了如何通过OAuth 2.0认证过程连接到Gmail API,并列出当前用户的标签列表作为简单演示。请注意,实际部署前还需要考虑更多细节配置以及错误处理机制等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值