AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 117570
In Process
Kousha
Kousha
Asked: 2010-02-28 20:10:00 +0800 CST2010-02-28 20:10:00 +0800 CST 2010-02-28 20:10:00 +0800 CST

远程根登录

  • 772

我知道您为保护服务器所做的第一件事就是禁止远程 root 登录。

密码很弱;人们如何看待只允许通过 ssh 密钥或其他无密码方法进行 root 登录。

哪些方法是最好的?最好不要冒险吗?是否使用辅助帐户进行 ssh-ing 并使用su -真的增加了任何安全性?

serverfault.com 上的人如何访问远程服务器上的根目录?

linux security login ssh root
  • 4 4 个回答
  • 955 Views

4 个回答

  • Voted
  1. Jim Dennis
    2010-02-28T22:48:11+08:002010-02-28T22:48:11+08:00

    在大多数情况下,实际上禁用远程 root 登录几乎没有什么好处。它略微有助于执行管理员通过自己的帐户登录并在su必要时进行 root 的策略(或sudo可能与sudosh...一起使用,具体取决于您的策略)。

    创建极长且繁琐的 root 密码(只要您还没有使用古老的 DES+12 位盐哈希作为密码就有效)在执行此类策略方面同样有效。

    我熟悉的一个站点有一个系统,其中为每个主机随机生成唯一密码,存储在数据库中,然后推送到系统。管理员需要使用ssh他们的普通帐户,并且sudo对于大多数操作。但是,他们可以通过基于 SSL 的内部 Web 服务访问 root 密码(这进一步需要他们的 RSA SecurID 令牌和 PIN)。获取根密码需要输入理由(通常是指向 Remedy(TM) 票号的链接)并在定期审核的地方进行访问。直接使用 root 密码的几个可接受的原因之一是在系统fsck在引导过程中停止的情况下......和sulogin需要真正的 root 密码才能手动运行文件系统检查和修复过程。(有一些关于替代方法的讨论 --- 这对于 Linux 来说相对容易,但是当您尝试扩展您的过程以解决许多遗留的 HP-UX、AIX 和较旧的 SunOS 和 Solaris 系统时变得更加困难在那种环境下仍在生产中)。

    在某些极端情况下,需要 root 密码 --- 或者至少是最好的替代方案。保持它可用,同时使其对您可以预期的各种威胁具有足够的鲁棒性通常是您的最佳策略。

    我知道的另一个网站有一个相当优雅的去中心化账户管理方法。他们有 user-* 和 sudo-* 包(想想 RPM),它们使用正常的包管理程序和自动化基础设施安装到系统中。在他们的情况下, sudo-* 包依赖于相应的 user-* 包。这很好,因为它允许您拥有具有本地化帐户的机器集群(所有帐户都是管理员、开发人员、支持人员或“无头”帐户),并消除了对 LDAP/NIS 或其他网络身份和身份验证服务的依赖。(这减少了系统之间的耦合,使它们更加健壮)。

    有人认为我喜欢这种方法是因为它提供了灵活性。任何sudo有权访问的人都可以发出命令来添加普通用户或其他sudo用户帐户。因此,如果我正在处理票证,任何已经可以访问系统的人都可以轻松地给我访问权限。当一张将我添加到某个中央数据库中的某个访问控制列表的票证通过一些集中的批准过程并最终将更改传播回相关系统时,没有任何延迟。系统上的任何授权sudo人员都可以授予我访问权限,然后将我删除。(是的,如果我是邪恶的,他们游戏我sudo我可以恶意修改内容以保留访问权限……事实上,作为普通用户,我可以做一些事情来保留访问权限。然而,这并不是他们担心的威胁。我的访问仍然仅限于总体上相对较少数量的系统;因此,与我见过的大多数类似方案相比,被盗帐户的影响仍然有限。

    • 9
  2. Alex
    2010-02-28T20:19:54+08:002010-02-28T20:19:54+08:00

    如果您禁用远程 root 访问权限,则可以防止远程攻击者直接获得 root 权限——他们必须破坏另一个帐户,获得对机器的访问权限,然后尝试获得对 root 的访问权限。这是一个额外的步骤。

    通常,root 被禁用以进行远程访问。苏工作得很好。如果某些东西真的坏了,总是可以直接访问盒子来修复它。

    如果您想更严格 - 只需完全禁用 root,这就是 sudo 的用途。同样,通过这种方法,您仍然可以通过切换到单用户模式来获得 root 访问权限 - 就像 Ubuntu。虽然,根据他们的文档,我相信他们为此使用了修补过的 init。

    此外,您可以设置 idle 以启动空闲用户,以防他们的终端保持打开状态,并且 PC 也打开。您可以强制所有用户使用密钥,但密钥管理可能很困难。

    一个单一的直通日志主机作为防风玻璃类型的系统也强制增加了一层保护和审计跟踪。

    • 2
  3. mdpc
    2010-02-28T22:25:37+08:002010-02-28T22:25:37+08:00

    我建议您将系统设置为仅在控制台上允许 root 访问。

    否则,使用 sudo 和密码选项,允许选定的用户访问 priv'd 命令。顺便说一句,如果您愿意,可以将 sudo 设计为将用户帐户限制为某些命令。Sudo,在系统日志中留下一个“标记”,表明它被使用过。sudo 比 su 好,因为 root 密码不会被泄露。因此,您可以更改 root 密码,并且使用 sudo 的用户不会更明智。

    允许使用 sudo 访问 priv'd 命令应伴随强制定期密码更改,其频率取决于环境。

    • 2
  4. drfrog
    2010-02-28T20:16:21+08:002010-02-28T20:16:21+08:00

    永远不允许root

    将系统设置为仅允许通过密钥访问,无需密码

    然后为允许通过 root 帐户进行更改的用户设置 sudo

    • 1

相关问题

  • 在 SOHO 环境中实施的最佳 VPN 技术是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve