远程根login

我知道你为保护服务器所做的第一件事就是禁止远程login

密码相当薄弱; 人们认为只有通过ssh密钥或其他无密码方法才能进行rootlogin。

哪种方法最好? 只是不要冒险呢? ssh与一个辅助帐户和使用su -真的添加任何安全性?

serverfault.com上的用户如何访问远程服务器上的root用户?

大多数情况下,通过实际禁用远程rootlogin来获得的很less。 它稍微有助于执行pipe理员通过自己的帐户login并根据需要sulogin的策略(或根据您的策略使用sudo可能与sudosh …)。

创build非常漫长和繁琐的根密码(只要你还没有使用古代的DES + 12位盐密码来保存密码)就能有效地执行这样的策略。

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

有些情况下需要根密码 – 或者至less是最好的select。 保持它的可用性,同时使其足够强大,以预防各种威胁,通常是你的最佳策略。

另一个我知道的网站有一个相当优雅的分散账户pipe理方法。 他们有使用普通软件包pipe理程序和自动化基础设施安装到系统中的user- *和sudo- *软件包(认为是RPM)。 在他们的情况下,sudo- *包依赖于相应的用户包*。 这很好,因为它允许你拥有本地化帐户(所有帐户都是pipe理员,开发人员,支持人员或“无头”帐户)的机器集群,并消除了对LDAP / NIS或其他联网身份和authentication服务的依赖。 (这减less了系统之间的耦合,使其显着更强大)。

一个人认为我喜欢这种方法是因为它具有灵活性。 任何具有sudo访问权限的用户都可以发出添加普通用户或其他sudo用户帐户的sudo 。 所以,如果我在一张票上工作,任何已经有权访问系统的人都可以轻松地访问我。 在一些中央数据库中添加一些访问控制列表的票证通过一些集中化的审批stream程进行研究并最终将变更传播回有问题的系统时,没有任何延迟。 系统上的任何授权的sudo -er都可以给我访问权限,以后再删除我。 (是的,如果我是邪恶的,他们游戏我sudo我可以恶意修改的东西,以保留访问…其实有一些事情,我可以做只是作为一个正常的用户保留访问过去这种删除。但是,这不是他们的威胁我担心的是,我的访问权限仍然局限于整个系统的数量相对较less,所以受损账户的影响比我见过的大多数类似的计划还要有限。

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

通常root被禁用以进行远程访问。 苏运作良好。 如果某些东西真的被打破了,总是可以直接访问这个盒子来修复它。

如果你想要更严格 – 只需彻底禁用root,这就是sudo的function。 再次,通过这种方法,您仍然可以通过删除单用户模式(Ubuntu)来获得root访问权限。 虽然,我相信他们使用了修补程序的初始化,根据他们的文档。

此外,您可以设置空闲,以便在闲置用户的情况下启动,以防其terminal处于打开状态,同时PC也处于打开状态。 您可以强制所有用户使用密钥,但密钥pipe理可能很困难。

一个传递日志logging主机作为breakglasstypes的系统也强制了一个额外的保护层和一个审计线索。

我build议你设置系统,只允许在控制台进行root访问。

否则,使用sudo和密码选项,允许选定的用户访问priv'd命令。 顺便说一句,认识到sudo可以被devise为如果你愿意限制用户帐户到某些命令。 Sudo在系统日志中留下了一个“标记”,表示它已被使用。 sudo比su好,因为root密码没有透露。 因此,您可以更改根密码,使用sudo的用户不会更聪明。

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

永远不要让根

设置系统允许通过密钥访问只有没有密码

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