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

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

  •  
  •   zhangpeter · 56 天前 · 5790 次点击
    这是一个创建于 56 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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



    这个还提示的不到位?
    msg7086
        35
    msg7086   56 天前   ❤️ 2
    > 设置密码
    > 然后,接着上面的操作, 再对这个用户设置密码,可以简单设置为 hadoop(可以设置成你想设置的), 注意两次设置为相同的密码。

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

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

    嗯…
    npm
        53
    npm   56 天前
    做教程真的是不容易啊!

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

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

    唉~真的不好伺候啊!

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

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

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