ulimit 是一个用于控制 shell 进程资源使用的命令行工具。通过限制用户和进程可以使用的资源,可以提高 Ubuntu 系统的安全性。以下是如何使用 ulimit 提升系统安全性的一些建议:
限制打开文件数:
打开文件数的限制可以防止恶意用户或程序打开过多的文件,耗尽系统资源。要设置打开文件数的限制,请编辑 /etc/security/limits.conf 文件,添加以下内容:
* soft nofile 65535
* hard nofile 65535
这将限制所有用户同时打开的文件数为 65535。
限制进程数:
限制每个用户可以运行的进程数可以防止恶意用户启动过多的进程,耗尽系统资源。要设置进程数的限制,请编辑 /etc/security/limits.conf 文件,添加以下内容:
* soft nproc 4096
* hard nproc 4096
这将限制所有用户可以同时运行的进程数为 4096。
限制 CPU 时间:
限制每个进程可以使用的 CPU 时间可以防止恶意用户或程序占用过多的 CPU 资源。要设置 CPU 时间的限制,请编辑 /etc/security/limits.conf 文件,添加以下内容:
* soft cpu 100
* hard cpu 100
这将限制所有用户进程可以使用的 CPU 时间为 100%。
限制内存使用:
限制每个进程可以使用的内存量可以防止恶意用户或程序占用过多的内存资源。要设置内存使用的限制,请编辑 /etc/security/limits.conf 文件,添加以下内容:
* soft as 512M
* hard as 512M
这将限制所有用户进程可以使用的内存量为 512MB。
限制锁定的内存量:
限制进程可以锁定的内存量可以防止恶意用户或程序锁定大量内存,导致其他进程无法使用。要设置锁定的内存量的限制,请编辑 /etc/security/limits.conf 文件,添加以下内容:
* soft memlock unlimited
* hard memlock unlimited
这将允许所有用户进程锁定任意数量的内存。
使更改生效:
保存 /etc/security/limits.conf 文件的更改后,需要重新登录或重启系统以使更改生效。
请注意,这些设置可能会影响到系统的正常运行,因此在应用这些建议之前,请确保充分了解它们的含义和影响。在生产环境中应用这些更改之前,建议先在测试环境中进行验证。