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

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

  •  
  •   turan12 · 2 天前 · 3836 次点击
    我公司原有一台 git 服务器放在内网,但最近因为业务需要,需要映射到公网大约一年时间。我能想到的就是用 git+ssh 部分提升安全性。请各位大佬再提供一些新的思路,谢谢。

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

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

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