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

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

  •  
  •   turan12 · 2 天前 · 3833 次点击
    我公司原有一台 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 小时 16 分钟前 via Android
    只开放 ssh 协议就好,密钥对基本破解不了。如果还担心,自己再用 gotunnel 之类包装一层,所有需要访问 git 的人在本地机器启动一个通道指向 git ssh 端口就行
    SoyaDokio
        44
    SoyaDokio  
       12 小时 38 分钟前
    如果有专业的运维人员,恐怕不会来这里问。
    如果没有专业的运维人员,最低成本高效率的提案是使用现成的解决方案,比如用 GitHub ,把 repo 设置为 private 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2383 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:57 · PVG 23:57 · LAX 08:57 · JFK 11:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.