技术解析

我又来了, Linux 服务器关了 ssh 密码登录都还被入侵
0
2021-06-22 06:05:56
idczone

上次发过一个求助贴 https://www.v2ex.com/t/480799#reply40,得到一些预防的思路后我就换了服务器。新服务器 FTP 不开,SSH 登录都不开,mysql 等所有的密码都用不同随机难暴力破的,结果好了一段时间后现在还是被入侵了。无奈啊,现在都不知道怎么办了。如果非要找个锅的话,会不会是因为用了 wdcp 环境呢。。


好奇一下,ssh 登录都不开,那你怎么登上去的?

fail2ban 你值得拥有...

是密匙吧

血的教训,自己搭环境。或者 lnmp 套

最近开了一台腾讯云学生机,每天都有大量的其它机器尝试 ssh,然后我限制特定的 ip 段才可以 ssh 就安静了。其它机器尝试 ssh 直接拒绝掉,没有暴力破解密码的机会。
在 /etc/hosts.allow 和 /etc/hosts.deny 设置。

你的网站有漏洞,网站地址呢,不给怎么定位问题

比如要是你装了 dedecms。。。(手动狗头

crontab /etc/crontab 看下有没有其他的定时任务。我接手的一个服务器就是被之前的工程师在里面挂任务,凌晨定时替换密钥文件,半小时后再换回去的;
netstat -nltup 查看本机开放了哪些端口服务,防火墙只允许通过业务使用的端口
查看本机是否被添加了用户,调整用户权限。
阿里云之类的话,需要做好账号保护,再就是你是否设定了账户的管理 key,然后写在代码 /app 里,然后被拿到。
再就是各种默认管理配置链接都是有人扫的,如果你开放了访问权限,仍然是坑,应用的部分不需要客户访问的要做好目录权限。

比如没加认证的 redis

推测是你的网站本身漏洞,正如前几楼提过的通用型 cms

正确设置下系统本身的软件如 ssh/ftp 什么的漏洞几乎不可能,有也不会用到你这样的小站。
基本还是你用什么漏洞多的应用了吧,比如国人写的 php cms

我其实挺感兴趣这些服务器漏洞的攻击和防御的。

我用过一段 dhcp,会卡死,换是 lnmp 省心多了。一直以为我这种没流量的网站不用管安全问题,上次查了日志,赶紧禁用了 root 直接登录,加了 fail2ban。之前 wp 模板中过招,尽量自己写主题,别用乱踢八糟插件。其他 cms(织梦除外),只用官方东西应该也一样安全。

重置系统然后先用 lynis 查查看?

一个一个排除嘛,如果是你 web 程序的问题,这得分析分析日志,找出具体是哪个文件哪行代码出的问题,然后把这个 bug 补上,然后在排查一下服务器自身的挂马情况,数据库挂马情况

用 cms 一定要经常更新版本

不要用面板

楼主,为啥不用宝塔呢? WDCP 已经死了,指不定人家知道 WDCP 的漏洞在哪里,直接使用漏洞进 WDCP 的后台,开 SSH,登录进去。或者你的网站程序有漏洞。这就没有办法了。修补漏洞吧。
楼主最好把日志文件放上来,供大家给你分析一下。

程序有漏洞,在环境上想保护起来太难了。。除非你能定位漏洞的类型和作用。。不过这样基本上也可以手动清除了

所以,技术或经验不足,还是别买服务器折腾了,直接买成熟大厂的托管服务了事,比如 Wordpress 就直接买 Wordpress 岛 卡姆 自家提供的服务什么。

宝塔比 WDCP 能好到哪儿去?

开 ssh,让我上去看看

我关密码登录,换 ssh 端口,就没问题了。

一般不建议使用面板。
不过从前你说的明显是网站被挂马了,和面板,环境都没关系。黑你的根本不需要你的 ssh,ftp 密码。
仔细查你的日志。另外用杀毒软件查一下你网站文件。
网站是你自己写的?如果不是的话,不建议去使用来历不明的源码。即使要用自己先排查。。。

上面挂着一个 Discuz! X3.4,一个静态页,一个自己找人开发的自用的 PHP 程序。。Discuz! X3.4 应该不至于有这么轻易就被人入侵的漏洞吧。 那就可能是那个找人开发的 PHP 程序了。。 但是我用 webshell 查杀工具扫描过文件没找出任何问题。我自己的话并不会程序所以看不出来 大佬你会看吗? 帮我看看把 请你抽包烟。

把你找人开发的 php 程序发给我 我晚上要是有空帮你看一下。 mail:[email&/>另外 dz 不要随意安装不明来路模板和插件。尤其是一些破解插件,很多都有后门的。

比如
服务器文件权限
上传验证
redis
入口文件放置问题
错误提示会不会暴露版本信息之类的
程序上能找的漏洞挺多的

好 谢谢了 DZ 的插件我都是从应用中心买的 都没安过其他渠道的

大佬,请问如果用 docker 部署的话,能规避应用漏洞的问题嘛

容器隔离没有问题的话一般最多被搞一个容器

旁路攻击

谢谢,想来是 docker 容器跟宿主机不是一个系统,但还是通过网络连接的,风险还是有的,该做的防护还是要做。

先解决 SSH 本身的问题:
1. 查看是否有可疑用户
2. 关 root 登录改用 sudo 用户
3. 只允许 ssh-key 登录
4. 改默认 22 端口到别的地方
再看数据库
1. 有没有屏蔽外来访问
2. 有没有做 SSL 安全连接
3. 最好和 App 服务器做一个内网访问
4. 如果是同一台服务器下的,用 socket 方式访问,关掉 3306 等端口
再看项目
1. 有没有异常 nginx/apache 日志(通常注入漏洞都这里发现的)

dedecms 可还行,都被玩烂了 23333

至少在当前情况下,一个死了,一个活着。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服