我想安装一个最小的 OpenBSD 6.5 (x86_64) 服务器来运行中继Tor
。在 Debian 上,我ssh-server
通常会在taskel 中选择 并standard system utilities
进行基本服务器安装。 OpenBSD 中与此类配置最接近的等效项是什么?
文档对此并不清楚,只是说:“建议新用户安装所有这些。”一般来说,不建议在服务器上安装不需要的软件包,因此我正在寻找针对 OpenBSD 的更具体的“最佳实践”建议。
可用的选择是:[我的问题/评论放在方括号中]
通用文件集
- bsd - 内核(必需)[如果我安装 bsd.mp,我需要这个吗?]
- bsd.mp - 多处理器内核 [多核 CPU 需要吗?]
- bsd.rd - ramdisk 内核 [升级需要吗?]
- baseXX.tgz - 基本系统(必需)
- compXX.tgz - 编译器集合、头文件和库[服务器上不需要,对吧?]
- manXX.tgz - 手册页 [不需要,因为它们可以在线获取]
- gameXX.tgz - 基于文本的游戏 [绝对不需要;-)]
X11相关文件集
- xbaseXX.tgz - X11 的基础库和实用程序(需要 xshareXX.tgz)
- xshareXX.tgz - X11 的手册页、区域设置和包含内容
- xfontXX.tgz - X11 使用的字体
- xservXX.tgz - X11 的 X 服务器(很少需要 xservXX.tgz 集)
我倾向于不在服务器上安装编译器或任何 X11 相关软件包,但常见问题解答提到,某些(非 X11)应用程序需要字体和 fontconfig,这将需要xbase
和xshare
文件xfont
集。如果不安装这些应用程序,许多应用程序会崩溃吗?我怀疑 Tor 中继是否需要字体操作。
设置 OpenBSD 服务器时普遍接受的最佳实践是什么?
答案1
“普遍接受的最佳实践”是安装所有文件集(不应与“运行所有守护程序”混淆)。如果您出于安全考虑而倾向于保留某些设置,请记住,如果有人已经深入您的系统,以便他们可以运行编译器、启动守护进程(如 X)或类似的东西,那么您已经遇到了更大的问题。另外,请记住,即使 OpenBSD 在其基本安装中附带了(令人惊叹的)大量守护进程,它们也不会默认运行,除非您对其进行配置。简而言之,“非核心”数据集上的文件只会带来问题(安全方面),如果它们可以被恶意使用,并且如果有人有足够的权限违背您的意愿使用它们,那么您就已经完蛋了。
如果由于磁盘空间限制而遗漏了一些集合,那么情况就不同了。我有一些小型/旧机器执行 IPSec 和一些在小型 SD 卡上运行的路由,因此我倾向于忽略除内核(包括bsd.rd
)和base**.tgz
.哦,man**.tgz
因为我懒得切换终端只是为了查找某个man
页面。但这与安全无关。
常见问题解答提到的情况与运行网络服务器等情况有关,该网络服务器托管一些 PHP 应用程序,这些应用程序使用 GD 之类的东西进行图像/字体操作(通过模块php-gd
)。xbase
因此,我不得不在无头服务器上安装。我不认为你会需要它tor
,但你总是可以留下 X 的东西并稍后添加它。
简而言之,你可以离开comp*
,x*
并且games*
出去,但是记得你确实把它们排除在外,请注意某些东西可能会损坏,并准备在安装后添加这些集合(如果需要)。另外,请记住,升级计算机时您需要知道安装了哪些套件。人们很容易忘记您已将其添加xbase
到(例如)6.4 系统中,在升级到 6.5 时取消选择它,并最终得到一个弗兰肯斯坦。
大多数时候,安装所有东西都更容易,而不必担心这些。
更新:
sysupgrade
,OpenBSD 附带的自动升级工具将在升级系统时自动安装所有套件。