Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
solider245
V2EX  ›  Linux

不懂就问:只用公钥登录,应该就不会被小米开除吧?

  •  
  •   solider245 · Nov 18, 2020 · 6847 views
    This topic created in 2183 days ago, the information mentioned may be changed or developed.
    刚才有个小米的帖子发现找不到了。
    在这里问下,很好奇出现这种情况。
    理论上来说,我现在的服务器,把密码登录和 root 用户都关闭了。然后所有的用户只允许公钥登录,这样的话即便是端口走了做了映射,被暴露了,别人也无法登录啊?

    想问下其他运维,作为初学者,仅仅做到我上面这些东西,应该就足够安全了吧?还有什么其他漏洞会被钻吗?
    34 replies  •  2020-12-02 12:21:25 +08:00
    dangyuluo
    dangyuluo
    Nov 18, 2020
    1
    真想开除你,办公室喝水喝太多都可以作为理由
    guxingke
    guxingke
    Nov 18, 2020
    2
    不要做映射
    不要做映射
    不要做映射

    =========
    假设你映射出去的应用权限够高又有漏洞,所在主机就容易被攻击。
    ditel
    ditel
    Nov 18, 2020 via Android
    3
    不是,主要是被开了端口,只要开了外部访问的端口就有问题
    julyclyde
    julyclyde
    Nov 18, 2020❤️3
    4
    安全是一个系统工程
    并不是“只要做到了某一小项”就足够的
    dangyuluo
    dangyuluo
    Nov 18, 2020
    5
    另外你是在用[私钥]登陆,公钥是放在服务器上的
    solider245
    solider245
    OP
    Nov 18, 2020
    6
    @dangyuluo 这个是两回事啊。公网暴露端口,光我在 V2EX 潜水就看到不少网友自曝了。但是理论上我只要只允许公钥登录,就没有漏洞了啊。除非私钥也被别人给截取了,那个就厉害了。

    因为我在家自学,我看运维第一步,基本都是关闭 root 登录,关闭密码登录,开启公钥登录。
    murmur
    murmur
    Nov 18, 2020❤️3
    7
    问题不在于是做了端口映射,问题的关键在于“服务器被入侵”得有人担责,恰好“有人违反公司章程”

    如果你们公司要求定期更换校验方式、要求设置防火墙、要求关掉一系列端口,就包括最常见的 redis 入侵,你没要求做,出了问题一样有人要背锅
    tabris17
    tabris17
    Nov 18, 2020
    8
    你这是在锯开水桶的木板
    murmur
    murmur
    Nov 18, 2020
    9
    我再拓展下,比如你电脑被入侵,资料泄露,你其实什么都没做,就是用了个盗版软件,别人就可以说你的盗版软件带后门,不需要理由,因为很多公司只有 IT 部门有权限安装软件
    solider245
    solider245
    OP
    Nov 18, 2020
    10
    @ditel 但是开的端口一般都是用来登录的呀。如果不是登录的话,那就是应用端口,这样也能被攻击吗?
    不是很懂这块。
    yushuda
    yushuda
    Nov 18, 2020
    11
    公司说不要就不要。
    就像 RDP 虽说改了账号密码不泄露的情况下别人爆破不到。
    但是谁能保证 RDP 自身不出洞呢。

    这只是问题的一小部分,当员工故意违反公司规定,离收拾东西走人不远了。。。
    yushuda
    yushuda
    Nov 18, 2020
    12
    @solider245 一个 16 位随机密码和一个证书,泄露概率都差不多了。
    没有人会傻到爆破 16 位随机密码(民用),能截获明文密码,就有很大概率截到密钥。
    solider245
    solider245
    OP
    Nov 18, 2020
    13
    @murmur 哦,我懂了,你说的这个就是日常管理找一个人背锅。简单来说级是出了事,领导不背锅,这个时候找找有没有人有违规操作。如果你违规操作了,那就以安全风险的理由把你开掉?
    但是我想说的是,就正常来说,应该如何保障自己服务器的安全呢?
    redis 入侵这块我看过相关的新闻,怎么做到的不知道。之前还有 docker 漏洞以及 ubuntu 前两天的登录漏洞。

    是不是可以这样说,只要你把不相关的端口暴露出来了。只要对面能力够强,水平够高,总能找到方法入侵?
    dangyuluo
    dangyuluo
    Nov 18, 2020
    14
    @solider245 你也知道这是"理论上",没有哪个软件 /服务 /系统敢说自己没有漏洞的。公司 IT 是吃干饭的么,发现你的机器有异常流量就够你喝一壶的了。君子不立于危墙之下,何必让自己处于陷阱呢?暴露个端口就这么香么。实在需要在家办公就和公司申请一台笔记本,全程 VPN 。

    另外你还是没搞清楚公钥私钥😂
    solider245
    solider245
    OP
    Nov 18, 2020
    15
    @yushuda 明白了。理论上来说应该是有一个员工操作手册来指导员工操作的。
    可是之前上班的时候发现,几乎遇到的所有的公司都没有相关的手册,很多都是口头通知或者不知道写在哪里。出了事就翻出来,说你违规然后干你。
    murmur
    murmur
    Nov 18, 2020
    16
    @solider245 这个应该看你们的公司规章制度,服务器是要巡检的,要监控的,日志是要看要分析的,不是说系统架起来就扔那,巡检只是看一下硬盘有没有烂掉换一下
    GeruzoniAnsasu
    GeruzoniAnsasu
    Nov 18, 2020
    17
    被入侵根本就不是 ssh 那个端口导致的

    而是 redis mysql 有漏洞的 web 服务 这些东西开到外网去 才导致的被入侵

    害搁着登录呐?你锁了门窗户没装
    kop1989
    kop1989
    Nov 18, 2020
    18
    服务器暴露到公网上,未见得只有“破 @解密码登录”这一条道。漏洞导致夺权也是有可能的。
    所以讨论计算机安全,不能带“理论上”这三个字。

    这就像是,你打了新 a 冠疫 a 苗,那么理论上你就免疫了,你愿意和新 a 冠病 a 毒阳性患者密切接触一个月么
    AngryPanda
    AngryPanda
    Nov 18, 2020
    19
    我设置了端口仅对我的 IP 开放
    Xusually
    Xusually
    Nov 18, 2020❤️2
    20
    和你暴露什么服务 什么端口没关系。

    你暴露出去 这个事儿本身是不可以的。

    就你举的这个例子,假如 OpenSSH 有漏洞,或者用到的 Openssl 有漏洞,黑客拿着 0day 顺路就可以进来了。密钥认证只是过滤掉很泛滥的密码字典爆破。

    当然服务暴露在外都是有风险的,比如 web 服务,nginx 或者 apache 、caddy 有漏洞的话,一样被入侵,但是这是服务提供方主动暴露的。你自己暴露公司内部出去就不行了。
    Daybyedream
    Daybyedream
    Nov 18, 2020
    21
    挂 VPN 吧- - 没得话公司电脑开着然后远程吧
    index90
    index90
    Nov 18, 2020
    22
    问题很简单,整个公司的网络安全依赖你个人对私钥的保护。
    godblessumilk
    godblessumilk
    Nov 18, 2020 via Android
    23
    小米内网外面的那层防火墙是纸吧?怪实习生把纸捅破了?欲加之罪何患无辞?大 E 了哈,这小米它来骗,来偷袭这 69 天的小同志,这好吗?这不好。


    另外,该实习生需要和马老师学习,提高姿势水平,直接用 SSH 从内网出去,风险太高。搞不好隧道打穿了,自己还没用上,外面的人先顺着 SSH 隧道爬进了内网,耗子尾汁,好好反思。

    如果只是想去外网查资料看图文看视频,可以部署一台 https + websocket 的服务器,作为跳板鸡,开发狗先在内网用浏览器的代理插件,连上外网的这台跳板鸡,跳板鸡再去访问外面广阔的世界,一旦跳板鸡在外觅食啄到了啥玩意儿,就通过 websocket,主动把觅到的食投喂给内网的开发狗,比直接 SSH 香多了。不过前提是你能连上这台跳板鸡,也就是跳板鸡的 ip 不被公司的防火墙拉黑。
    wangkun025
    wangkun025
    Nov 18, 2020
    24
    no zuo no die, do not try.
    skylancer
    skylancer
    Nov 18, 2020
    25
    @godblessumilk 我笑了,今日最佳笑话,有请后面的人来开喷
    wjhjd163
    wjhjd163
    Nov 18, 2020 via Android
    26
    有请当年那波暴露 RDP3389
    被 CVE-2019-0708 阴了一手的员工们发言
    acmore
    acmore
    Nov 18, 2020
    27
    这是管理的事情而不是技术的事情,管理最忌讳事之一的就是给特例开口子。
    就算刨除其他所有技术层面的因素,如果规则说不能暴露端口那么还是需要遵守的,即使真的从理论上证明了暴露端口的安全性也一样。
    itskingname
    itskingname
    Nov 18, 2020
    28
    公钥在服务器上,私钥在你电脑上。你是通过私钥登录的。如果你的电脑被入侵,别人从你电脑上拿到了私钥,就可以登录你的服务器了。
    sadfQED2
    sadfQED2
    Nov 18, 2020 via Android
    29
    @solider245 小米有相关手册,而且入职第一天就会要求熟悉。手册上面明确写了禁止暴露服务器到公网,就算是线上业务需要暴露公网也要单独申请并且经过安全测试才能开端口

    另外,你只要开了端口就是风险,因为你你系统没有漏洞
    nealwx
    nealwx
    Nov 18, 2020 via iPhone
    30
    那个人发贴出来,也是违反公司规定的
    user0
    user0
    Nov 19, 2020 via Android
    31
    我也想知道 ssh 私钥登录安不安全。大家能不能不要再说规章制度了,肯定是权衡利弊,自担风险啊。能不能从技术的角度说一下分析一下这个问题?
    ErnieSauce
    ErnieSauce
    Nov 19, 2020 via iPhone
    32
    在 redis 未正确配置安全策略的情况下 允许所有连接接入且无密码和有效限制时 可以通过 redis 写入公钥到目标服务器.ssh 目录下 攻击者就可以直接登录了 这只是一种方式 不过组合在特定情况下使用 其实并没有说绝对会有危害 只是增加了风险 也不符合管理条例
    zlowly
    zlowly
    Nov 19, 2020
    33
    可以搜一下 openssh cve 每年都暴出很多漏洞。
    即使不是直接入侵,还是有很多隐患你可能忽略的,例如拒绝服务、信息泄露等等。
    zhao305149619
    zhao305149619
    Dec 2, 2020
    34
    2FA,加动态密码
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4476 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 01:14 · PVG 09:14 · LAX 17:14 · JFK 20:14
    ♥ Do have faith in what you're doing.