xianxiaobo
V2EX  ›  Linux

如果别人知道我的 mysql 用户名和密码,能够入侵我的服务器吗?

By xianxiaobo at 2018 年 11 月 15 日 · 10704 次点击

我有时候传代码会把 jdbc.properties 传上去。。。你们都是怎么做的呢

38 条回复  •  2018-11-16 09:06:08 +08:00
KingEngine
   1
KingEngine  
   2018 年 11 月 15 日   ❤️ 1
既然发现了问题,为什么不首先想到改密码?而是在 v2 发个帖?
xianxiaobo
   2
xianxiaobo  
OP
   2018 年 11 月 15 日
@KingEngine 改密码肯定会啊,只是很好奇这种问题能造成多大的伤害,以及大家都是怎么做的。
find456789
   3
find456789  
   2018 年 11 月 15 日   ❤️ 1
mysql 设置白名单 ip, 只允许 服务器 ip 访问, 这样安全性就会提升很多

, 如果你 mysql 谁都可以链接, 然后密码还暴露了, 人家拿到密码,你的所有数据都暴露无遗了
GoLand
   4
GoLand  
   2018 年 11 月 15 日   ❤️ 2
你的 MySQL 是外网也能访问吗......通常这种服务基础服务都是只有集群内网才能访问啊。
cat9life
   5
cat9life  
   2018 年 11 月 15 日   ❤️ 1
没有 block 外网访问的话肯定死翘翘啊,或者正好你们内网早就被人入侵过但是苦于无法提权,你这正还给了一个突破口。
markgor
   6
markgor  
   2018 年 11 月 15 日   ❤️ 4
那要看 mysql 的权限,还有 mysql 账户的权限
如果 mysql 是用 root 运行的,然后 mysql 账号也有 load_file 或 outfile 的话,那基本都能入侵你服务器
xianxiaobo
   7
xianxiaobo  
OP
   2018 年 11 月 15 日
@GoLand 个人服务器,刚开始学 java,mysql
xianxiaobo
   8
xianxiaobo  
OP
   2018 年 11 月 15 日
@markgor 懂了,谢谢大佬
markgor
   9
markgor  
   2018 年 11 月 15 日
正常做法:
mysql 创建独立的系统账号,严格控制权限体系,根据业务需求对指定的文件给予读写或只读权限。
mysql 内部的账号也做好权限划分,只给予业务所需的功能权限。

通过设定白名单,只允许本地访问或指定的 ip 链接(业务机器 ip 和堡垒机 ip )进行访问
mysql 整台机禁止外网连接
增加数据审核功能( mysql 有相关的插件,不过性能一般)

上面做法也是等保要求 3 级的做法
gaius
   10
gaius  
   2018 年 11 月 15 日
不要传服务器配置文件到公网
MaxLv
   11
MaxLv  
   2018 年 11 月 15 日 via iPhone
看权限 能写文件的话就直接写 shell 了
fumichael
   12
fumichael  
   2018 年 11 月 15 日
我前不久也想过这个问题,参照下面链接
https://www.v2ex.com/t/74245
passerbytiny
   13
passerbytiny  
   2018 年 11 月 15 日
你这不是废话吗

@find456789 #3
@GoLand #4
@markgor #6
他连配置文件不上传都不知道,这么高深的东西更不可能懂
ClutchBear
   14
ClutchBear  
   2018 年 11 月 15 日
设置禁止远程登录就是了.
只允许内网 ip 登录
zhuawadao
   15
zhuawadao  
   2018 年 11 月 15 日
拔网线啊
markgor
   16
markgor  
   2018 年 11 月 15 日
@zhuawadao 哈哈,按文件要求的确是这样
如果有重要事件发生,必须第一时间切断物理上的连接,
然后报警,
再检查日志和数据的完整。
msg7086
   17
msg7086  
   2018 年 11 月 15 日
有很多情况需要检查。比如,
你 MySQL 监听外网了吗。
你 MySQL 运行在 root 上了吗。
你泄露的账号密码是全球都可以登录的吗。
你防火墙开了吗。
等等,各种。不同的设置造成的后果严重性也各不相同。
SimonFu
   18
SimonFu  
   2018 年 11 月 15 日
上一家公司运维为了省事儿,
服务器 mysql 直接暴露公网,
而且还是 root 用户可以直接访问,
密码用的 enpass 随机生成的 32 位字符串不知可不可行。。。。
(针对业务系统,还是做了数据库用户的权限区分限制的,localhost 访问。)
nutting
   19
nutting  
   2018 年 11 月 15 日
微软的 sql server 可以,上大学时候机房默认装着,弱密码,可以用工具装木马
sonyxperia
   20
sonyxperia  
   2018 年 11 月 15 日
那相当于把服务器地址也暴露了吧,如果数据库和 tomcat 在同一台机子
LichMscy
   21
LichMscy  
   2018 年 11 月 15 日
1. docker run -e 传入密码
2. 用 jasypt 加密数据库密码
xuextx
   22
xuextx  
   2018 年 11 月 15 日   ❤️ 2
LZ 大概想知道的是,知道了 MYSQL,是否能入侵到整台服务器里面把
opengps
   23
opengps  
   2018 年 11 月 15 日
不专门研究,真的不敢相信入侵方法多种多样,能达到什么样的入侵效果往往是弱点组合起来的。所以不用多想,各方面努力加强防护吧
licoycn
   24
licoycn  
   2018 年 11 月 15 日
禁止远程访问 只可以本地访问拿到了也没有用 除非侵入了你的服务器
WordTian
   25
WordTian  
   2018 年 11 月 15 日 via Android
@SimonFu 一旦出现 sql 注入,那服务器基本就沦陷了
tedzhou1221
   26
tedzhou1221  
   2018 年 11 月 15 日 via Android
之前是用连接池工具 druid,带有解密功能。
所以 jdbc.properties 里面的数据库密码信息是密文
chinvo
   27
chinvo  
   2018 年 11 月 15 日 via iPhone
@SimonFu #18 为啥低权限账号反而做的安全策略更好……
xpresslink
   28
xpresslink  
   2018 年 11 月 15 日
应用和 mysql 跑在同一台服务器时候我都是直接用 unix socket 连接,把所有端口都关闭。
dko
   29
dko  
   2018 年 11 月 15 日
只开 localhost,不要用 root,配个 user 就好了
虽然 user 也可以提权,不过尽可能注意就好了。
martinsu
   30
martinsu  
   2018 年 11 月 15 日
华住酒店数据库泄露了解一下
shellj
   31
shellj  
   2018 年 11 月 15 日
把账号密码这些东西写在环境变量里
aino
   32
aino  
   2018 年 11 月 15 日
@shellj #31 好像海星
CoderEQ
   33
CoderEQ  
   2018 年 11 月 15 日
你在路上捡到一把钥匙,你能偷到这把钥匙主人家的东西吗
aaaaasam
   34
aaaaasam  
   2018 年 11 月 15 日
有访问授权控制的,如果你的 mysql 给的是 'root'@'1.1.1.1'就算你有密码,那也只能 1.1.1.1 这个地址去登录
CasualYours
   35
CasualYours  
   2018 年 11 月 15 日
mysql 权限过高是很容易侵入服务器的,mysql 的 system 命令可以执行服务器指令。
ihuotui
   36
ihuotui  
   2018 年 11 月 15 日 via iPhone
应用配置分离
largecat
   37
largecat  
   2018 年 11 月 15 日 via Android
只是写普通文章,传个配置文件不含服务器 ip 地址,拿到密码也不知道服务器在哪里吧
pythonCoder
   38
pythonCoder  
   2018 年 11 月 16 日   ❤️ 1
如果按照题目要求“能够入侵我的服务器吗?”,各位都跑题了;
1.如果没做 WEB、DB 的分离(应用和数据部署在不同的服务器),并且泄漏了 mysql 的 root 账户,你的服务器非常容易被入侵,这里的入侵是拿到 webshell ;

2.除了 1.这种情况,其它的最多也就是数据被查看、删除和修改,对服务器没什么任何影响。
Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
© 2026 V2EX · 74ms · 3.9.8.5