不得不把私有 git 服务器挂在公网一段时间,用什么方法能提高安全性? - V2EX
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
turan12
V2EX    git

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

  •  
  •   turan12 Sep 17, 2024 6415 views
    This topic created in 604 days ago, the information mentioned may be changed or developed.
    我公司原有一台 git 服务器放在内网,但最近因为业务需要,需要映射到公网大约一年时间。我能想到的就是用 git+ssh 部分提升安全性。请各位大佬再提供一些新的思路,谢谢。

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

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

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