如果别人知道我的 mysql 用户名和密码,能够入侵我的服务器吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
xianxiaobo
V2EX    Linux

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

  •  
      xianxiaobo 2018-11-15 09:59:25 +08:00 10005 次点击
    这是一个创建于 2590 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    上面做法也是等保要求 3 级的做法
    gaius
        10
    gaius  
       2018-11-15 10:26:02 +08:00
    不要传服务器配置文件到公网
    MaxLv
        11
    MaxLv  
       2018-11-15 10:30:21 +08:00 via iPhone
    看权限 能写文件的话就直接写 shell 了
    fumichael
        12
    fumichael  
       2018-11-15 10:36:03 +08:00
    我前不久也想过这个问题,参照下面链接
    t/74245
    passerbytiny
        13
    passerbytiny  
       2018-11-15 10:37:13 +08:00
    你这不是废话吗

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

    2.除了 1.这种情况,其它的最多也就是数据被查看、删除和修改,对服务器没什么任何影响。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5578 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 06:33 PVG 14:33 LAX 22:33 JFK 01:33
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86