突然发现 nginx目录下的文件全没了,是不是被黑客给删除了?

我个人的云服务器
我用 docker 安装的 nginx , 配置了 https 访问
项目已部署好
今天发现项目有 bug , 就在本地修复项目 bug 后再部署,连上服务器进入 html 目录,发现里边的文件全没了,再查看其它几个目录,目录下的文件也都没有,是不是被黑客给删除了呀?

上次服务器报警有黑客注入 shell 脚本 ,我还没来得及解决,这次又把我打爬下了。我在本地虚拟机部署从来没发现这个问题。

[root@nginx]# ll
总用量 20
drwxr-xr-x 2 root root 4096 5月 15 12:01 cert # 这个目录下放了两份证书的文件
drwxr-xr-x 2 root root 4096 5月 15 11:59 conf # 这里是默认的 配置文件
drwxr-xr-x 2 root root 4096 5月 15 11:58 conf.d # 这目录也是文件
drwxr-xr-x 4 root root 4096 5月 15 13:15 html # 这目录下也是文件
drwxr-xr-x 2 root root 4096 5月 15 12:02 logs

如果,排除你个人操作的问题的话,那就有可能,尤其你也收到了告警:服务器报警有黑客注入 shell 脚本。。。
这样就需要核查这脚本究竟是怎样,才可以定夺。


还有,看出,你部署服务用了高权限,所以,对方访问的机器,权限不能用最高,不必要的端口也不会对方设置访问,权限控制方面需要尽量收起来。

以下为本人遇到类似问题可能采取的排查流程:
1.先排查服务器的其它文件是否有被删除的情况,如果服务器的其他内容也有被删除或篡改的痕迹,那么被攻击肯定是无误了,但是如果只有nginx的内容被删除了情况就比较多了,建议看一下nginx日志,恶意操作是否是从网络请求中注入的。同时排查一下系统日志看一下ssh是否存在暴力破解等情况。
2.加强服务器安全防护,如果是云服务器定时修理服务器漏洞以及安全基线,如果是虚拟机的话建议修改高危端口,例如ssh22端口、telnet23端口等,同时修改服务器密码为高复杂度密码,并且设立ssh登录失败处理机制。
3.对服务器进行加固后,不能保证对方是否在服务器内埋藏其他恶意脚本,建议修改数据库密码,避免服务器中明文存储数据库密码,同时缩小数据库用户权限,避免数据受到威胁加重损失。
以下为本人针对楼主情况的分析:
首先可以看出是nginx容器中的内容被删除了,那么不排查个人操作失误执行了rm等高危命令。因为如果是黑客进行攻击的话不可能单单搞垮你一个容器而已,nginx容器挂了你重拉一个就可以包括html文件你重新上传一份也就罢了,所以个人还是偏向于误操作这个原因。一切的排查还是要基于日志为基准。
所有内容都为个人的拙见,还请勿喷。