我在 Debian 10 上运行 Lynis 3.0.3,它向我发出有关文件和目录的警告 (FILE-7524)。以下是两个示例:
/etc/crontab are not matching expected value (644 != rw-------)
/etc/cron.d are not matching expected value (755 != rwx------)
同时,当我对上面列出的文件和目录运行 stat 时,我得到:
# stat /etc/crontab
File: /etc/crontab
Size: 1042 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 393415 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-05-12 22:23:14.716000000 +0800
Modify: 2019-03-11 00:49:18.000000000 +0800
Change: 2021-05-13 08:55:08.491989031 +0800
Birth: -
和,
# stat /etc/cron.d/
File: /etc/cron.d/
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 801h/2049d Inode: 393406 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-05-12 22:23:14.776000000 +0800
Modify: 2021-05-11 17:25:46.922661825 +0800
Change: 2021-05-11 17:25:46.922661825 +0800
Birth: -
因此问题基本上是:
1.) 如何将 (0644/-rw-r--r--) 和 (0755/drwxr-xr-x) 分别更改为 (644 != rw-------) 和 (755 != rwx------)。
和,
- 除了为相关文件和目录添加额外的安全性之外,我还需要考虑哪些缺点/可能的负面影响(如果有的话)?
(注意:我是该服务器的唯一根用户/管理员)
答案1
如何将 (0644/-rw-r--r--) 和 (0755/drwxr-xr-x) 分别更改为 (644 != rw-------) 和 (755 != rwx------)。
使用chmod
命令。
目前,文件和目录是全球可读的(它们在所有三个组中都有 +rx - 所有者、组和全球)。Lynis 建议将它们设置为仅对其所有者(可能是“root”)可读,这意味着从组/全球中删除“r”和“x”,可以使用go-rx
或g-rx,o-rx
或g=,o=
或其他几种方式进行设置。
这些数字(八进制,而不是十进制)是相同权限位的不同表示法。例如,6 是二进制“110”,即“rw-”,而 0 是“---”,因此 chmod 也将接受“ 600
rw-------”。
(在 Lynis 的输出中,由于某些奇怪的原因,“找到”的权限仅以八进制表示,但“建议”的权限仅以文本形式表示。)
我实际上要说的是,文件权限是“Linux 基础 101”的一部分,你真的应该知道如何处理它们前您在系统上运行精心设计的安全审计工具——否则您将无法理解审计工具告诉您的内容。
除了为相关文件和目录添加额外的安全性之外,我还需要考虑哪些缺点/可能的负面影响(如果有的话)?
首先,考虑一下是否有任何工具可以做需要对这些文件的读取权限,并且未以 root 权限运行。(在这种情况下,很可能没有任何权限 - cron 守护程序本身具有权限,其他任何程序都不需要读取该文件。)
其次,考虑审计警告是否真的有必要。在大多数系统上,“系统” crontab 首先没有任何敏感内容;这只是杂项系统维护任务所在。事实上,这些文件通常只包含与运行 Debian 10 的其他每台机器完全相同的默认任务。
(当然,如果你必须遵守“不得有安全审计警告”的安全策略,那么后半部分就不适用了。)