V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhangjiashu2023
V2EX  ›  程序员

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

  •  
  •   zhangjiashu2023 · 22 天前 · 2247 次点击

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

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

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

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

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

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

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

    应用层面
    你说的是一个典型的前后端分离的常规部署方式,没啥问题,但是也解决不了什么安全方面的问题。
    安全上我觉得得具体看你的系统本身写的时候考虑的全不全了,像 SQL 注入,XSS 之类的,可以自己去扫一下,该解决的解决,waf 并不能完全解决问题。
    然后就是应用的日志,记录好,记录全。Nginx 的日志也打开,定期看看有没有什么可疑的访问方式。
    bug123
        16
    bug123  
       22 天前
    可行,我就是这么干的,不过也就被攻击过一次,估计是小学生练手
    kris0502
        17
    kris0502  
       22 天前
    @fishlium 如果本身有业务需要保障,这个价格也还好,如果不是有业务自己随便加固下也不会有人攻击你
    xuanbg
        18
    xuanbg  
       21 天前
    除了 80/443 ,其他端口白名单
    jstony
        19
    jstony  
       21 天前
    挂 cloudflare 后面算了
    zhangjiashu2023
        20
    zhangjiashu2023  
    OP
       21 天前
    @kris0502 什么价钱呀
    kris0502
        21
    kris0502  
       19 天前
    @zhangjiashu2023 3600/年
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1173 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:41 · PVG 02:41 · LAX 10:41 · JFK 13:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.