是否建议更改根目录权限以提高安全性?

jos*_*gel 2 server permissions users 20.04

我有一台运行 Ubuntu 20.04 Server 的计算机。我一年前(或多或少)在 Digital Ocean 购买了服务器,每个月我都尝试提高其安全性,并且我变得越来越富裕。但对于用户组织我一直心存疑虑。

这是一个个人服务器,所以我真的要求提高我对未来可能涉及更多用户的项目的理解。

我的根目录权限是:

 0 lrwxrwxrwx   1 root root     7 May 14  2020 bin -> usr/bin
 4 drwxr-xr-x   4 root root  4096 Feb 10 06:59 boot
 0 drwxr-xr-x  16 root root  3820 Oct 12 02:34 dev
12 drwxr-xr-x 110 root root 12288 Feb 16 18:11 etc
 4 drwxr-xr-x   4 root root  4096 Apr  3  2021 home
 0 lrwxrwxrwx   1 root root     7 May 14  2020 lib -> usr/lib
 0 lrwxrwxrwx   1 root root     9 May 14  2020 lib32 -> usr/lib32
 0 lrwxrwxrwx   1 root root     9 May 14  2020 lib64 -> usr/lib64
 0 lrwxrwxrwx   1 root root    10 May 14  2020 libx32 -> usr/libx32
16 drwx------   2 root root 16384 May 14  2020 lost+found
 4 drwxr-xr-x   2 root root  4096 May 14  2020 media
 4 drwxr-xr-x   2 root root  4096 May 14  2020 mnt
 4 drwxr-xr-x   3 root root  4096 Dec 18 13:48 opt
 0 dr-xr-xr-x 197 root root     0 Jun 12  2021 proc
 4 drwx------  10 root root  4096 Feb  6 19:31 root
 0 drwxr-xr-x  31 root root  1040 Feb 16 13:04 run
 0 lrwxrwxrwx   1 root root     8 May 14  2020 sbin -> usr/sbin
 4 drwxr-xr-x   8 root root  4096 Feb 16 17:56 snap
 4 drwxr-xr-x   3 root root  4096 Apr  3  2021 srv
 0 dr-xr-xr-x  13 root root     0 Jun 12  2021 sys
 4 drwxrwxrwt  20 root root  4096 Feb 16 18:39 tmp
 4 drwxr-xr-x  15 root root  4096 Aug  6  2021 usr
 4 drwxr-xr-x  16 root root  4096 Dec  4 18:50 var
Run Code Online (Sandbox Code Playgroud)

你可以看到有多少文件有others groups执行权限,但是真的有必要吗?x权限意味着任何用户都可以做

 cd /boot
Run Code Online (Sandbox Code Playgroud)

或类似的东西。我知道他们无法编辑或删除那里的任何内容,但如果他们可以进入目录并写入ls,则随机用户可以获得我可能不希望用户获得的信息。有一次,一位比我更了解 Linux 的朋友告诉我,如果你想搞乱 Ubuntu 服务器,可以通过更改文件的权限来实现。所以我不想测试它。

我的目标是让每个用户都无法使用额外的权限(输入/dev/boot)做任何事情,只能做用户的事情。

但我担心更改权限会破坏某些东西。

我的想法是:我是服务器所有者,我可以获得root权限,所以我的第一步:

在我要做的根目录中sudo chown root:power,哪里power是一个组,我可以在其中放置一些可以比正常情况执行更多操作的用户,然后chmod 750在所有用户中(例如,较少的临时用户)

但我听说如果你做了类似的事情,例如www-data无法管理 apache 服务或更改某些内容。

因此,我必须将power用户添加到组www-data中,好吧,然后它可以管理其内容,但我认为还有很多其他系统用户/组需要类似的调整,但我目前还不知道。

我希望你能或多或少地理解我想要做什么,以及我的目标是:修改服务器以更好地管理用户,例如限制roles。但我有点不知道如何开始。

谢谢大家。

Nma*_*ath 15

不。

系统文件的权限和所有权已设置为安全的。

通过更改系统文件的所有权和权限,破坏系统是唯一能实现的目标。

这是一个非常危险的思维过程,特别是如果您不熟悉使用 Linux。如果你知道自己在做什么,修补通常是没问题的。但是,不遗余力地尝试改进未损坏的东西通常不是一个好主意。

Ubuntu 的开发人员花费了数十年的时间对软件进行微调和改进,使其更干净、更安全。

如果您认为您已经找到了使系统更好或更安全的方法,请考虑为 Ubuntu 的开发做出贡献。通过为开发做出贡献,许多其他人会在您提出的更改成为操作系统的一部分之前对其进行审查和审核。

  • 如有必要,您可以根据具体情况更改文件的权限和所有权。但通常您不需要担心,因为软件将使用其所需的权限进行安装。您在这里的观点似乎假设文件的默认权限和所有权存在本质上的错误或不安全。没有。如果存在,它将被视为错误或安全威胁,如果发现错误,您应该提交错误报告。 (3认同)

Sti*_*mer 5

Unix 安全性以及后来的 Linux 安全性始终默认为尽可能开放。当事物需要关闭时就关闭,否则就打开。

这意味着,如果您尝试做一些不寻常的事情,但并不真正危险,那么您很有可能允许这样做。

安全专家不喜欢这种方法。他们希望事情尽可能关闭,只在必要时才开放。这样就减少了令人讨厌的意外。看来你的直觉就在这个阵营。

在一个封闭的系统中,你只拥有完成你的工作的许可,仅此而已。每当你想做一些超出你的范围的事情时,哪怕是最轻微的,你都需要获得许可。开发人员讨厌在这样的系统中工作。

很难采用像 Ubuntu 这样的旧的开放系统并尝试将其关闭。您会发现存在未记录的依赖关系,当访问关闭时,看似不相关的程序将停止工作并出现奇怪的错误消息。

所以,这是一个优先级的选择,对你来说,安全性和可用性哪个更重要?有些Unix版本比 Ubuntu 更封闭。这些是由安全专家制作的,他们已经完成了跟踪这些未记录的依赖项的艰苦工作。

话虽如此,Nmath 的答案也是正确的。许多非常聪明的人都研究过 Ubuntu 的安全性并发现它足够了。您被未知安全漏洞击中的几率非常非常低。