怎么彻底隐藏源站 IP,不被扫到? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
takefancy
V2EX    程序员

怎么彻底隐藏源站 IP,不被扫到?

  •  
  •   takefancy 2023-12-27 12:22:41 +08:00 5750 次点击
    这是一个创建于 704 天前的主题,其中的信息可能已经有所发展或是发生改变。

    域名套的 CF,后端已经配置了 nginx 防火墙,怎么不被扫到源站 IP 造成泄露呢?

    请教下大佬

    23 条回复    2023-12-28 00:33:48 +08:00
    daimaosix
        1
    daimaosix  
       2023-12-27 12:34:52 +08:00
    套了 CF ,通过查询域名的历史解析 IP 可以查到,如果裸奔的时间短可能不会查到,但是一般扫会扫 IP 段,禁止通过 IP 访问 nginx ,彻底不让源站 IP 泄露不太行
    lichao
        2
    lichao  
       2023-12-27 12:37:00 +08:00
    源站防火墙开启 ip 白名单,白名单只包括 cf 的 ip
    leaflxh
        3
    leaflxh  
       2023-12-27 12:38:58 +08:00
    server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    location / {
    return 444;
    }
    }

    server {
    #sudo openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;
    server_name _;

    ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

    location / {
    return 444;
    }
    }

    server {
    listen 80;
    server_name example.com
    1.example.com
    2.example.com;

    return 301 https://$host$request_uri;
    }
    dzdh
        4
    dzdh  
       2023-12-27 12:40:17 +08:00
    leaflxh
        5
    leaflxh  
       2023-12-27 12:40:34 +08:00
    已经扫到了没办法的,比如 censys.io 这种傻逼

    换 IP ,或者等他一段时间扫描不到无法被主动搜索到
    KagurazakaNyaa
        6
    KagurazakaNyaa  
       2023-12-27 12:41:05 +08:00
    https://www.cloudflare.com/zh-cn/ips/
    除了这几个段的 IP ,其他全部 drop 掉就行了
    drupal
        7
    drupal  
       2023-12-27 12:44:37 +08:00
    套 CF ,关闭 ICMP 。
    leaflxh
        8
    leaflxh  
       2023-12-27 12:44:43 +08:00
    最好还是直接防火墙只允许 cf 的 IP 入站
    MFWT
        9
    MFWT  
       2023-12-27 12:53:31 +08:00
    nginx 对于 80 返回 444 (直接切断连接),443 选择 ssl_reject_handshake
    IP 白名单,只允许 CF 的 IP 访问
    感觉不放心的话可以配合 CF 的 Argo Tunnel 使用,直接不暴露端口到公网
    secpool
        10
    secpool  
       2023-12-27 14:02:39 +08:00
    现在每天全球扫描的机器多的很,会扫整个公网网段的
    kujou
        11
    kujou  
       2023-12-27 14:05:41 +08:00
    天天被扫,习惯就好。
    asm
        12
    asm  
       2023-12-27 14:24:44 +08:00
    怎么可能不会被扫描到,每天几万家安全公司的扫描器(还不带恶意代码扫描),怎么会错过。
    现在好多 cloudflare 的 ip ,我扫后,端口全开,可都是假的,也就是啥都没扫出来。可以套用一下。
    daisyfloor
        13
    daisyfloor  
       2023-12-27 14:50:33 +08:00
    以 Caddy 为例

    你可以使用以下的方法:

    在你的 Caddyfile 中,添加一个 trusted_proxies 的选项,把 cloudflare 的 ip 段都列出来,例如:
    {
    trusted_proxies 103.21.244.0/22 103.22.200.0/22 103.31.4.0/22 104.16.0.0/13 104.24.0.0/14 108.162.192.0/18 131.0.72.0/22 141.101.64.0/18 162.158.0.0/15 172.64.0.0/13 173.245.48.0/20 188.114.96.0/20 190.93.240.0/20 197.234.240.0/22 198.41.128.0/17
    }

    然后,在你的网站的配置中,使用 remote_ip 匹配器,来检查请求的 ip 是否在 trusted_proxies 中,如果不在,就返回 403 错误,例如:
    example.com {
    @not_cloudflare {
    not remote_ip trusted_proxies
    }
    respond @not_cloudflare 403
    # 其他正常的配置
    }

    这样,你就可以实现你想要的功能。
    renfei
        14
    renfei  
       2023-12-27 15:59:44 +08:00
    防火墙上关闭全部端口,使用 cloudflare tunnel 接入 cf
    Mulch1406
        15
    Mulch1406  
       2023-12-27 16:03:58 +08:00
    同问国内主机的解决方案
    cctv6
        16
    cctv6  
       2023-12-27 16:15:00 +08:00
    云服务商的安全组里面设置个白名单,只允许 cf 的 IP 段访问。就算泄漏也不怕。
    gam2046
        17
    gam2046  
       2023-12-27 16:20:45 +08:00   1
    cloudflare tunnel 即可解决,无需开端口。

    除非 cloudflare 内鬼,不然就是耶稣来了也白扯。

    我现在就都是这么搞的,最主要还省事,配置证书啥的都省了。
    expy
        18
    expy  
       2023-12-27 16:31:31 +08:00
    dns 历史记录,直接扫 ip 段搜索网站内容,扫 ip 段检查证书对应的域名。
    LnTrx
        19
    LnTrx  
       2023-12-27 16:38:41 +08:00
    禁止 IPv4 入站,纯 IPv6 入站,且不出现在任何解析中
    cnhongwei
        20
    cnhongwei  
       2023-12-27 18:02:12 +08:00
    不开 80 端口,只开 443 。
    cnhongwei
        21
    cnhongwei  
       2023-12-27 18:05:42 +08:00
    不开 80 端口,只开 443 。
    nginx 默认站点设置如下:
    server {
    listen 443 ssl default_server;
    ssl_reject_handshake on;
    }
    这样防止取 ssl 证书判断你的域名。正式站点可以过滤 ip ,可以设置 cloudflare 客户端证书验证。这样扫描到你的服务器时候,没有办法探测你的域名,所以也就没有办法来搞你,如果通过 ssl 证书已经把你的 ip 和域名对应了,只能换个 ip 。
    chocotan
        22
    chocotan  
       2023-12-27 18:53:10 +08:00
    先和 cf 要托管提供商,然后扫这个提供商的所有 ip ,80 、443 端口能通就说明在这个 ip 上
    我有几个网站就是被这么投诉的,然后被服务器提供商要求整改
    yianing
        23
    yianing  
       2023-12-28 00:33:48 +08:00
    tunnel, 不开端口扫到了也没用
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     839 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 22:32 PVG 06:32 LAX 14:32 JFK 17:32
    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