不让连,因为如果密码不小心泄露就全完了,但我又想用 DataGrip 操作部分数据怎么办,怎样做到数据库安全,又能方便我使用这个工具?
我用 DataGrip 的原因是之前顾虑怕在服务器命令行里面忘加 where ,当然我知道大公司有评审又流程可以避免,但我这不是大公司,人少事杂。直接操作数据库的原因是有时候需要手动的给部分用户加点特权,所以会改点属性值。
1
datou 266 天前 1
这些数据库桌面客户端不都是可以 via SSH tunnel 么?
|
2
lllllliu 266 天前
你可以用 ssh 证书登录呀,不需要直接暴露数据库的端口,
|
3
8355 266 天前
忘记加 where ?????????
|
4
hefish 266 天前
直接端口映射,别怕。
|
5
tomczhen 266 天前
既要又要还要。
|
6
mylovesaber 266 天前
删除数据库的远程账户,只保留本地 root 账户,然后安装 nginx ,用 nginx 代理数据库链接,datagrip 添加 nginx 转发的链接就可以远程访问了
|
7
iyiluo 266 天前
自己项目的数据库会映射到公网,改端口+高强度密码。但是公司的数据从来不会映射到公网,一般是通过 vpn 或者堡垒机连接,那天数据库爆个 0day ,不用密码也能访问,这不完蛋
|
8
dif 266 天前
不会暴漏再外网,有远程连接需求就搞 VPN 。 另外 datagrip 不怎么好用。
|
9
woodfizky 266 天前
数据库不向外网开放的原因很明显不是怕你写 SQL 不加 where 。。
|
10
bthulu 266 天前
我这的数据库都是设置只允许 127.0.01 连接的, 任何内网外网都禁止连接, 仅允许调用附带安装的 API 接口执行查询更新操作. 其余任何操作, 都必须登录到这台主机才行.
|
11
cleanery 266 天前
用 ssh 跳板机
|
12
flyingcrp 266 天前
实际上楼主的意思是:
如何安全的通过外网去访问数据库. 实际上正确的策略是不怕公网数据库的. 公网访问数据库!=不安全 比如有限的重试次数限制 mysql 的(CONNECTION_CONTROL),pg 的(session_exec) 这样的方式,IP 白名单;如果是云上服务还可以有安全组等等等; 安全是一个相对的概念. 另外在当下,其实有类似于 bytebase( https://www.bytebase.com/) 这样的产品很好的解决了这个问题. 楼主有兴趣可以都了解一些 |
13
johnhuangemc2 266 天前
找到可以连接访问数据库又可以 SSH 登录的的服务器, 在 DataGrip 中可以配置 SSH tunnel 通过这台服务器访问数据库
|
14
kneo 266 天前 via Android
数据库暴露公网端口是大忌。
|
15
poopoopoopoo 266 天前
ssh 隧道
|
16
guo4224 266 天前
刑
|
17
vincent7245 266 天前
不让连就不连,虽然可以通过各种技术手段,但是从公司角度讲,这样是违规的,出了事肯定会追责。公司怎么规定的就怎么做
|
18
zsh2517 266 天前
ssh 代理,datagrip 应该是支持的;或者其他标准意义上的 VPN 工具组件虚拟内网
Re: @woodfizky #9 ,我觉得题主的意思是,如果使用命令行之类的方式,delete 、update 忘了写 where 容易出事;但是有个界面的话,小改动(如“需要手动的给部分用户加点特权”)就可以直接 GUI 的形式修改。 |
19
iyaozhen 266 天前
我告诉你 GUI 客户端更容易出错
之前我改了部分数据,类似表格一样想一行粘贴进去,但是不知道为啥整个表就只有那一行了,幸好非核心数据 或者你们有改数据需求 可以搞个 phpadmin 内网部署,vpn 连内网操作 |
20
ETiV 266 天前 via iPhone
必须 ssh 隧道或者 mysql 开 ssl
普通 mysql 协议是明文的,有心抓包的话,是能看到密码的 |
21
Projection 266 天前
除了 VPN 、SSH 隧道,mTLS 也可以,甚至可以把这三个组合在一起用。
|
22
ration 266 天前 via Android
开通内网访问。远程另外一台服务器访问数据库
|
23
dayeye2006199 265 天前
ssh 上去让我看看
|