V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhangpeter
V2EX  ›  信息安全

跟着网上博客的教程安装 hadoop,然后我的服务器就被入侵了

  •  
  •   zhangpeter · 2020-06-20 10:00:25 +08:00 · 7659 次点击
    这是一个创建于 1622 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在学习 hadoop 如何使用,谷歌搜索ubuntu hadoop,然后在网上找到了一篇博客:Ubuntu 16.04 上安装 Hadoop 并成功运行 | Chares's Blog

    如果你是在已有的一个用户存在下, 想安装 Hadoop 那么需要创建一个 Hadoop 用户,毕竟创建一个新的用户,配置环境相对更加干净一些。
    然后,接着上面的操作, 再对这个用户设置密码,可以简单设置为 hadoop(可以设置成你想设置的), 注意两次设置为相同的密码。
    为了我们后续的操作方便。我们这里对之前添加的 Hadoop 用户添加管理员的权限。

    当时没细想,真的创建一个用户名为 hadoop,密码也为 hadoop 的用户。然后今早凌晨收到了 digitalocean 发来的邮件:

    image.png

    当时我惊呆了,因为 root 用户的密码比较复杂,不敢相信有人破解成功了,然后想到了 hadoop 用户,果真在 Hadoop 目录下发现了木马文件:

    image.png

    惨痛的教训,不能相信网上的博客的内容,尤其是中文博客的内容。

    第 1 条附言  ·  2020-06-20 10:36:48 +08:00
    好吧,看到那么多人说这么简单的问题 lz 也没注意到,太垃圾了。我承认我水平不行,这么简单的事情都发了一贴,浪费了大家时间。
    76 条回复    2020-07-03 09:48:26 +08:00
    zhzy
        1
    zhzy  
       2020-06-20 10:04:10 +08:00 via iPhone
    ?这跟人家博客有什么关系???
    leeshuai
        2
    leeshuai  
       2020-06-20 10:05:23 +08:00
    这跟博客有啥关系,自己设置的密码太简单
    Deteriorator
        3
    Deteriorator  
       2020-06-20 10:06:51 +08:00
    和人家博客有啥关系?博客开始背锅了
    zhangpeter
        4
    zhangpeter  
    OP
       2020-06-20 10:07:22 +08:00
    @zhzy 他的博客建议创建一个用户名为 hadoop,密码也为 hadoop 的用户。如果服务器在公网上,这个用户会被远程登录,服务器被入侵。我觉得博客中至少提一下如果服务器位于公网,密码设置复杂点,不要使用弱密码。
    youxiachai
        5
    youxiachai  
       2020-06-20 10:07:25 +08:00   ❤️ 3
    天啊。。这都能怪写博客的人。。lz 是脑子怎么想的。。
    herozzm
        6
    herozzm  
       2020-06-20 10:09:21 +08:00 via Android   ❤️ 13
    如果你用了别人的一键安装脚本且没看脚本内容可以这样说,但是这个教程不是一键脚本啊,而且都是透明的命令行啊
    youxiachai
        7
    youxiachai  
       2020-06-20 10:10:01 +08:00
    @zhangpeter 这种属于运维的知识。。。方便自己开发这么搞有啥问题
    而且这种简单的一般是放在内网里的,较真一下就是扯远了。。
    我博客讲 1, 何必在教你 2 呢。。
    whitehack
        8
    whitehack  
       2020-06-20 10:10:01 +08:00   ❤️ 1
    `最后我们用 Hadoop 用户登录我们的电脑了,所以我们注销当前用户,注销后,在登录的界面中使用刚刚创建的 Hadoop 用户登录。`

    这操作很明显是有 ssh 权限的. 这教程还加了 sudo 权限.. 的确是有点误导.

    不过归根结底还是基础不牢呀. 当个教训以后就小心了.
    RJH
        9
    RJH  
       2020-06-20 10:11:57 +08:00
    我买了一把菜刀,不小心割伤了手,都怪生产菜刀的工厂把菜刀弄得太锋利了。
    Death
        10
    Death  
       2020-06-20 10:12:58 +08:00   ❤️ 1
    这是使用常用弱口令被爆了,和那博客的举例有啥关系
    它也说了 “可以设置成你想设置的”

    你的标题让人以为是博客的教程有后门
    22too
        11
    22too  
       2020-06-20 10:13:56 +08:00
    这个太正常了。你根本不知道,互联网上有多少 ssh 扫描。你这样的密码,几乎和不设置密码一样,自己的安全意识要提高啊。
    zhangpeter
        12
    zhangpeter  
    OP
       2020-06-20 10:14:35 +08:00   ❤️ 2
    @leeshuai
    @Deteriorator
    @youxiachai 我写一篇 ubuntu 开启 SSH 服务远程登录的博客,告诉来看博客的小白创建用户 root,密码也为 root,这不是误导是什么。
    zhch602
        13
    zhch602  
       2020-06-20 10:17:05 +08:00 via Android
    天才
    youxiachai
        14
    youxiachai  
       2020-06-20 10:18:36 +08:00
    @zhangpeter 问题是课程教你用的是 Hadoop 啊。。。
    认真来说跟服务器使用一点关系都没。。。你说的 ssh 登录就属于运维这块了啊。。。
    而且这块的博文,我就没见过你说的这种。。
    jzphx
        15
    jzphx  
       2020-06-20 10:19:31 +08:00
    @zhangpeter 这个怪不了博客主,人家是内网 Ubuntu,环境都不一样。
    daozhihun
        16
    daozhihun  
       2020-06-20 10:19:43 +08:00
    lz 真是个天才,要是有个教程说银行卡设置六位密码,比如 123456 (你自己定义),你是不是也会设置成 123456
    youxiachai
        17
    youxiachai  
       2020-06-20 10:21:24 +08:00   ❤️ 2
    @zhangpeter 我大概也明白 lz 的脑回路,觉得人家教就要从底层开始教全。。
    问题是我一个客户端跑 Hadoop 的。。。为啥还要把一堆怎么运维的东西也教给你。。。
    而且,你也没系统学过运维的知识,有点运维方面的常识也不至于在公网搞简单口令,这都能挂写博客的,有你这种读者真是悲哀
    810244966
        18
    810244966  
       2020-06-20 10:22:24 +08:00 via Android
    @zhangpeter 一般看教程学习的都是虚拟机折腾下啊,这种密码没毛病。既然你都部署到公网上去了,肯定会有一定的安全基础知识。
    youxiachai
        19
    youxiachai  
       2020-06-20 10:23:32 +08:00   ❤️ 1
    其实最搞笑的还是 lz 知道把 root 的命令搞得及其复杂。。然后其他用户就可放过了?
    很好奇 lz 平时怎么学习的。。。
    ChiangKaishek
        20
    ChiangKaishek  
       2020-06-20 10:24:56 +08:00
    涉及密码的这些东西,不设置弱密码本身就是常识.总之,看教程还是要带脑子的,无脑跟着教程敲不可取.博客不背锅.
    ctro15547
        21
    ctro15547  
       2020-06-20 10:28:40 +08:00
    以后密码记得改成自己的哦。 很多 mysql 教程也有用户名密码都是 mysql 的例子呢亲亲
    vk42
        22
    vk42  
       2020-06-20 10:29:12 +08:00
    虽然想笑,不过大家也放过 lz 吧,这种事情没有被毒打过一次可能都没啥记性,不过 lz 这个代价基本忽略不计了,很划算了其实……
    coolair
        23
    coolair  
       2020-06-20 10:29:23 +08:00   ❤️ 5
    额,打个比方,有人告诉你裸睡舒服,但是,你在公司午休的时候不能裸睡啊。环境不一样啊,博主教学用的是测试环境而已。
    youxiachai
        24
    youxiachai  
       2020-06-20 10:30:36 +08:00
    看了一下 lz 的主页,按道理 lz 的编程能力不弱啊。。。。
    只能说,真的没系统学习过运维相关的知识,对相关方面不敏感
    然后看了一下之前的帖子,也难怪。。lz 会怪写博客的人。。
    XanderChen
        25
    XanderChen  
       2020-06-20 10:31:39 +08:00   ❤️ 2
    好好地 hadoop 文档不看。

    看啥博客,百度上不知道有多少六七年前的玩意儿。

    当个教训吧。
    YFeei
        26
    YFeei  
       2020-06-20 10:34:27 +08:00 via Android
    看到你最后一段,觉得写博客的人好冤
    yanqiyu
        27
    yanqiyu  
       2020-06-20 10:34:52 +08:00 via Android
    不不不,典型常见账户名+密码同账户名+不限制 ssh 登录
    这就是要被 hack 的标志
    cnzjl
        28
    cnzjl  
       2020-06-20 10:38:14 +08:00
    不能怪博主啊,当个教训就好了
    saucerman8
        29
    saucerman8  
       2020-06-20 10:41:31 +08:00 via Android
    这事很显然是你自己的原因,你在服务器上装,新建用户和密码的时候这点风险都想不到吗?
    imdong
        30
    imdong  
       2020-06-20 10:43:29 +08:00 via iPhone   ❤️ 3
    楼主可能是比较菜,但没必要喷楼主,正好可以把教训教给论坛其他人。

    不要照抄网上的教程,大多不靠谱。要结合实际。
    创建用户,要么不要开启远程登录,要么密码复杂一点(或者禁用密码改用密钥登录)

    那个帖子有问题,但主要怪自己学艺不精。
    opengps
        31
    opengps  
       2020-06-20 10:44:48 +08:00
    习惯就好,公网环境安全问题本来就很恶劣,各种扫描器爆破工具实时运行,若密码等问题的弊端立刻会暴露,虽然运维角度讲只有几个地方进行调这个就能回避 90%的问题,我常年帮人上云,基本只讲这些就够大部分人用,但是这几个地方很多人都刚入门不会用好,大致如下:

    默认端口(安全组,防火墙,第三方主机安全工具,具体服务要协调到位)
    防火墙如规则
    强密码
    ip 白名单
    防火墙出规则(这个很少有人用到位)
    baobao1270
        32
    baobao1270  
       2020-06-20 10:58:21 +08:00
    我觉的楼主可能是觉得 root 用户复杂密码+SSH 就足以保障安全了
    单纯的弱密码并非足以导致此事故
    而是新用户的弱密码、SSHd 的错误配置和 sudo 权限的混乱三者共同导致的
    任何一起事故都不是单一原因导致的
    Cielsky
        33
    Cielsky  
       2020-06-20 11:07:21 +08:00 via Android
    @zhangpeter 这样提不就太过繁琐了,既然是教怎么安装,那就怎么简单怎么来,不相关的事少说
    liwl
        34
    liwl  
       2020-06-20 11:11:51 +08:00
    可以简单设置为 hadoop(可以设置成你想设置的)



    这个还提示的不到位?
    msg7086
        35
    msg7086  
       2020-06-20 11:14:55 +08:00   ❤️ 2
    > 设置密码
    > 然后,接着上面的操作, 再对这个用户设置密码,可以简单设置为 hadoop(可以设置成你想设置的), 注意两次设置为相同的密码。

    非常疑惑,一个系统账号为什么要设密码……adduser --system 他不香吗?
    huiyue
        36
    huiyue  
       2020-06-20 11:15:22 +08:00
    @zhangpeter 难道你不知道添加用户可以设置不允许远程登录?还有公网上,开 root 远程,怎么想的?
    Miscedence
        37
    Miscedence  
       2020-06-20 11:15:53 +08:00 via Android
    清奇的脑回路
    zhangpeter
        38
    zhangpeter  
    OP
       2020-06-20 11:27:39 +08:00
    @huiyue 好吧,本人真菜鸡,之前以为新增的用户默认是本地的,不知道需要设置禁止远程登录。公网 root 是因为 digitalocean 的 ubuntu 系统默认提供的用户就是 root 。
    xianxiaobo
        39
    xianxiaobo  
       2020-06-20 11:39:53 +08:00
    说到这个我就想到了安装 redis 不设置密码中挖矿病毒的事
    jinliming2
        40
    jinliming2  
       2020-06-20 11:54:07 +08:00
    这篇博客确实有问题,sudo 用户组没有限制,你把用户直接加到 sudo 组里,那么根本不需要 root 密码就能获得 root 权限了,因为 sudo 使用的是当前用户的密码。
    这种安全常识问题写到博客里,可以说为了方便代码示例这么写,但最起码也要标一个警告,这会带来安全风险!
    Esec
        41
    Esec  
       2020-06-20 11:55:22 +08:00 via Android
    看来上面这么多层禁用密码的提示楼主还是没看到,不过三两句介绍完事倒是很可能把自己锁外面,然后记得密码本一旦流出这台设备就不再保密了……
    lpts007
        42
    lpts007  
       2020-06-20 12:00:11 +08:00
    @zhangpeter 不用太过懊恼,吃一堑长一智。
    raaaaaar
        43
    raaaaaar  
       2020-06-20 12:12:55 +08:00 via Android
    这是意识问题,不是技术问题
    yukiloh
        44
    yukiloh  
       2020-06-20 12:19:57 +08:00   ❤️ 1
    https://blog.csdn.net/qq_28959531/article/details/78989635
    中文博客大部分不可信
    特别是连 markdown 都不会用的
    tingyunsay
        45
    tingyunsay  
       2020-06-20 12:41:04 +08:00
    博客要是值贴一段啥都不告诉你的代码,那就可以骂了,csdn 上以前总能看到 rm -rf ...
    imn1
        46
    imn1  
       2020-06-20 12:41:40 +08:00
    想起日本各种家用电器的说明书,事无巨细都写了,面向家庭主妇编写的
    huiyue
        47
    huiyue  
       2020-06-20 12:43:42 +08:00
    @zhangpeter 给你个建议。把你现在所有的用户梳理一遍,别被留后门了。只留一个用户可以远程(非 root ),再查看一下所有开放的端口,可疑的端口追踪一下进程,删掉。定时任务里面也看看。
    BrettD
        48
    BrettD  
       2020-06-20 12:45:33 +08:00 via iPhone
    菜刀说明书上面都要写清楚不能对着人吗?这种基本安全常识也要博客博主写出来?
    wdlth
        49
    wdlth  
       2020-06-20 12:53:06 +08:00   ❤️ 1
    你不是装了 hadoop,你是装了个蜜罐啊……
    Mirage09
        50
    Mirage09  
       2020-06-20 13:26:04 +08:00 via iPad
    邮件截图里的 ip 是你的 droplet 的地址吗?
    luckyrayyy
        51
    luckyrayyy  
       2020-06-20 13:29:38 +08:00
    建议报警,对博主采取强制措施
    darer
        52
    darer  
       2020-06-20 13:34:39 +08:00   ❤️ 11
    看了下楼主最近发的几个帖子

    > 跟着网上博客的教程安装 hadoop,然后我的服务器就被入侵了
    > 在 V2EX 上展示自己的博客地址是高危行为,我的博客 2 天收到了 6 万恶意访问请求
    > 我用腾讯云的服务器挂梯子,腾讯云把我服务器封了,大家有好用的服务器推荐吗?

    嗯…
    npm
        53
    npm  
       2020-06-20 13:41:44 +08:00
    做教程真的是不容易啊!

    我有时候也会遇到有人评论说:“这么简单的知识你也要说。。。?”
    嫌弃我讲的太详细。

    而楼主这个遇到了讲的不够详细,又指责博主讲得不详细。

    唉~真的不好伺候啊!

    讲的详细,你嫌弃啰嗦。
    讲得不详细,你又嫌弃讲得不够明确。
    baoshuai33
        54
    baoshuai33  
       2020-06-20 13:54:55 +08:00 via iPhone
    银行卡密码你设置的什么? 111111 ?
    hfutzj
        55
    hfutzj  
       2020-06-20 14:45:46 +08:00
    得出中文教程不可信。。。十分无语,建议自己摸索不要看教程
    zhangpeter
        56
    zhangpeter  
    OP
       2020-06-20 15:00:37 +08:00
    @msg7086 感谢这位老哥的回复,--system 很好用,学到了。
    rr41ns
        57
    rr41ns  
       2020-06-20 15:46:30 +08:00
    国家级甩锅表演艺术家
    zhangpeter
        58
    zhangpeter  
    OP
       2020-06-20 15:49:04 +08:00
    @npm 没有吧,我看到讲得很详细的博客底下的回复基本都是这篇博客讲得很详细

    [url=https://sm.ms/image/T7cXEZPxoe5UBNV][img]https://i.loli.net/2020/06/20/T7cXEZPxoe5UBNV.png[/img][/url]
    zhangpeter
        59
    zhangpeter  
    OP
       2020-06-20 15:56:33 +08:00
    @Mirage09 已经重装系统换 ip 了
    efaun
        60
    efaun  
       2020-06-20 16:01:22 +08:00
    果然,人穷是可以怪社会的
    winglight2016
        61
    winglight2016  
       2020-06-20 16:35:50 +08:00
    这不能怪人家不提醒你呀。因为默认情况下,云服务器本来就应该禁掉常用端口以外的端口,这样即使你用了弱密码也不影响,反之如果是暴露端口就不能使用弱密码——这种常识不是这篇文章的主题。

    楼上有说,小白的话会怎样怎样,知道自己小白就不要急着用云服务器呀,先在本地研究清楚安全问题怎么解决不是更合理吗?
    Tyuans
        62
    Tyuans  
       2020-06-20 16:54:27 +08:00
    root 都设置复杂密码了。。。怎么这个小事儿还能翻车。。。人博客里也提了改成自己的密码啊啊啊。。。
    cs419
        63
    cs419  
       2020-06-20 18:44:24 +08:00
    安全点都是只支持密钥登录
    偷懒点 端口改成 2w 以后呀
    irainsoft
        64
    irainsoft  
       2020-06-20 19:00:35 +08:00
    这我傻了,这也能甩锅... 很多软件安装时都是有个默认密码让用户自己改的,况且密码这个东西不都是每个人自己设置吗?难道银行介绍说交易密码不要设 123456 你就去设置个 123457 吗?我在自己博客上写教程时涉及密码时都不会给很复杂的密码因为可能会暴露我设置密码的习惯,一般给 demo 时都是使用软件默认密码或者 123456,但读者要是甚至连设置自己的密码这种行为都不愿意去做,那实在是没办法了。博客主写文章不是在为软件写官方文档,自然要挑着重点写,不可能从为软件单独创建帐号来详细些的(我写 Microsoft office 教程为什么要教你安装 Windows 呢)
    0312birdzhang
        65
    0312birdzhang  
       2020-06-20 20:11:24 +08:00 via iPhone
    把👴给逗乐了
    lewis89
        66
    lewis89  
       2020-06-20 20:20:46 +08:00
    新加用户 没有登录必要 换成 nologin 不是常规操作吗
    zhangpeter
        67
    zhangpeter  
    OP
       2020-06-20 21:43:07 +08:00
    @lewis89 是我孤陋寡闻了,之前学习 linux 时老师没提到这件事,网上自学看教程时也没有博客提到这件事。
    eallion
        68
    eallion  
       2020-06-20 21:44:15 +08:00 via Android
    走简易处理流程,楼主负主要责任,教程负次要责任。
    lewis89
        69
    lewis89  
       2020-06-20 21:50:07 +08:00
    @zhangpeter #67 /etc/passwd nologin 一般操作
    lightingtime
        70
    lightingtime  
       2020-06-21 00:05:40 +08:00
    这东西还要学校教的嘛?又和博客提到有什么关系?楼主就是不愿意承认自己疏忽了一定要找个外界因素来解释自己的愚蠢错误嘛?
    changgavin
        71
    changgavin  
       2020-06-21 02:01:18 +08:00
    只能说楼主没有认真看。博主只是说明注释用法。没让照着做
    tcpdump
        72
    tcpdump  
       2020-06-21 02:52:20 +08:00
    脑洞清奇
    FRYF
        73
    FRYF  
       2020-06-21 09:03:29 +08:00
    笑了,我一个外行都看笑了
    ximoer007
        74
    ximoer007  
       2020-06-23 09:41:29 +08:00
    弱口令 也要怪博客
    sowish
        75
    sowish  
       2020-07-02 15:17:06 +08:00
    怎么不怪谷歌呢,这搜索引擎居然把有漏洞的博客排在前面,简直吃人血馒头。
    dtgxx
        76
    dtgxx  
       2020-07-03 09:48:26 +08:00
    不是问题多么简单,是你人有问题,你一定要好好反思啊,要不我觉得你会错怪很多人还不自知。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1074 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 22:26 · PVG 06:26 · LAX 14:26 · JFK 17:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.