Linux Bash严重漏洞修复紧急通知

本文涉及的产品
.cn 域名,1个 12个月
云防火墙,500元 1000GB
简介:
但近日来,发现,很多wdcp的用户都被黑,被增加数据库用户,被上传文件,恶意发包攻击,流量异常,甚至是控制了SSH的权限等
此次事件非常严重,影响也非常大,希望大家及时更新下补丁,以及做下安全限制


在wdcp 2.5.11以下的版本都会受到影响,请广大用户,IDC,云主机公司升级相应的模板等

如果你的wdcp面板没有限制后台登录域名,也没有修改默认端口的,也没有升级,很可能已被黑
对于这类情况,可能的情况下,最好重装下系统

一般常规检查
1 检查登录记录,是否有其它的IP,用户ID登录
2 检查数据库用户,是否有多出的用户ID
3 检查是否有被上传的文件
4 登录SSH检查是否有异常的进程,以及是否有ip32.rar,ip64,rar这类文件(目前发现,这是黑客上传执行程序)
请大家相互转告
=====如果被黑也不要害怕,目前已经有解决方法!========

使用分割线下的查收步骤,基本可以查杀后门和恶意程序,维持服务器稳定正常运行,免去重装系统的烦恼



============查杀流程 2014-11-13更新====================
   部分WDCP用户的服务器没有修改默认的WDCP管理地址,没有及时更新,导致被黑客入侵。由于WDCP的稳定和方便,很多朋友使用WDCP创建了很多站点,甚至在淘宝卖起了虚拟主机。
自WDCP九月份爆出漏洞一来,有部分客户被入侵,被恶意发包,让IDC机房烦恼不已,阿里云 腾讯云 先后发布安全预警,提醒用户升级,检查系统安全。
WDCP被入侵后,对系统造成了一定危害,如果直接重装系统,涉及到程序数据的迁移,是很浩大的工程。
鉴于此,WDCP技术团队对黑客入侵手法和痕迹的分析,整理出以下WDCP专杀修复脚本,经过测试,可以保证服务器正常运行。


1 如果SSH可以正常登录系统的,跳过此步骤。SSH无法登陆服务器,密码被恶意修改的,可以在引导系统时,编辑启动项加入single 单用户模式。通过passwd命令 重置密码。 参考连接http://jingyan.baidu.com/article/acf728fd1de7ebf8e510a3cb.html

2 ls -lh /bin/ps   查看文件大小和时间,正常的是100K以内。如果是1.2M 左右的就是被替换了。(ps是LINUX下的任务管理器程序)

  使用XFTP软件上传覆盖对应版本(centos5和6 的不同)的ps 文件 WDCP漏洞修复下载,添加执行权限chmod +x /bin/ps。 同理 上传/bin/netstat文件  。

3 a.去除恶意文件的执行权限
chmod 000 /tmp/gates.lod   /tmp/moni.lod    
service sendmail stop
chkconfig --level 345 sendmail off
chmod -x  /usr/sbin/sendmail


chmod -R 000 /root/*rar*
chattr -i /root/conf.n
chmod -R 000 /root/conf.n*

b.关闭恶意进程
ps auxww 查看当前系统进程  查找恶意进程 一般是*.rar 或者使用CPU较高的
kill -9 进程ID
killall 进程名  比如256.rar  proxy.rar 等

c. 查看任务计划 
crontab -e  看看是否有可疑任务,如果有多个/tmp下的随机名称的文件,那就是恶意程序,删除该任务

d.检测 /etc/rc.d/ 下的rc.local    rc3.d   rc5.d  目录下 是否有可疑文件,可以删除,这个是 启动项程序存放文件夹。
4 修改SSH端口,黑客是脚本实现的批量入侵,修改默认端口,可以有效避免入侵。
vi /etc/ssh/sshd_config 里的  #Port 22 为 Port 40822
重启SSHD服务 service sshd restart 


5 部分用户的WDCP密码被非法篡改了。无法使用 http://ip:8080 进行登录管理后台
可以尝试使用 http://ip:8080/phpmyadmin 登录数据库管理  重置WDCP管理员的密码 
如果忘记MYSQL的ROOT密码 ,强制修改mysql的root密码 在服务器里执行 sh /www/wdlinux/tools/mysql_root_chg.sh 
点击wdcpdb数据库,选择wd_member 浏览信息,选择编辑admin这一行数据的passwd字段,
修改为 fc76c4a86c56becc717a88f651264622  即修改admin用户的密码为 123@abc

此时可以登陆WDCP管理界面了。删除其他管理员用户 一般为 test2,
登陆后还需要修改WDCP的默认8080端口,设置为40880 并在防火墙里允许该端口。

6 删除ssh秘钥文件登陆方式 ,经过对黑客的入侵痕迹分析,发现用户是使用WDCP面板的生成公钥功能,获取SSH权限的。禁止使用SSH公钥登陆  
  echo 0 > /root/.ssh/authorized_keys && chattr +i  /root/.ssh/authorized_keys


7  设置防火墙规则 最后再设置防火墙规则,因为WDCP自带的规则设置不完善,推荐手工编辑配置文件。
设置 只允许外网访问 服务器的80(web) 40822(ssh) 40880(wdcp) ftp(20000-20500)  ,禁止服务器访问外网,禁止木马反弹连接。
如果您有固定IP 可以设置只允许您自己的IP 访问. -s 指定来源IP

比如 -A INPUT -s 183.195.120.18/32  -m state --state NEW -p tcp --dport 40822 -j ACCEPT
编辑防火墙规则  vi /etc/sysconfig/iptables 
重启防火墙 service iptables restart   
查看当前规则 service iptables status

下面是已经编辑好的规则,如果您设置的端口 和 上面的一样,下面的规则可以直接采用。
# Generated by WDCP_FIX
*filter
:INPUT ACCEPT [0:0]
:BLOCK - [0:0]
-A INPUT -i lo -j ACCEPT
#-A INPUT -s 183.195.120.18/32 YOUR IP  -j ACCEPT
#-A INPUT -s 192.168.0.0/16 -p udp --dport 161 -j ACCEPT
-A INPUT -j BLOCK
-A INPUT -p icmp -m limit --limit 1/s --limit-burst 3 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 40822 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 40880 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
#-A INPUT -m state --state NEW -p tcp -m multiport --dports 21,20000:20500 -j ACCEPT
#-A INPUT -s YOUR_IP -m state --state NEW -p tcp --dport 8080 -j ACCEPT
#-A INPUT -s 8.8.8.8 -m state --state NEW -p tcp --dport 8080 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -d 8.8.8.8 -j ACCEPT
-A OUTPUT -d 8.8.4.4 -j ACCEPT
#-A OUTPUT -d  183.195.120.18/32  -j ACCEPT 
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#-A OUTPUT -m state --state NEW -p tcp --sport 20 -j ACCEPT
#-A OUTPUT -m state --state NEW -p tcp -m multiport --dports 22,25,443,465 -j ACCEPT
-A OUTPUT -m state --state NEW -p udp --dport 53 -j ACCEPT
#-A OUTPUT -m state --state NEW -p tcp --dport 80 -m hashlimit --hashlimit 5/sec --hashlimit-mode dstip --hashlimit-name out_http -j ACCEPT
-A OUTPUT -j REJECT --reject-with icmp-port-unreachable

COMMIT
# Generated by WDCP_FIX.


说明:禁止服务器访问外网,可能会引起采集文章和图片异常,连接远程数据库异常,建议逐个添加防火墙规则 放行端口 和IP。具体请在 OUTPUT里放行对应的端口。
放行访问外网的80   -A OUTPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
放行访问外网的3306  -A OUTPUT -m state --state NEW -p tcp --dport 3306 -j ACCEPT

8 安全维护建议
1 WDCP 可以设置访问域名。比如设置 一个很长的二级域名,只有自己知道,这样黑客就无法访问了。
更厉害点,这个域名不设置解析,自己修改本地电脑的HOSTS文件,强制指向访问,这样只有自己可以访问了。wdcp后台访问安全设置即限制域名/IP访问设置及清除方法
wdcp安全设置,让你的后台,只有你自己能访问


2 平时关闭 wdcp服务,需要使用时,临时开启。 不影响WEB服务的运行。
  关闭服务和禁止开机启动 /etc/init.d/wdapache stop && chkconfig --list 345 wdapache off

   /etc/init.d/wdapache start 开启服务


漏洞修复包 http://www.wdcdn.com/down/WDCP_FIX.zip



本文转自 gutaotao1989 51CTO博客,原文链接:http://blog.51cto.com/taoyouth/1576658

相关文章
|
2月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
3月前
|
Unix Shell Linux
在Linux中,什么是 BASH?
在Linux中,什么是 BASH?
|
4月前
|
存储 Shell Linux
Linux|创建和使用 Bash 别名
Linux|创建和使用 Bash 别名
52 6
|
3月前
|
Shell Linux
在Linux中,哪⼀个bash内置命令能够进行数学运算?
在Linux中,哪⼀个bash内置命令能够进行数学运算?
|
3月前
|
缓存 Shell Linux
在Linux中,bash shell 中的 hash 命令有什么作用?
在Linux中,bash shell 中的 hash 命令有什么作用?
|
3月前
|
人工智能 物联网 Shell
在Linux中,BASH 和 DOS之间的区别是什么?
在Linux中,BASH 和 DOS之间的区别是什么?
|
3月前
|
Unix Shell Linux
在Linux中,什么是Bash脚本,并且如何使用它。
在Linux中,什么是Bash脚本,并且如何使用它。
|
3月前
|
Shell Linux
在Linux中,使用bash shell实现条件判断和循环结构的例子是什么样的?
在Linux中,使用bash shell实现条件判断和循环结构的例子是什么样的?
|
3月前
|
Ubuntu 搜索推荐 Shell
如何在 Linux VPS 上自定义你的 Bash 提示符
如何在 Linux VPS 上自定义你的 Bash 提示符
18 0
|
3月前
|
安全 Linux
Linux——配置漏洞修复
Linux——配置漏洞修复
43 0