sco*_*ver 3 security linux ubuntu ssh
在学校,我们有一台仅供学生登录并进行计算机科学相关活动的计算机,例如为课程编译 C 和 C++ 程序。它运行着一些晦涩难懂的 linux,在我接手它之前已经使用了很多年。我最近在其上安装了 Ubuntu Server,以使其更易于维护和安全。目前我们根据需要设置用户帐户。学生 ssh 登录并完成课堂作业,每个用户将他们的工作和游戏存储在他们的主文件夹中。教师会让学生将他们的工作留在某个文件夹中以供提交或类似的东西。
我担心的是用户过于探索和探索,或者有人恶意破坏它并破坏某些东西,从而导致其他人无法完成任何工作,并导致教职员工向我抱怨,让我看起来像一个糟糕的系统管理员因为没有阻止这一点。(我还是个本科生,任凭他们摆布)
学生目前在自己的组中,只能看到自己的主文件夹/无法浏览其他学生文件夹。教员有更高级的帐户,但没有管理员帐户。我不愿意开始更改重要系统文件夹的权限,担心我可能会破坏某些内容(再次像我之前所做的那样)。
我可以采取哪些安全措施来确保系统的功能,同时保持系统安全,让每个人都可以享受和使用它?
我在大学时运行了一个大致相似的项目(我们有不止一台服务器,并且不能真正对任何禁止计算机服务的人负责,但我们是学生的 linux 机器)。在安全性方面,主要是关于保持绝对最新的补丁。如有必要,请关闭登录,如果存在本地 root 漏洞,并且尚未打补丁。您还想设置 ulimit。这些有多严重可能取决于您的机器有多强大,或者我们最不强大的机器使用了这些:
——
t: cpu time (seconds) 18000
-f: file size (blocks) 307200
-d: data seg size (kbytes) 51200
-s: stack size (kbytes) 8192
-c: core file size (blocks) 0
-m: resident set size (kbytes) 51200
-u: processes 75
-n: file descriptors 300
-l: locked-in-memory size (kb) 175000
-v: address space (kb) 400000
-x: file locks unlimited
-i: pending signals 61440
-q: bytes in POSIX msg queues 819200
-e: max nice 0
-r: max rt priority 0
Run Code Online (Sandbox Code Playgroud)
除此之外,您可能还需要为教师和学生帐户设置配额。它们的大小取决于您的磁盘,但我们目前默认设置 1GB 配额。我相信我的继任者通常很乐意为那些有任何正当理由的人提供这些机器。
除此之外,如果可能的话,我会乞求/借用/偷第二台机器来备份您的配置/用户数据。理想情况下,您应该备份所有 /etc/、已安装软件包的列表以及所有用户数据(如果您有自己组装的任何软件包,则应该备份完整的 .debs)。如果您有足够的空间,我也会备份 /var(/var/tmp 除外)。
/root 上的权限默认为 755。你会想要改变这些,因为你会在某些时候意外地将敏感文件留在那里。此外,wall 和 su(至少)应该更改他们的权限,以便只有 root/root 组可以使用它们(随意更改只有您所在的其他组的 root 组)。
最后,我会将所有内容都记录到远程服务器,无需用户登录(即使这不是由您控制的机器)。我会在你的机器上设置 snoopy,所以当有人闯入时,你有某种审计日志。
我们的大多数系统内容的文档都在这里。如果您只运行一台机器,它们中的大多数可能不适用于您,但无论如何它们可能值得一试。