公司独立站是用 prestashop 做的,老是被黑客入侵,更改文件内容和文件权限,让每个页面都重复显示二遍,密码什么的都改了还是不行,网站页面也扫过病毒,扫描到木马也清除了,但第二天还是被黑客入侵,一直反反复复,有大佬能提供解决方案吗
1
yulgang 2023-05-09 10:17:46 +08:00
网站所有文件和目录设置成只读 且不可修改。然后再看他从哪儿进来的😁
|
2
hefish 2023-05-09 10:18:37 +08:00
这个。。上个 waf 吧。。。硬件 waf ,或者云 waf 。。 能挡住 90%以上的扫描。
价格 10-15w 不等,硬件是一次性的,云 waf 是按月收费的,看适合哪种。 现在搞个网站,万一被盯上,没有 waf 几乎都是秒被黑的。 |
3
proxytoworld 2023-05-09 10:19:25 +08:00
明显是站点由漏洞
|
4
rivercherdeeeeee OP @proxytoworld 不知道漏洞在哪啊,愁死个人
|
5
rivercherdeeeeee OP @yulgang 他能修改文件权限
|
6
lindas 2023-05-09 10:26:43 +08:00
有重装系统过吗
|
7
Heisenhower 2023-05-09 10:28:11 +08:00
|
8
illl 2023-05-09 10:29:02 +08:00 via iPhone
@rivercherdeeeeee 查日志哇 长亭出了个免费的 waf 装上
|
9
rivercherdeeeeee OP @lindas 没有,用的是 bluehost 服务器,服务器上有 2 个网站,不方便重置,2 个网站都被入侵了
|
10
rivercherdeeeeee OP @illl 查 apache 日志吗
|
11
frankies 2023-05-09 10:33:41 +08:00
开源框架由于代码开源,只要合格的黑客想搞你研究一下都是很容易入侵的。不太懂你们行业,外贸不都是 shopify 用的多嘛,花点小钱把安全这事交给 shopify 去整,有的钱不能省
|
12
lindas 2023-05-09 10:34:16 +08:00 1
@rivercherdeeeeee 系统上会不会还有黑客开的后门你们没发现
|
13
Felldeadbird 2023-05-09 10:34:39 +08:00
1. 把整个项目目录打包下载到本地电脑。 例如你保存的是 /var/www/website 。你就把整个 website 打包下载到本地电脑。
2. 拿本地开发的代码 和线下对比。 确认本地和线上代码不存在差异。 3. 确认代码无误后,找出资源库中,可能涉及到的.php 文件,这玩意一般都是图片木马。 4. 排查完网站存在图片木马,修复安全漏洞后,将整个项目迁移到新服务器。新服务器请确保 web 运行只有最低限度的运行权限。 上面 4 点只是一个典型的方案,具体你要找到代码中的漏洞并修复,其次就是挖掘站内被部署的 getshell 文件,否则漏洞修复了,getshell 文件还在,新服务器还是会被提权。 |
14
rm0gang0rf 2023-05-09 10:36:24 +08:00
已经脏了,产品 客户迁移吧,有技术部就用别的 magento ,woo ,没有就用 shopfiy
|
15
ohwind 2023-05-09 10:36:43 +08:00
端口全关,黑客犯难,禁用密码,黑客没法
|
16
rivercherdeeeeee OP @lindas 估计是有后门,找不到
|
17
rivercherdeeeeee OP @frankies shopify 还在研究
|
18
rivercherdeeeeee OP @Felldeadbird 该删的都删了,感觉就是有漏洞才造成的提权,技术有限,就是找不到,急死了
|
19
aaa5838769 2023-05-09 10:52:15 +08:00
可以使用 AWVS 这些扫一下你的网站。
|
20
yaott2020 2023-05-09 10:55:31 +08:00 via Android
有没有可能是某些脚本运行机制导致的问题,并不存在所谓的“黑客”。。。。
|
22
rivercherdeeeeee OP @yaott2020 并不是
|
23
yaott2020 2023-05-09 10:58:36 +08:00 via Android
@rivercherdeeeeee 重装系统呗,实在找不到的话。把不需要的端口全关了,ssh 登录用私钥。做好权限管理。开个日志,看看有没有可疑 ip 入侵。
|
24
garlics 2023-05-09 10:58:37 +08:00
找人 ssh 上去看看
|
25
illl 2023-05-09 11:00:12 +08:00 via iPhone
@rivercherdeeeeee web 日志,具体取决于你用的是什么,不过分析的话还需一点的专业知识
|
26
colorfulberry 2023-05-09 11:02:57 +08:00
这玩意儿 大概率 ssh 密码登录被暴力破解了
|
27
illl 2023-05-09 11:04:23 +08:00 via iPhone
prestashop 这个好像网上就有披露历史漏洞,看看是不是最新版本或者受影响版本
|
28
leoleoleo 2023-05-09 11:06:30 +08:00
系统的定时任务和可以的服务啥的都检查了吗,有些基础的后门留存就是写个定时任务或者做个自启的服务,发现后门文件没了,重新去拉一份这种。另外有些更搞的,会直接修改系统的动态链接库,导致很多系统命令查看文件,是不显示恶意文件的,可以找 BusyBox 工具再检查一遍,有没有恶意的动态链接库文件。被黑过的系统,在我们公司默认都是不干净的,都是备份了数据重新装一台新的服务器。
应用本身的漏洞,如果没法定位和修复,就上个 waf 呗,另外如果是上了云的,可以用公有云自带的安全能力,安全上的事,还是需要找专业的人,你们公司看着就是没有安全团队的,不如找个安全服务的公司啥的,如果业务挺赚钱的,安全上的钱别省,如果中了勒索,真的是后悔都来不及。 |
29
hermithacker 2023-05-09 11:09:35 +08:00
如果已经提权的话,系统可能被污染了
|
30
defunct9 2023-05-09 11:12:48 +08:00 2
开 ssh ,让我上去看看
|
31
proxytoworld 2023-05-09 11:15:05 +08:00
不会溯源嘛。。从最开始的日志追溯攻击路径
|
32
nkidgm 2023-05-09 11:15:41 +08:00 1
中过一次招,还不赶紧把数据导出来,然后重装系统?
|
34
BeautifulSoap 2023-05-09 12:01:31 +08:00
先得确定到底是哪些进程和用户在哪个时间点修改了文件权限啊。找几个监控文件修改的工具,看看是哪个进程干的
|
35
thinkwei2012 2023-05-09 12:07:07 +08:00
上 waf ,ip 加白,程序运行权限和 root 隔离
|
36
yulgang 2023-05-09 12:16:13 +08:00
@rivercherdeeeeee #5 那就说明你的权限配置有问题
|
37
yulgang 2023-05-09 12:18:38 +08:00
@rivercherdeeeeee #5 把你的线上程序和官方提供的对比一下差异,看看是不是还有后门没清理干净。然后暂时关掉不必要的上传功能,比如相关文件临时改名,等它更新修复后再恢复。
|
38
l2d 2023-05-09 13:19:55 +08:00 1
既然不是 ssh ,那就是通过服务入侵的。
php 写的,排除内存马,基本确定是文件马。这一类漏洞有两个入口,一个是文件上传,一个是文件包含。 用 webshell 扫描工具排查一下吧,多用几个工具。 web 目录下可以查看最近修改的文件,find . -type f -mtime 1 或者排查 php ,find . -name '*.php' -mtime 1 最后记得排查 rootkit 。排查完把后门删了,记得打备份。下次被入侵打一份新的环境,把旧的恢复了,分析入侵的环境 |
39
bjzhush 2023-05-09 13:23:39 +08:00
每个页面显示两边并不能证明被黑了
自己搞不定就花钱找靠谱的人解决 |
40
qfdk 2023-05-09 14:07:41 +08:00 via iPhone
简单啊 初始化个 git init 然后推送到 git 私人仓库. 被 x 了之后 git status 查看修改就好了……
|
41
dif 2023-05-09 14:13:50 +08:00
很明显,你这项目的病毒并没有清理完成,后门一直开着。
看下有没有不认识的 ssh-key ,对外端口留个 80 和 443 就行了。其他的都关闭了。 实在不行就挂个反向代理上去,把 nginx 暴漏出去,应用程序的服务器隐藏在局域网中。 为了避免暴力破解,你搞一个权限的机器,通过 ssh-key 访问,另外也要保证员工的电脑里没有破解软件。见过很多网络工程师用盗版 CRT 的。 |
42
sam0ple 2023-05-09 14:18:43 +08:00 1
如果不能上 waf 的话试试手动解决:
1. 查看访问日志,看有没有类似 VPS 的访问记录 2. 如果是 Linux ,试试用 BPF 之类的工具监控文件被哪个进程修改的,再通过进程反推是那个程序出现问题,Windows 的话试试 sysmon 或者 procmon 之类的进行监控 |
43
Moofeng 2023-05-09 14:21:50 +08:00
如果是阿里云的服务器倒是可以帮你看看
|
44
SleipniR 2023-05-09 14:41:00 +08:00
公司应该考虑增加网络安全预算了,目前只是改改文件权限,哪天给你加锁要赎金,代价可高多了。
|
45
westoy 2023-05-09 14:55:45 +08:00
首先你这个环境是不能要了, 把数据、文件备份后, 彻底重做。 有条件最好不要用虚拟主机, 现在虚拟主机这块用户少, 不像以前那样舍得砸钱赞助 grsecurity 之类的项目做安全, 搞不好就有跨站方面的 0day , 你防护再好也没用
程序升级到最新版, 同时审计下最近插入的数据和文件, 看看有没有包含什么显性的执行程序方面语句, 防止万一程序里有 0day 可以提权 |
46
pinkbook 2023-05-09 14:56:20 +08:00
聘请网络安全工程师( x )
v2ex 发帖(√) 这种被持续黑了,没有勒索你,最好评估一下是否有公司数据被窃取了 |
47
sam0ple 2023-05-09 14:56:33 +08:00
如果系统不支持 bpf 进行监控,使用 auditd 进行监控也是可行的
|
48
dedemao 2023-05-09 14:57:01 +08:00
重装系统意义不大,很有可能是网页程序上的漏洞。宝塔面板有防篡改的插件,可以试试。
|
49
nkidgm 2023-05-09 15:20:29 +08:00
|
50
cnbatch 2023-05-09 15:27:40 +08:00
如果不能重装系统,那就单独开一台新机器用来运行 Web 服务
|
51
superliy 2023-05-09 15:29:29 +08:00
外贸站点 现在还是都用 php 吗
|
52
rivercherdeeeeee OP @dif 怎么分辨不认识的 ssh-key 。。。。。
|
53
vipdog73 2023-05-09 16:18:40 +08:00
这是留了登录密钥了吧?在怎么修改密码也不行啊
|
54
rivercherdeeeeee OP @vipdog73 默认是密码登录的吧,密钥登录不了的吧
|
55
vipdog73 2023-05-09 16:30:24 +08:00
@rivercherdeeeeee 密钥登陆的了
|
56
daxin945 2023-05-09 16:43:48 +08:00
装个 osquery 或者 sysmon 吧 排查网络、进程、文件、自启动项、定时任务
网络主要是一些奇怪请求 尤其境外的 IP 然后从端口反推进程 进程推文件 然后干掉 |
57
rivercherdeeeeee OP @vipdog73 确定吗
|
58
lmhsmart 2023-05-09 17:14:31 +08:00
如果真想解决问题,你在 V2EX 问再多也没用的,实际点要做的事情:
1. 找网络安全工程师或者买外部安全公司的安全服务 2. 审日志,排查站点漏洞,全部修掉 3. 服务器应急处置 4. 部署安全设备 |
59
vivisidea 2023-05-09 18:02:54 +08:00
不重装系统?这个必须重装吧,趁机把业务整到容器里去跑
|
60
cnbatch 2023-05-09 18:51:13 +08:00
「怎么分辨不认识的 ssh-key 」
既然提出了这个问题,结合后面的两个提问,我猜测 OP 的服务器应该从未设置过密钥登录(至少公司内的人从未设置过)。 那就可以先问问同事,有没有人用过密钥登录,如果得到的答案全都是“没用过”,那就可以这样排查: 1. 进入这台服务器,查看每个用户的 Home 目录(包括 root 的一样要查,也就是 /root )有没有 .ssh 文件夹 2. 如果有,那就进去看看有没有留下其它文件(不包括 authorized_keys 、known_hosts 、known_hosts.old 这 3 个文件,后边会提到) 3. 如果有文件,打开来看看是不是 ssh 密钥。不过无论是不是密钥,都可以直接删掉(毕竟公司内没人这样用过,那么删掉并没什么关系)稳妥起见的话,可以先下载来做个备份 4. 检查下 authorized_keys 的大小是否为零,如果公司内从未有人用过密钥登录,那么 authorized_keys 的大小只能是零。如果大小不为零,打开后直接删掉所有内容然后保存(同样地,可以下载回来做个备份,顺便检查一番) |
61
zlowly 2023-05-09 19:35:06 +08:00
用 Prestashop CVE 关键字 google 一下吧,例如 CVE-2020-4074 这些都完全可以进行 RCE 。
|
62
crab 2023-05-09 19:39:19 +08:00
写个监视页面出现这问题的时间点,再回去看这时间点前的操作日志。
|
63
shangyu7 2023-05-09 19:40:06 +08:00
加个堡垒机,服务端口通过堡垒机出去,其他端口都禁止连外网
|
64
huangzxx 2023-05-09 20:13:46 +08:00
叫老板招个运维
|
65
ugpu 2023-05-09 22:32:16 +08:00
加个网关(和 63 楼所说一样)
服务器对应端口只可网关访问 转发. 网关转发规则内数据. 服务器所有端口禁止访问外网. 所有权限修改为可读. |
66
greatbody 2023-05-09 23:11:48 +08:00
1 ,迁移到容器
2 ,使用 CDN 隐藏服务器真实 IP 3 ,数据库和应用在服务器层面上分离,不要数据库和应用代码都在一台服务器上 4 ,严格限制权限,禁用密码登录,关掉所有非必要端口,禁用 IPv6. |
67
businessch 2023-05-10 06:55:01 +08:00 via iPhone
直接跟入侵的人留言咨询试试,花钱解决。
|
68
montaro2017 2023-05-10 08:31:20 +08:00
|
69
aino 2023-05-10 09:38:10 +08:00
整个蜜罐,来个瓮中抓鳖
|
70
rivercherdeeeeee OP @aino 具体怎么操作
|
71
1nclude 2023-05-10 10:12:25 +08:00
开 ssh ,或是域名发出来🐶
|
72
arvinsilm 2023-05-10 10:18:24 +08:00
很好奇不迁移走,不怕黑客删除或者加密数据吗?如果有邮件服务,不怕黑客用来做黑产吗?
|
73
dif 2023-05-10 11:29:35 +08:00
|
74
evilStart 2023-05-10 12:14:59 +08:00 via Android
连升级项目系统都不愿意做,这种几年前的系统早就有一大堆漏洞了。像这种毫不在意安全的公司只能说是活该了。祝你们服务器上的数据早日删光。
|
75
AIyunfangyu 2023-06-30 13:23:22 +08:00
@rivercherdeeeeee 可以联系我们处理,不用迁移源服务器,直接对接 VX:with--tea
|