遇到这种情况,先查看有没有备份,服务器有没有快照,数据库有没有主从,有没有开启binlog日志;只有一个条件达到就能及时停损

处理完病毒后,修改默认端口,如22登录端口,mysql3306端口和redis端口等。

以后我要听从党的指示,密码改成比身份证还长。现在的数据库密码我自己都不知道。而且我不搞远程连接。

关闭公网的端口就可以解决,使用我们的大局域网解决。

具体情况

MongoDB赎金事件     

我以前是一笑而过,而现在被入侵了——!!!  原本以为我腾讯的云服务器不太行,等了10几秒还没有刷出我的页面。没想到第二天访问我的网站后台;显示无法登陆???

情况一:  mysql数据库被攻击删库_[已解决] 服务器被攻击,数据库被全部删除了

左边的数据库被攻击了   一些数据库全部没了。

留下一句话。。。。。。。。。我被黑了?!~我存备份了吗?没有。我当时裂开  - -!!!

All your data is a backed up. You must pay 0.1 BTC to 1PD1Wmx6sCvdsB2H4RkBhApNCq8pRPgWFT 48 hours for recover it. After 48 hours expiration we will leaked and exposed all your data. After 48 hours the database dump will be dropped from our server!
You can buy bitcoin here, does not take much time to buy https://localbitcoins.com After paying write to us in the mail with your DB IP: allmydataback@mailnesia.com and you will receive a link to download your database dump.

不但清空了我的数据,还在服务器后台是有一个木马文件  先把它隔离。就是定时使用curl或wget下载一段脚本并执行。细思极恐,如果这两条命令执行成功,我的主机就很可能被用作进行分布式拒绝服务(DDOS)的工具,甚至被用作挖矿,不,已经被用来挖矿了,这两个月总是CPU100%。

情况二 : 木马文件

我先隔离腾讯云发现的病毒文件

再通过  top命令找到进程名,   在tmp目录下发现并rm -rf删掉文件(原图未保存,这是我随便截取的关于top命令的截图,假设java是病毒文件的进程)

top

%CPU当时的cpu是99%,command就是进程名    假设java就是那个进程名

//找到进程名是java
//显示的字段有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMANDps aux | grep javatomcat7   39462  4.6  2.1 14237320 1435756 ?    Sl   13:34   1:33 command。。。。
kill -9 39462  # 杀死进程 39462在第二列PID

查一下上面病毒文件位置,删掉它 (ps aux | grep java查找出来的最后一个字段command有文件路径)

find / -name 病毒名  在看看有没有发现

我当时可能没删干净,所以CPU占用率依旧是100%

情况三:

没有发现DOS的痕迹;     DOS(deny offer service)就是通过不断访问服务器,使得服务器不堪重负,最终不能正常提供服务或者拒绝提供服务

查看数据库日志发现证据,这是我数据库被入侵时的执行过程    然而日志不会留下入侵者的线索;如果是oracle数据库可以用logminer知道

一、然后我发工单给腾讯云

这是腾讯云工程师给我检查的结果,嗯,给了他用户与密码让他登录我的服务器;  他没有帮我把数据追回,只是提供解决方法

当前从勒索信息来看,您的数据库受到攻击者入侵后,进行了拖库,被拖库的数据已被入侵者删除并异地转移。基础库无法恢复

当前扫描检测您mysql数据库密码为弱密码同时您3306端口对公网开放,初步判断是弱密码被暴力入侵

建议的修补措施:
1.如您做了mysql数据库备份,您可以导入数据库备份
2.如您mysql开启了binlog日志,建议您通过binlog日志找到删库断点后,使用binlog日志进行恢复

当前查看您开启了binlog日志,建议您可以重新建立原有的空表和库后,利用biblog日志恢复部分数据,参考命令:

/www/server/mysql/bin/mysqlbinlog ./mysql-bin.000007 | mysql -uroot -proot

/www/server/mysql/bin/mysqlbinlog ./mysql-bin.000008  --stop-position 6487402| mysql -uroot -proot

后续建议:

1)定期 备份/快照
关键数据定期备份、快照,这是防范勒索类恶意软件的最佳方式。
2) 服务器设置大写、小写、特殊字符、数字组成的 12-16 位的复杂密码 ,推荐使用密码生成器,自动生成复杂密码,链接参考: https://suijimimashengcheng.51240.com/ 
3) 删除服务器上设置的不需要的用户
4) 对于不需要登录的用户,请将用户的权限设置为禁止登录
5) 修改远程登录服务的默认端口号以及禁止超级管理员用户登陆
Windows 远程端口修改参考文档: https://cloud.tencent.com/developer/article/1052163 
Linux 远程端口修改参考文档: https://cloud.tencent.com/developer/article/1124500 
6) 安全的方法:只使用密钥登录禁止密码登陆 (针对 Linux 系统)
7) 云主机有安全组功能,里面您只需要放行业务协议和端口,不建议放行所有协议所有端口,参考文档: https://cloud.tencent.com/document/product/215/20398 
8) 不建议向公网开放核心应用服务端口访问,例如 mysql、 redis 等,您可修改为本地访问或禁止外网访问 。针对 redis 漏洞可以参考 https://www.freebuf.com/column/170710.html 
9) 不建议向公网开放运维工具的访问,例如宝塔面板、 phpmyadmin 等。针对 phpmyadmin漏洞可以参考 https://www.cnblogs.com/M0rta1s/p/11517423.html 
10) 如果您的本地外网 IP 固定,建议使用安全组或者系统防火墙禁止除了本地外网 IP 之外所有 IP 的登录请求
需注意:
A. 做好云服务器系统的安全防护可以有效加强云服务器系统安全, 但也无法保证绝对安全。
B. 建议定期做好云服务器系统的安全巡检及数据备份,以防突发情况导致数据丢失、或业务不可用。
C. 收到主机安全的告警通知,务必第一时间登录云平台进行处置

好了,需要找回数据   简单https://www.cnblogs.com/junyi-bk/p/12059750.html

二、只需把数据库日志转化成sql

因为系统可能潜在其它木马文件没找到,我决定重装系统

发现我重装系统后,发现原系统的一些文件没有完全拷贝到本地,于是我保留当前快照后,重装了之前的刚被入侵时的镜像;

但是系统无法登陆了。采用VPN登陆进去后,什么命令都提示common not find

干净了

没办法再次联系客服

挂载硬盘

从腾讯云买了一个按时交费的硬盘,一小时0.1元

拷贝被黑的系统的数据到新的硬盘;然后挂载硬盘  下载数据

fdisk -l 查看硬盘的详细信息  110G 的是我刚刚购买的


腾讯云工程师2021-05-21 17:44:21
尊敬的客户,您好:
如电话沟通,系统盘拷贝功能使用拷贝系统盘功能操作步骤:可参考文档:
https://cloud.tencent.com/developer/article/1387468 。我们无法保证业务数据是否有问题,建议可以使用电脑管家等软件病毒查杀,webshell查杀推荐使用D盾:http://www.d99net.net/ 。备份数据后可重装系统,在进行安全加固。
安全建议:
(1)做好rdp、ssh、MySQL、Redis、Jenkins等应用的密码管理,使用强密码、拒绝弱密码、默认密码;
(2)做好端口管理,只开放业务需要的端口,对rdp、ssh、MySQL、Redis、Jenkins等危险端口做好安全限制;
(3)建议使用主机安全专业版或其他工具定期检测漏洞,及时修复漏洞;
(4)定期快照,避免数据丢失。
详细的安全加固建议可参考: 

 这个我没开 ,后悔了(宝塔面板  文件--右上角回收站)

数据库恢复后备份一下    关闭数据库不要开启远程公网3306

update user set host = "localhost" where user = "root" and host = "%";

虽然我有镜像,但是这两个月的努力白费啊    这里点击创建实例即可

把私密的弄到印象笔记   原来服务器被劫持挖矿去了(挖矿木马)  里面内容就几行代码    wget 下载文件 然后授权755   ./执行

https://blog.csdn.net/zengxuewen2045/article/details/51454290

基于pos值   mysqlbinlog --start-position=180 --stop-position=496 mysql-bin.000027 | mysql -uroot -p

指定执行哪个范围内的操作    从180开始  到 496结束

没法将我打倒的,会让我更强大

/www/server/mysql/bin/mysqlbinlog  --start-position=334  --stop-position 6487402  --database=halodb  /AAAyingpan/www/server/data/mysql-bin.000008 | mysql -uroot -p88871328799bd7f3

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysqlbinlog  --start-position=334  --stop-position 6487402  --database=halod' at line 1

原来数据库被删除了,  日志文件只记录insert 和 update的内容,执行时发现没有数据库; 我决定翻翻halo博客网站的官网。。。没有。。。好吧,我只能拿起两个月前的快照

但是用了快照后备份2个月前的数据库,装回原来的系统却发现我当前系统已经没办法登录了;我怀疑是腾讯云做了安全措施,客服说没有。

没办法  不能直接使用命令恢复

/www/server/mysql/bin/mysqlbinlog ./mysql-bin.000007 | mysql -uroot -proot/www/server/mysql/bin/mysqlbinlog ./mysql-bin.000008  --stop-position 6487402| mysql -uroot -proot

用 mysqlbinlog  把sql文件转化出来后,       用python筛选拼接去除语法错误    然后再执行

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\C utf8mb4 */' at line 1

没办法,其实可以登录mysql直接运行binglog命令,但是数据库被删了,我又没有服务器和本地都没有备份

'''数据库被误删后  恢复数据过程中,  通过binlog把二进制日志转化成sql后, 这里的sql不能直接运行(会报一连串语法错误)做法:  1、 去除注释和莫名其妙的注释和语句  仅仅保留一些sql2、 为每行添加分号结尾我在运行的时候还是会遇到问题   比如你要更新一个内容,但是表中那条数据被我删了
解决:  正确更新方法 ,先提取所有insert  先运行   然后再执行updateW 只写模式  重新创建文件
会把文件的内容删掉
## 省略掉  f.close()方法   加一个with
'''import shutil, sys, osdarray = ["#","/*!","DELIMITER","ROLLBACK","BINLOG","SET","/* LOCK */"
]keepContent = ["insert","INSERT","update","UPDATE"
]def isKeep(line):for item in keepContent:if item in line:return Truereturn False# 临时用于获取insert的语句 先执行insert
linshi = ["insert into",
]
# "update posts set",
def isInArray(array, line):for item in array:if item in line:return Truereturn False# linshi
def isInArraylinshi(line):for item in linshi:if item in line:return Truereturn Falseif __name__ == '__main__':with open("mysql009.sql",mode="r",encoding="utf-8") as f:with open("fresult.txt", 'w',encoding="utf-8") as g:for line in f.readlines():if isKeep(line):  #if not isInArray(darray,line):# linshi  待会可删if not isInArray(darray,line):g.write(line)

最后,我顺利解救这个简单的网站

如果服务器存在木马文件的话,尽量重装系统

最后的最后

我还是不甘心,,,,,,,,  找到这个陌生的IP  IP address '34.77.163.42' has been resolved to the host

求助大神,  怎么追踪  ,它是否是网上采集免费的代理IP

教训

这是一个机会,但是我第一次遇到它,直接屈服——重装系统。
因为我删除了挖矿程序,也修改了登录密码,但是CPU还是100%。

希望在遇到这个挖矿病毒,我能直接定位到挖矿文件删除它,然后定时任务(一个文件 作用是直接下载挖矿程序,然后./运行它,我当时没注意)

cat /etc/crontab   //查看定时任务
crontab –l
cat /etc/rc.loacl  //查看开机任务cat /root/.ssh/authorized_keys //查看免密登陆

下次再次发生,我也要想大佬那样心平气和记录

https://cloud.tencent.com/developer/news/306981

https://www.cnblogs.com/zgq123456/p/13028550.html

我相信这不是结束

2021-05网站被入侵事件 与腾讯云客服的解决方案相关推荐

  1. 网站设置双CDN-境内腾讯云境外GJcdn,速度又快又抗揍

    原文地址:网站设置双CDN-境内腾讯云境外GJcdn,速度快抗揍 相关文章 数据库缓存工具Redis配置教程,大幅度加速WordPress网站 宝塔面板Nginx免费防火墙 5.0,有效抵御CC 最快 ...

  2. 历时七天个人网站成功备案分享(腾讯云)

    写在前面: 历时七天,个人网站备案成功,超快!!! 域名和服务器都是买的腾讯云的,整个备案过程并没有大家说的那样繁琐,我觉得还挺简单的,文末有我的备案记录. 备案注意的点 1.备案之前记得把域名实名认 ...

  3. 腾讯云服务器文件怎么恢复吗,实战腾讯云镜像备份恢复云服务器实例提取网站数据文件...

    本来这个问题是准备今天操作的,但是担心今天要陪伴孩子出去玩,所以就在昨天晚上给客户搞定.这个网友的问题是服务器到期,然后找腾讯云客服备份镜像,但是他服务器已经到期删除,但是镜像好在还在的,所以我准备帮 ...

  4. 腾讯云一键搭建WordPress博客网站

    前言 使用腾讯云也有一段时间了,当初买下服务器就是为了搭建一个属于自己的博客网站,对于现在的互联网时代来说,随着建站成本越来越低,每个人拥有自己的博客网站已经是标配了.搭建博客首先需要有个服务器,现在 ...

  5. 我在腾讯云从域名申请到网站备案的操作攻略

    最近因为工作需要开发一款微信小程序,在小程序中要发起http请求的话必要在微信小程序管理后台配置可信域名,微信对域名有2点核心的要求:带https的域名和已经ICP备案的域名.公司资源有限给不到啥支持 ...

  6. 网站备案接入变更 - 记录从阿里云转到腾讯云的过程

    之前阿里云的服务器到期了,续费的话又不划算,正赶上腾讯云双十一活动,就在腾讯云买了台2核4G+5M的服务器,3年才1000出头,还是挺划算的. 既然换了运营商,备案跟着也要变更,不然指不定阿里云哪天就 ...

  7. 再获肯定,云畅科技旗下腾云畅翼入榜2021腾讯云启创新生态企业年度榜单

    文章来源:云畅科技 2022年伊始,云畅科技喜获捷报.近日,2021腾讯云启创新生态「产业新势力」年度榜单正式出炉,云畅科技旗下浙江腾云畅翼科技有限公司(后文简称:腾云畅翼)作为腾讯云启产业基地(宁波 ...

  8. 腾讯云服务器网站搭建教程(太简单了)

    已经有了腾讯云服务器如何搭建网站?腾讯云服务器网以腾讯云服务器,借助宝塔面板搭建Web环境,然后使用WordPress博客程序搭建网站,大致分为三步,首先购买腾讯云服务器,然后在腾讯云服务器上部署宝塔 ...

  9. 怎么在网站上设置qq在线客服

    有时候我们在做网站的时候,想在网站里面加上一个qq在线客服,如何操作呢,下面来分享一下方法 第一步百度搜索qq商家,点击进去,如下图所示: 第二步用qq号登录进去,点击"商家沟通组件&quo ...

最新文章

  1. 是时候给2020年做个总结了
  2. Excel加密的Sheet如何hack
  3. GPU 原理解密(一)画个三角形居然这么难
  4. Cloud for Customer手机应用的deviceready事件是何时何处被抛出的
  5. 牛客题霸 [ 数字在升序数组中出现的次数] C++题解/答案
  6. uva 10883——Supermean
  7. 中国制造强在哪儿?从美特斯邦威到Shein
  8. spring-aspectj的几个aop注解
  9. PyMySQL和MySQLdb的区别
  10. ML/DL-复习笔记【四】- DeepLab系列模型总结
  11. 唱响艾泽拉斯 - 小安专辑
  12. html引入png不显示透明北京,完美解决透明png图片及透明png背景,兼容所有浏览器...
  13. 服务器怎么做无限耐久装备,饥荒物品无限耐久控制台指令 | 手游网游页游攻略大全...
  14. endl 和 \n 的区别
  15. nlp研究的三个层次
  16. Node.js检查路径是文件还是目录
  17. 在线传输文件的方法有哪些?镭速云帮您领略最快文件传输的攻略!
  18. sql server 修改列属性为非必填项
  19. iPhone的呼叫转移来电等待如何设置?
  20. Activity的理解

热门文章

  1. 平面设计素材网站-庞姿姿
  2. 软件设计师笔记(精简)
  3. Quartz之基本使用
  4. 项目管理杂谈:工期估算
  5. 《嵌入式Linux应用程序开发详解》PDF完整版及源代码
  6. 前端canvas动效实战,PIXI+GSAP仿写vanmoof刹车动效 | 猿创营
  7. 【系统】日文系统中将日文键盘修改为英文键盘
  8. 为抵制 7-Zip,列出 “三宗罪” ?网友:“第3个才是重点吧?”
  9. Java中常见的对象类型简述(DO、BO、DTO、VO、AO、PO)
  10. scanf()返回值