个人网站避免被攻击的思路(大家帮忙看看是否可行) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
zhangjiashu2023
V2EX    程序员

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

  •  
  •   zhangjiashu2023 2024 年 10 月 24 日 3204 次点击
    这是一个创建于 452 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    21 条回复    2024-10-27 22:37:23 +08:00
    KInG2
        1
    KInG2  
       2024 年 10 月 24 日
    加一个 WAF 应该可以避免很大一部分的吧
    nxforce
        2
    nxforce  
       2024 年 10 月 24 日
    现在的服务器默认都有云防火墙保护着,攻击都是从应用层开始的。

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

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

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

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

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

    应用层面
    你说的是一个典型的前后端分离的常规部署方式,没啥问题,但是也解决不了什么安全方面的问题。
    安全上我觉得得具体看你的系统本身写的时候考虑的全不全了,像 SQL 注入,XSS 之类的,可以自己去扫一下,该解决的解决,waf 并不能完全解决问题。
    然后就是应用的日志,记录好,记录全。Nginx 的日志也打开,定期看看有没有什么可疑的访问方式。
    bug123
        16
    bug123  
       2024 年 10 月 24 日
    可行,我就是这么干的,不过也就被攻击过一次,估计是小学生练手
    kris0502
        17
    kris0502  
       2024 年 10 月 24 日
    @fishlium 如果本身有业务需要保障,这个价格也还好,如果不是有业务自己随便加固下也不会有人攻击你
    xuanbg
        18
    xuanbg  
       2024 年 10 月 25 日
    除了 80/443 ,其他端口白名单
    jstony
        19
    jstony  
       2024 年 10 月 25 日
    挂 cloudflare 后面算了
    zhangjiashu2023
        20
    zhangjiashu2023  
    OP
       2024 年 10 月 25 日
    @kris0502 什么价钱呀
    kris0502
        21
    kris0502  
       2024 年 10 月 27 日
    @zhangjiashu2023 3600/年
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3048 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 14:01 PVG 22:01 LAX 06:01 JFK 09:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86