V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
nnegier
V2EX  ›  程序员

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

  •  
  •   nnegier · 2024-03-08 14:13:21 +08:00 · 2954 次点击
    这是一个创建于 366 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    安全是一个相对的概念.

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

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

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

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