V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nnegier
V2EX  ›  程序员

你们的数据库开放外网 IP 链接吗,我想用 DataGrip

  •  
  •   nnegier · 264 天前 · 2782 次点击
    这是一个创建于 264 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不让连,因为如果密码不小心泄露就全完了,但我又想用 DataGrip 操作部分数据怎么办,怎样做到数据库安全,又能方便我使用这个工具?

    我用 DataGrip 的原因是之前顾虑怕在服务器命令行里面忘加 where ,当然我知道大公司有评审又流程可以避免,但我这不是大公司,人少事杂。直接操作数据库的原因是有时候需要手动的给部分用户加点特权,所以会改点属性值。

    第 1 条附言  ·  263 天前
    #1 已解。谢谢 1 楼,谢谢各位朋友。
    23 条回复
    datou
        1
    datou  
       264 天前   ❤️ 1
    这些数据库桌面客户端不都是可以 via SSH tunnel 么?
    lllllliu
        2
    lllllliu  
       264 天前
    你可以用 ssh 证书登录呀,不需要直接暴露数据库的端口,
    8355
        3
    8355  
       264 天前
    忘记加 where ?????????
    hefish
        4
    hefish  
       264 天前
    直接端口映射,别怕。
    tomczhen
        5
    tomczhen  
       264 天前
    既要又要还要。
    mylovesaber
        6
    mylovesaber  
       264 天前
    删除数据库的远程账户,只保留本地 root 账户,然后安装 nginx ,用 nginx 代理数据库链接,datagrip 添加 nginx 转发的链接就可以远程访问了
    iyiluo
        7
    iyiluo  
       264 天前
    自己项目的数据库会映射到公网,改端口+高强度密码。但是公司的数据从来不会映射到公网,一般是通过 vpn 或者堡垒机连接,那天数据库爆个 0day ,不用密码也能访问,这不完蛋
    dif
        8
    dif  
       264 天前
    不会暴漏再外网,有远程连接需求就搞 VPN 。 另外 datagrip 不怎么好用。
    woodfizky
        9
    woodfizky  
       264 天前
    数据库不向外网开放的原因很明显不是怕你写 SQL 不加 where 。。
    bthulu
        10
    bthulu  
       264 天前
    我这的数据库都是设置只允许 127.0.01 连接的, 任何内网外网都禁止连接, 仅允许调用附带安装的 API 接口执行查询更新操作. 其余任何操作, 都必须登录到这台主机才行.
    cleanery
        11
    cleanery  
       264 天前
    用 ssh 跳板机
    flyingcrp
        12
    flyingcrp  
       264 天前
    实际上楼主的意思是:
    如何安全的通过外网去访问数据库.

    实际上正确的策略是不怕公网数据库的. 公网访问数据库!=不安全

    比如有限的重试次数限制 mysql 的(CONNECTION_CONTROL),pg 的(session_exec) 这样的方式,IP 白名单;如果是云上服务还可以有安全组等等等;

    安全是一个相对的概念.

    另外在当下,其实有类似于 bytebase( https://www.bytebase.com/) 这样的产品很好的解决了这个问题. 楼主有兴趣可以都了解一些
    johnhuangemc2
        13
    johnhuangemc2  
       264 天前
    找到可以连接访问数据库又可以 SSH 登录的的服务器, 在 DataGrip 中可以配置 SSH tunnel 通过这台服务器访问数据库
    kneo
        14
    kneo  
       264 天前 via Android
    数据库暴露公网端口是大忌。
    poopoopoopoo
        15
    poopoopoopoo  
       263 天前
    ssh 隧道
    guo4224
        16
    guo4224  
       263 天前
    vincent7245
        17
    vincent7245  
       263 天前
    不让连就不连,虽然可以通过各种技术手段,但是从公司角度讲,这样是违规的,出了事肯定会追责。公司怎么规定的就怎么做
    zsh2517
        18
    zsh2517  
       263 天前
    ssh 代理,datagrip 应该是支持的;或者其他标准意义上的 VPN 工具组件虚拟内网

    Re: @woodfizky #9 ,我觉得题主的意思是,如果使用命令行之类的方式,delete 、update 忘了写 where 容易出事;但是有个界面的话,小改动(如“需要手动的给部分用户加点特权”)就可以直接 GUI 的形式修改。
    iyaozhen
        19
    iyaozhen  
       263 天前
    我告诉你 GUI 客户端更容易出错

    之前我改了部分数据,类似表格一样想一行粘贴进去,但是不知道为啥整个表就只有那一行了,幸好非核心数据

    或者你们有改数据需求 可以搞个 phpadmin 内网部署,vpn 连内网操作
    ETiV
        20
    ETiV  
       263 天前 via iPhone
    必须 ssh 隧道或者 mysql 开 ssl
    普通 mysql 协议是明文的,有心抓包的话,是能看到密码的
    Projection
        21
    Projection  
       263 天前
    除了 VPN 、SSH 隧道,mTLS 也可以,甚至可以把这三个组合在一起用。
    ration
        22
    ration  
       263 天前 via Android
    开通内网访问。远程另外一台服务器访问数据库
    dayeye2006199
        23
    dayeye2006199  
       263 天前
    ssh 上去让我看看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5514 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 08:39 · PVG 16:39 · LAX 00:39 · JFK 03:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.