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

58 天前
 zhangjiashu2023

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

2434 次点击
所在节点    程序员
21 条回复
KInG2
58 天前
加一个 WAF 应该可以避免很大一部分的吧
joyhub2140
58 天前
现在的服务器默认都有云防火墙保护着,攻击都是从应用层开始的。

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

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

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

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

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

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

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

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

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

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

© 2021 V2EX