我已将 Ubuntu 20.xx 设置为 Digital Ocean 提供的云中的 Web 服务器,并希望安装 Node、Express、Mongo 和可能的 NginX。在几篇文章中,提到了禁用 root 用户以提高安全性并创建具有管理访问权限的新用户。按顺序,我创建了一个新用户,然后用它来设置所有应用程序,但遇到了 nginx 问题。
我是否应该先使用 root 用户设置所有应用程序,并允许应用程序在 root 下运行?然后创建第二个具有 ssh 访问权限的管理员用户,然后为 root 禁用 ssh?
UPDATE1:感谢大家的帮助,我已经更新了问题并添加了云安装。
更新2:
感谢您的详细解释。据我了解:
- Sudo 用户具有与 root 相同的权限
- 可以跟踪执行操作的 Sudo 用户(在涉及多个用户时具有相关性)
- Web 应用程序(node、pm2、mongo)可以使用 root 帐户和/或 sudo 用户帐户安装,因为这些应用程序应该使用它们自己的默认用户帐户运行。
- 在适当的时候禁用 root ssh 以防止暴力攻击
在裸机或自托管 VM 上安装Ubuntu Server 时,root 用户已被禁用。不要启用root。按照设计使用的方式使用 Ubuntu。
在 Ubuntu 的云安装上,您没有安装;完成的容器/VM 将交给您。云用户通常有一个正常运行的 root 提示,因此他们可以创建 admin sudo users。建议:创建这些用户并安装他们的 SSH 密钥后,禁用 root 登录(以及所有密码登录)以保护您的系统免受攻击。
如果您在使用 nginx 时遇到问题,请专门针对该问题开一个新问题。
“禁用root”并在普通帐户中使用sudo的原因有多种用途,这些都不会影响您问题的答案。
系统软件始终以 root 身份安装。有时应用程序软件作为应用程序特定用户安装,但通常不是。禁用 root 帐户的登录不会改变这一点,也不会改变应用程序在启动时的启动方式。
禁用 root 帐户的目的是让您以普通用户身份登录并以普通用户而不是 root 身份进行用户会话。然后你使用 sudo 提升到 root 来安装软件和做其他危险的事情。这也有副作用,当您使用 sudo 时,执行此操作的用户帐户也会被记录,这不是很有趣,除非有多个用户帐户可以使用 sudo,在这种情况下,当一个犯了错误。所以安装软件仍然以 root 身份完成——只是通过 sudo 而不是直接登录。
当应用程序(如 NginX、mysql、mogodb 等)配置为在引导时启动时,通常 systemd(或 initd)引导脚本以特殊应用程序用户身份启动应用程序。此用户是在安装应用程序时创建的。您不应该手动启动应用程序,而是允许安装的系统脚本启动它(例如使用 systemctl start ...),以便它在正确的环境中以正确的权限运行。这背后的设计理念是应用程序在其自己的用户中被隔离,并且应用程序的安全问题将(希望)被困在该用户 ID 中。大多数应用程序不应直接以 root 身份运行。
说了这么多,在一个只有一个管理员的系统上,记录谁使用 sudo 就没那么有趣了,如果你有云图像,你可以从新副本中删除和重新加载,你在容器内运行的用户也是不太重要。这可能就是您的云映像启用了 root 并且没有单独的管理用户的原因。
何时在 ubuntu 服务器上禁用 root 帐户?
我建议不要这样做,而是做一些事情来最大限度地提高安全性。让我们面对现实吧,如果政府想要进入您的服务器,他们将使用一种简单的方法来查看您的文件。我们只担心那里的黑客。
我在用于我的网站的 RamNode 上有一个实例。当我第一次学习如何设置无人值守的 Ubuntu 服务器时,我发现了几件重要的事情。只要您设置服务器,就会有人试图入侵!
创建一个强根密码。它应该至少有 32 个字符长。不要在彼此旁边重复键。在随机选择中使用键盘上的所有字符键,但反引号 ' 键除外。使用 $%& 等特殊字符,不要使用任何单词或短语。我将这样的登录数据存储在主计算机上的文本文件中:
ssh [email protected] 6^g0)6)nS3@sGh^7*9L:pR%bS@3d9
创建服务器后,请执行以下操作:
ufw allow ssh ufw enable apt update apt list --upgradable apt upgrade
你现在已经锁定了所有试图进入你的根目录并更新你的 Ubuntu 文件的人。除 ssh 外,没有打开其他端口以允许任何其他访问。
我也只使用 ipv4,所以我通过 sshd_config 文件、/etc/default/ufw 文件和 /etc/default/grub 文件锁定了 ipv6 访问。
要查看谁在攻击您,请使用以下命令:
service sshd status
您可能会惊讶地看到他们开始尝试攻击您的服务器的速度有多快。我几乎不间断地从中国受到打击。几十年来,中共一直在从任何地方窃取数据。但那是另一回事了。