自己的网站又挂马了,看了登录记录没有问题 ssh 端口也是只有我的 ip 才可以访问,还有什么工具可以直接修改 ng 的配置文件吗,没有排查的思绪了
server {
listen 80 default;
server_name _;
location ^~ /downloadsss
{
proxy_pass http://qwertyu.shijiediyi888.top;
proxy_set_header Host qwertyu.shijiediyi888.top;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $host;
proxy_http_version 1.1;
# proxy_hide_header Upgrade;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
set $static_fileMJrCAYTq 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_fileMJrCAYTq 1;
expires 1m;
}
if ( $static_fileMJrCAYTq = 0 )
{
add_header Cache-Control no-cache;
}
}
}
1
dode 157 天前
你这服务器只挂个 nginx 代理就被黑了?
服务器关闭 ssh 密码登录,只使用密钥登录 既然服务器现在不安全了,就格式化重新部署一下,关闭密码登录 |
3
carlinglm 157 天前
去看下系统日志吧,看下有什么可疑的 ip 来访问过,直接改你 nginx 的配置文件不太现实的,除非有啥别的漏洞
|
4
dpx 157 天前
需要经常修改文件吗?以前我用 WIN 的时候是把相关的配置和网页文件改成只读权限,可以参考下,如果还可以挂,说明对方已经有管理员权限了,往系统方面排查,直到找到对应漏洞。不想麻烦就系统重新部署,但很大机会还有相同漏洞。
|
5
akin520 157 天前
先看看你代码是不是有问题,挂马一般都会有 WEBSHELL
|
6
BeforeTooLate 157 天前
就问是不是只有密钥登录而不是密码登录?
|
7
ccnoobs OP @BeforeTooLate 直接密码登录
|
8
dode 157 天前
使用 docker 部署你的网站,定期备份数据,限制特殊目录的写权限
|
9
davehandong 157 天前
先想一下有没有可能操作系统或者服务本身是有问题的。
然后 nmap 之类的工具看一下哪些端口是可访问的,把没必要的都关了 ssh 直接登录操作的可能性我觉得不大,但是限制一下不能用密码登录也不费事,还有就是默认端口号可以改最好也改一下。 你这个 nginxs 配置文件只有一个反向代理,面儿上看我觉得是没啥问题的吧 可以看一下你的 nginx 版本号,用了哪个 module ,然后看一下这个版本有没有一些 CVE ,最好升到最新的。 也可以再看一下 accesslog. 其它的就得看具体还有啥服务了 |
10
davehandong 157 天前
再补充一下,nginx 服务启动不要用 root 帐户
|
11
lambdaq 157 天前
这题我会,nginx 启动之后把 nginx.conf 和 nginx 二进制都删了。
|
12
patrickyoung 157 天前 via Android
需要详细审计代码和系统配置
|
13
7lQM1uTy635LOmbu 157 天前
@ccnoobs 你是不是第一次被挂马后没有重装系统?第一次进去可能由于 ssh 弱密码,但如果没有重装,很可能对方第一次已经留了后门。
|
14
liyunyang 157 天前
是 php 吗?
|
15
MrUser 157 天前
最小权限原则,不要相信某些教程的话:一上来就 777 ,看着就危险。
要这样: 1. 可执行的文件或目录不可写; 2. 可写的文件或目录不可被执行; 另,检查 SELinux 规则不是不是遗漏了什么 |
16
busier 157 天前
@davehandong “再补充一下,nginx 服务启动不要用 root 帐户”
nginx 服务启动运行的是 master 进程,用 root 没有问题! master 运行的 worker 子进程才是不应该用 root 的进程。 |
17
yarawen 157 天前
这个贴 https://v2ex.com/t/979950 你看下有木有用
|
21
ccnoobs OP 排查 nginx 命令日志时发现
当时挂马修改 ng 时相关执行日志 May 28 22:53:35 instance-0b1899zb root[29772]: [euid=root]::[/tmp]2024-05-28 22:53:35 root ps aux | grep nginx May 28 23:02:09 instance-0b1899zb root[30483]: [euid=root]::[/tmp]2024-05-28 23:02:09 root ps aux | grep nginx May 28 23:02:14 instance-0b1899zb root[30500]: [euid=root]::[/tmp]2024-05-28 23:02:14 root /usr/local/nginx/sbin/nginx -s reload May 28 23:03:28 instance-0b1899zb root[30604]: [euid=root]::[/tmp]2024-05-28 23:03:27 root /usr/local/nginx/sbin/nginx -s reload 我这边正常的操作日志是 May 28 23:45:16 instance-0b1899zb root[1560]: [euid=root]:root pts/1 2024-05-28 23:45 (*.151.207.139):[/usr/local/nginx/conf]2024-05-28 23:45:16 root cd /usr/local/nginx/conf/ 大家知道为啥会缺少那么多信息吗 |
23
WoneFrank 157 天前
cve-2021-4034 这个是 linux 下 pkexec 逻辑提权的,直接能提到 root 权限。
你这个应该是自己跑的业务有漏洞被打了,也就是被人写了 webshell 或者直接利用 java 命令执行了。 root 被拿了多半会有各种计划任务、rootkit 之类的后门操作。 如果源码和数据有备份建议先把漏洞修了,然后重开一台新服务器再把业务部上去。 |
25
gray0 156 天前
新服务器的安全小思路:
1.不应直接以 root 身份登录,新建用户,避免任何容易猜到的内容,例如 admin 2.禁用 root 密码/ssh 登录 3.更改默认的 umask 大多数 Linux 发行版默认 umask 为 022 ,这为每个用户提供了读取权限 修改为 027 sudo bash -c 'echo -e "\numask 077" >> /etc/profile' 4. SSH 安全 SSH 默认从从 ~/.ssh/authorized_keys 读取授权密钥,改为从新建的用户那里读取 # 修改/etc/ssh/sshd_config AuthorizedKeysFile /etc/ssh/authorized_keys/{user} |