• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cnfzv
V2EX  ›  程序员

如果 SSH 仅允许密钥登录,还有必要禁用 ROOT 登录吗?

  •  
  •   cnfzv · Nov 24, 2018 · 9020 views
    This topic created in 2905 days ago, the information mentioned may be changed or developed.

    如果 SSH 仅允许密钥登录,单从防止破解入侵方面的安全性来说,有必要禁用 ROOT 登录吗?

    请各位大佬解惑

    Supplement 1  ·  Nov 24, 2018
    我的意思是只允许密钥登录,那么用 root+密钥 登录相对 禁用 ROOT+密钥 登录来说足够安全么?
    38 replies  •  2018-11-26 09:36:17 +08:00
    honeycomb
    honeycomb
    Nov 24, 2018 via Android
    1
    有需要的话就做,因为两者不是同一个方面的保护
    shangfabao
    shangfabao
    Nov 24, 2018 via Android
    2
    不相干的,密钥用户权限一般都是 ROOT
    shangfabao
    shangfabao
    Nov 24, 2018
    3
    @shangfabao 不相干的,密钥用户权限一般都不是 ROOT
    lfzyx
    lfzyx
    Nov 24, 2018
    4
    没必要
    likuku
    likuku
    Nov 24, 2018
    5
    你能保证 迷钥 绝对不会外泄么?世上没有绝对的安全。
    cnfzv
    cnfzv
    OP
    Nov 24, 2018
    6
    @likuku 单从破解入侵方面说,如果说泄露那么禁用什么都不够安全啊
    cnfzv
    cnfzv
    OP
    Nov 24, 2018
    7
    @shangfabao 我意思是说只允许密钥登录,那么用 ROOT 登录单从防止破解入侵方面来说足够安全么
    dot2017
    dot2017
    Nov 24, 2018
    8
    我觉得没必要
    xiaqi
    xiaqi
    Nov 24, 2018 via Android❤️1
    9
    之前有 v 友说来着,对于安全防护,从来都不要嫌多。因为,你如何确保 root 登录验证部分始终没有漏洞?也许是还有的没有被人发现?就想当年的 bash 漏洞,谁会想到,这玩意竟然有漏洞?
    另外,如果是 root 直接登录然后不切换普通用户就执行软件命令的更加需要禁止 root 登录了。
    shangfabao
    shangfabao
    Nov 24, 2018❤️1
    10
    @cnfzv 没有完全的安全,但是允许 root 登录过不了安全检测这一关,另外禁用 root 就是你什么用户登录你自己的账户干自己的事,上去就是 ROOT 用户,万一 RM -RF 了呢?
    xpresslink
    xpresslink
    Nov 24, 2018❤️1
    11
    理念上说就不应该直接用 root 账号来操作,应该建一个其它账号授给必要的 sudo 权限。
    把 root 登录禁用肯定会更安全一些,其它账号就很难猜出来。
    从我们生产的运维实践来说,通常为了安全要设置防火墙用 IP 白名单来限制访问。
    Tink
    Tink
    Nov 24, 2018 via iPhone
    12
    从来不用 root 登陆
    likuku
    likuku
    Nov 24, 2018
    13
    @cnfzv 你主题已经透露出是在“关注安全”了,那么最基本的安全准则就是“权限最小化”,只给必须的最小权限。

    看似多余的,一概不给。
    nosay
    nosay
    Nov 24, 2018
    14
    一般来说,通过修改端口,禁 ROOT,强密码,在应对破解这方面就已经够用了。
    而通过密钥登陆,虽然安全性得到进一步提升,但是却失去了密码的便利。如果在讨论是否禁用 ROOT 带来更大的提升,就有些执念了。
    所以最终我选择了堡垒机....
    likuku
    likuku
    Nov 24, 2018
    15
    @shangfabao 想起还有常见的状况:
    一些人开了终端登陆到服务器上,终端不关闭,也不锁屏,就离开工位作其它事,
    若你是 root 登陆的,此时任何人在电脑前都可以直接用终端以 root 身份作一切事情了。
    likuku
    likuku
    Nov 24, 2018
    16
    再次感慨 aws 的 ec2 主机,假若用 AMI ( Amazon 自己作的系统镜像) 初始化的,
    只提供密钥登陆,只提供一个非 root 账户 (主机运行前根本不提供你开设其它账户的功能)
    rogwan
    rogwan
    Nov 24, 2018 via iPhone
    17
    root + 16 位密码,和 4 为用户名 **** + 12 位密码。被破解的概率是一样的吗?
    rogwan
    rogwan
    Nov 24, 2018 via iPhone
    18
    位
    likuku
    likuku
    Nov 24, 2018
    19
    @rogwan 所以,现在云端时代,更先进的理念:服务要设计成根本不需要 ssh,抛弃传统账密登陆管理的方式。

    你锁匠再厉害,我连门都不留给你,锁匠变废物了。
    liuxu
    liuxu
    Nov 24, 2018 via Android
    20
    既然大家这么在意安全,是不是该把你们的 selinux 设置好

    我的服务器是 root 加秘钥,禁止密码登录
    bellchu
    bellchu
    Nov 24, 2018
    21
    passwd root -l

    难道不是每次做好系统的第一步吗?
    brotherlegend
    brotherlegend
    Nov 24, 2018 via Android
    22
    就怕你自己 rm /* -rf
    ETiV
    ETiV
    Nov 25, 2018
    23
    redis 漏洞了解一下~

    如果没禁止 root 登录,可以通过这个漏洞加 key,进而完成登录
    hzwjz
    hzwjz
    Nov 25, 2018 via Android
    24
    如无必要,完全不用 root 登录,实在不行,那就 sudo -i 切过去也行
    radc
    radc
    Nov 25, 2018
    25
    root 的意义不单单是防止暴力破解, root 的意义在于, 任何一台服务器上, 都有一个叫做 root 的用户 不禁止的话 可以用这个 *已知的* 用户名暴力破解 诚然 key 登录基本没有可能暴力破解, 但是都设置 key 了, 改一下 sshd 配置不好吗?每天看着 log 里尝试登录的错误报告也不好吧....
    wwhc
    wwhc
    Nov 25, 2018
    26
    一定要禁止 root 登录,即使使用密钥登录,也应许可普通帐号密码登录,而且也一定要改用非默认端口
    t6attack
    t6attack
    Nov 25, 2018
    27
    按我自己的习惯,低权限操作碍手碍脚,不能忍。

    我的配置方法是:比如我想以 t6attack 为名登录.
    win 服务器:把 administrator 改名为 t6attack,另外新建个 administrator,给 guest 权限。远程桌面只允许 t6attack 登录。
    linux 服务器:新建个用户 t6attack,将其等同于 root 权限,相当于 root 的别名。ssh 只允许这个用户名登录。禁止 root 登录。centos 5/6 都能做到,7 还没研究过。

    这样登进去,既是最高权限,又不是用原名,有效防止暴破。
    jorneyr
    jorneyr
    Nov 25, 2018
    28
    我们不管啥都是 root 登录, 运维给的, 嘎嘎
    msg7086
    msg7086
    Nov 25, 2018
    29
    现在所有的服务器都是 root 登录,root 权限做所有的操作。
    我登录服务器本来就是上去管理的,所有的操作都是特权操作,用普通账号登录以后再 sudo 和直接 root 登录没有一毛钱的区别,就不多给自己添堵了。

    @radc 设置成禁止密码登录以后,暴力破解连输密码的机会都没有,根本无法尝试爆破,也不会留下密码错误的报告。
    msg7086
    msg7086
    Nov 25, 2018
    30
    @msg7086 s/^/我 /
    lrh3321
    lrh3321
    Nov 25, 2018 via Android
    31
    配置好以后就不使用 root 用户了。
    isCyan
    isCyan
    Nov 25, 2018 via Android
    32
    一个人使用的话,root 也无妨,毕竟只有一个超级管理员。
    但是密钥登录一定要上
    julyclyde
    julyclyde
    Nov 25, 2018❤️1
    33
    @t6attack 说明你不懂技术
    zealzz
    zealzz
    Nov 25, 2018 via Android
    34
    直接禁用密码登陆,只允许公钥登陆。并且登陆的是非 root 用户,顺便把 22 端口也改了。暴力破解概率为 0。公钥就算公布给别人也没啥影响。
    BOYPT
    BOYPT
    Nov 25, 2018
    35
    PermitRootLogin without-passwor
    能默写的配置
    realpg
    realpg
    Nov 25, 2018
    36
    允许 root 和不允许 root 的安全风险不取决于密码泄露什么的

    主要是不允许 root 首先你获取用户名就有难度了……
    Dk2014
    Dk2014
    Nov 25, 2018
    37
    取决于你服务器上东西的价值
    像我这种上面基本没啥重要的,最多改个只允许密钥登录
    wizardoz
    wizardoz
    Nov 26, 2018
    38
    两回事!
    就算禁用了远程登录,你也不应该用 root 登录。
    很多软件发现是 root 用户,直接不予启动,IRC 发现用户名是 root 会直接把你踢掉。这就是在提醒大家不要直接使用 root 用户!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   716 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 72ms · UTC 19:49 · PVG 03:49 · LAX 11:49 · JFK 14:49
    ♥ Do have faith in what you're doing.