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

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

  •  
  •   zhangjiashu2023 · 4 天前 · 1937 次点击

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

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

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

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

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

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

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

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