个人网站避免被攻击的思路(大家帮忙看看是否可行)

2024-10-24 15:27:51 +08:00
 zhangjiashu2023

之前写的一个项目服务器被攻击了,想到了一个思路,不知道是否可行。 项目有个前端有个 java 后端。我可以把前端部署到服务器 A ,后端部署服务器 B 。我在前端服务器 A 上反代我后端的接口地址,然后前端项目里的后端地址填我的反代地址。 如果服务器 A 被攻击了,那我就换个前端服务器 C 域名再套上 cf ,虽然减速了,但是至少部分人还能用。对吧

3022 次点击
所在节点    程序员
21 条回复
KInG2
2024-10-24 15:45:32 +08:00
加一个 WAF 应该可以避免很大一部分的吧
nxforce
2024-10-24 15:49:05 +08:00
现在的服务器默认都有云防火墙保护着,攻击都是从应用层开始的。

黑客小子都是抓框架漏洞,上传 shell 文件执行,把机器穿透到其他主机,服务器在隐藏的再深也没用。

如果担心被黑,目前相对安全的方式是部署 2 个防火墙,一个包过滤一个 waf 。
JensenQian
2024-10-24 15:49:11 +08:00
ovh +cloudflare
davehandong
2024-10-24 15:56:46 +08:00
不对
你前端好比是 nginx ,那也必然要反向代理到后端啊,不然两个地址一直跨域访问吗?
这里只考虑应用级别的渗透,那操作的目标本来就是你的前端地址,然后 nginx 反向代理到后端,不是同样可以访问到后端么。
最简单的渗透用 burpsuit 之类的代理一下接口就全出来了。
kris0502
2024-10-24 16:00:59 +08:00
推荐长亭免费社区版 waf ,个人版也很便宜可以找我 i😉
x86
2024-10-24 16:02:57 +08:00
源机 OVH+前置反代机套 Cloudflare 写好规则
zhangjiashu2023
2024-10-24 16:04:01 +08:00
@davehandong 那后端加一层 waf ?主要是怕不从应用层攻击,直接攻击服务器
iqoo
2024-10-24 16:09:21 +08:00
可行。但是得隐藏好服务器 A 的 IP ,只允许反代服务器访问。

事实上服务器 A 可以放在内网里,反向连接到网关上。网关被打垮就再换一个,用抢占式服务器 1 分钱就可以换一个。无限白嫖云厂商的防护流量。
proxytoworld
2024-10-24 16:45:39 +08:00
很奇怪,你的请求最终还是回到 B 上处理,你为什么会觉得 B 就一定是安全的,
realpg
2024-10-24 17:00:21 +08:00
你不干啥特殊的行业,没事儿谁攻击你。。。

要么是广撒网的互联网漏洞扫描扩散蠕虫,要么是你自己业务有问题。
第一个只要你别整出低级漏洞,一般这种也不找 web 端口,要么就老老实实干正经行业
doubu
2024-10-24 17:04:01 +08:00
@proxytoworld 这个好弄 安全组那边 就全部拦截了,只允许 A 的 IP 访问
fishlium
2024-10-24 17:15:37 +08:00
@kris0502 个人版是指专业版,价格好多呀
proxytoworld
2024-10-24 17:16:24 +08:00
@doubu 那你怎么检测 A 有没有被 get shell
proxytoworld
2024-10-24 17:22:05 +08:00
而且安全组这个东西也不能防护,你或许可以关闭所有的端口,只允许服务端口对 A 开发,但你 53 端口呢?
davehandong
2024-10-24 17:23:25 +08:00
@zhangjiashu2023 这不是 waf 的问题,而且 waf 是很耗性能的。

服务器层面
先从外网用 nmap 之类的工具扫一下看看对外开放了哪些端口,然后一个个去分析,没用的关了。
打开系统的防火墙,只对外开放需要的端口。
类似如 ssh 这样的服务如果非要外网访问,把 22 端口改成其它的一定程序上也有效果,关闭密码登录验证方式。其它服务思路也类似。

应用层面
你说的是一个典型的前后端分离的常规部署方式,没啥问题,但是也解决不了什么安全方面的问题。
安全上我觉得得具体看你的系统本身写的时候考虑的全不全了,像 SQL 注入,XSS 之类的,可以自己去扫一下,该解决的解决,waf 并不能完全解决问题。
然后就是应用的日志,记录好,记录全。Nginx 的日志也打开,定期看看有没有什么可疑的访问方式。
bug123
2024-10-24 17:43:50 +08:00
可行,我就是这么干的,不过也就被攻击过一次,估计是小学生练手
kris0502
2024-10-24 20:49:36 +08:00
@fishlium 如果本身有业务需要保障,这个价格也还好,如果不是有业务自己随便加固下也不会有人攻击你
xuanbg
2024-10-25 09:21:47 +08:00
除了 80/443 ,其他端口白名单
jstony
2024-10-25 17:24:54 +08:00
挂 cloudflare 后面算了
zhangjiashu2023
2024-10-25 22:07:45 +08:00
@kris0502 什么价钱呀

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1083264

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX