不得不把私有 git 服务器挂在公网一段时间,用什么方法能提高安全性? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
turan12
V2EX    git

不得不把私有 git 服务器挂在公网一段时间,用什么方法能提高安全性?

  •  
  •   turan12 2024-09-17 11:36:38 +08:00 6003 次点击
    这是一个创建于 463 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我公司原有一台 git 服务器放在内网,但最近因为业务需要,需要映射到公网大约一年时间。我能想到的就是用 git+ssh 部分提升安全性。请各位大佬再提供一些新的思路,谢谢。

    补充:git 是用的 gitea 搭建
    45 条回复    2024-10-10 22:25:05 +08:00
    Sayuri
        1
    Sayuri  
       2024-09-17 11:41:17 +08:00 via Android
    要定期关注这些服务端的漏洞情况,及时升级版本和修复漏洞。
    gitlab 太多次 rce 了。
    litchinn
        2
    litchinn  
       2024-09-17 11:44:33 +08:00
    如果是因为办公问题,那么设置白名单,搭建 vpn 都可以,如果就是要对公众开放那么 copy 一份到 github 企业版或 gitee 企业版上去,时间过了迁移回去
    turan12
        3
    turan12  
    OP
       2024-09-17 11:45:22 +08:00
    感谢楼上,补充一下,git 服务器是用的 gitea 来搭建。gitlab 资源占用实在是太大了,配置伤不起啊
    turan12
        4
    turan12  
    OP
       2024-09-17 11:48:22 +08:00
    @litchinn 主要是因为正在开发的几个项目的代码不能放到公网上,但是咱小公司又没有开 vpn 的设备
    Puteulanus
        5
    Puteulanus  
       2024-09-17 11:53:14 +08:00
    @turan12 有公网 IP 自己跑个 OpenVPN 就行吧,不需要专门的 VPN 防火墙那种的
    cookii
        6
    cookii  
       2024-09-17 11:56:38 +08:00 via Android
    组 VPN 最安全
    turan12
        7
    turan12  
    OP
       2024-09-17 11:59:39 +08:00
    之前把 vpn 想复杂了,现在 OpenVPN +2
    Puteulanus
        8
    Puteulanus  
       2024-09-17 12:08:12 +08:00
    @turan12 你们要有作为服务器的 Windows 机器,给你推荐一下这个 https://www.softether.org
    有好几种 VPN 的 GUI 配置,挺好用的
    0o0O0o0O0o
        9
    0o0O0o0O0o  
       2024-09-17 12:11:49 +08:00 via iPhone
    gitolite+cgit
    turan12
        10
    turan12  
    OP
       2024-09-17 12:16:29 +08:00
    @Puteulanus 我研究一下
    smdbh
        11
    smdbh  
       2024-09-17 12:18:23 +08:00
    放公的目的是啥? 是否可以像一份到代托管平?
    wangee
        12
    wangee  
       2024-09-17 12:26:41 +08:00
    Wireguard 就可以了吧,不是很难的。
    dingwen07
        13
    dingwen07  
       2024-09-17 12:36:50 +08:00
    找另外一台机器定期 pull 到某个本地目录,然后这台机器开 ssh 暴露到公网
    ludyleocn
        14
    ludyleocn  
       2024-09-17 12:50:20 +08:00 via iPhone
    不开 ipv4 用内网指定同服务商另一台机子(这个台开 ipc4 )远程?
    cyningxu
        15
    cyningxu  
       2024-09-17 13:04:45 +08:00 via Android
    一眼 vpn 啊,这还有啥选的吗?
    gxt92
        16
    gxt92  
       2024-09-17 16:26:31 +08:00
    VPN 或者跳板机
    displayabc
        17
    displayabc  
       2024-09-17 17:32:10 +08:00
    端口敲门
    wtsamuel
        18
    wtsamuel  
       2024-09-17 17:48:35 +08:00
    gitea
    heyjei
        19
    heyjei  
       2024-09-17 17:48:58 +08:00
    zerotiter 自己建 controller 和 moon 更简单。

    我现在正在逐步的把 openvpn 的网络往 zerotier 上面迁移
    z7356995
        20
    z7356995  
       2024-09-17 17:52:39 +08:00 via Android   1
    用 ssh 在用 rsa key 登录禁止密码就可以了,能破解 rsa key 的还没有
    Vegetable
        21
    Vegetable  
       2024-09-17 18:32:35 +08:00
    gitea 这东西设计出来就是公网部署的,大家都在这么用,你担心的是什么?
    kiracyan
        22
    kiracyan  
       2024-09-17 18:35:05 +08:00
    我自己的直接扔公网了
    IvanLi127
        23
    IvanLi127  
       2024-09-17 22:07:27 +08:00   1
    你愿意的话,再套个 ssh 做跳板,然后应该就能放心了吧
    newdongyuwei
        24
    newdongyuwei  
       2024-09-17 22:14:26 +08:00
    frp 转发请求,设置 auth token 保护
    yzding
        25
    yzding  
       2024-09-17 23:21:08 +08:00
    cloudflare zero trust + tunnel 可以满足,设置对应白名单 IP 或者邮箱验证,可以无感访问
    cctv6
        26
    cctv6  
       2024-09-18 01:08:14 +08:00 via Android   2
    端口敲门。

    我是用 lua 脚本在 nginx 上做了一层判断,访问之前必须先访问一个特定的 URI ,在访问了 URL 后,会把访问者的 IP 加入到白名单中几个小时。直接访问则拒绝访问。
    hyperbin
        27
    hyperbin  
       2024-09-18 08:59:21 +08:00 via Android
    只开放公钥登录
    cheng6563
        28
    cheng6563  
       2024-09-18 09:13:03 +08:00
    VPN 太麻烦了,建议端口敲门完事
    spartacussoft
        29
    spartacussoft  
       2024-0-18 09:40:05 +08:00
    ssh 隧道就行
    wuud
        30
    wuud  
       2024-09-18 09:50:35 +08:00
    账号密码发我,我帮你测测
    doracoinC
        31
    doracoinC  
       2024-09-18 10:19:32 +08:00
    @cdlnls #26 这个方法巧妙,和宝塔的安全登录入口有些相似
    darrh00
        32
    darrh00  
       2024-09-18 10:34:36 +08:00
    gitea 有完整的权限控制啊,设置项目私有,获得项目权限的用户才可以访问
    Rorysky
        33
    Rorysky  
       2024-09-18 11:21:20 +08:00
    https 还不够安全么,该关的端口关掉,尤其是 ssh 非证书方式的话; gitea 本身分配 gitea 用户,禁止登录,分配 shell
    /sbin/nologin
    tpopen
        34
    tpopen  
       2024-09-18 11:25:43 +08:00
    vpn
    guanzhangzhang
        35
    guanzhangzhang  
       2024-09-18 11:27:46 +08:00
    你映射公网的话,如果对所有人可访问,那 gitlab 有漏洞你就 g 了
    另一个思路就是组网 v-p-n ,这样接入了才能访问,还可以做 acl 啥的
    iamwin
        36
    iamwin  
       2024-09-18 11:28:04 +08:00
    能不能建个 vpn ,先连上 vpn 再访问 gitea ,这种是最安全的
    iamwin
        37
    iamwin  
       2024-09-18 11:29:50 +08:00
    或者用电信那些服务商提供的 0 信任服务,装客户端使用,本质上也是 wireguard 那些 vpn 组网
    Jhma
        38
    Jhma  
       2024-09-18 11:40:56 +08:00
    VPN 网对网或者网对端,gitlab 这几天有新漏洞,还是高危,不要暴露出来哈
    isSamle
        39
    isSamle  
       2024-09-18 14:56:13 +08:00
    多跳几次 docker-->nginx 切端口转发-->限制内网 IP 可访问-->内网 IP 再转发-->内网穿透-->限制目标 IP 可访问
    ByteCat
        40
    ByteCat  
       2024-09-18 15:49:57 +08:00
    有什么风险,我的 Gitea 放公网五年了,没问题的,我用 Docker 部署的,开了 watchtower 自动更新
    blackPanda
        41
    blackPanda  
       2024-09-18 18:02:17 +08:00
    1. git 使用 http 协议拉取和推送
    2. nginx 代理 git 的请求,并且开启客户端证书认证
    3. 本地安装你发的证书访问
    git config http.sslkey your.key
    git confgi http.sslcert your.crt
    pandaxin
        42
    pandaxin  
       2024-09-18 18:50:08 +08:00
    公网服务器部署 authelia + nginx 转发
    sopato
        43
    sopato  
       2024-09-19 08:41:13 +08:00 via Android
    只开放 ssh 协议就好,密钥对基本破解不了。如果还担心,自己再用 gotunnel 之类包装一层,所有需要访问 git 的人在本地机器启动一个通道指向 git ssh 端口就行
    SoyaDokio
        44
    SoyaDokio  
       2024-09-19 11:19:35 +08:00
    如果有专业的运维人员,恐怕不会来这里问。
    如果没有专业的运维人员,最低成本高效率的提案是使用现成的解决方案,比如用 GitHub ,把 repo 设置为 private 。
    Ipsum
        45
    Ipsum  
       2024-10-10 22:25:05 +08:00
    建议开 vpn 。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     944 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 22:06 PVG 06:06 LAX 14:06 JFK 17:06
    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