V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
turan12
V2EX  ›  git

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

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

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

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

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