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

62 天前
 nnegier

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

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

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

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

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

安全是一个相对的概念.

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

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

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

或者你们有改数据需求 可以搞个 phpadmin 内网部署,vpn 连内网操作
ETiV
62 天前
必须 ssh 隧道或者 mysql 开 ssl
普通 mysql 协议是明文的,有心抓包的话,是能看到密码的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1021832

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX