我正在 Solaris 11.3 上安装 OpenSSH 服务器。当我从源代码构建 OpenSSH 7.7p1 并安装它时,它make
在安装组件后最后死掉了:
$ sudo gmake install
...
/usr/gnu/bin/mkdir -p /usr/local/etc
/usr/local/etc/ssh_config already exists, install will not overwrite
/usr/local/etc/sshd_config already exists, install will not overwrite
/usr/local/etc/moduli already exists, install will not overwrite
/usr/local/sbin/sshd -t -f /usr/local/etc/sshd_config
Privilege separation user sshd does not exist
gmake: [check-config] Error 255 (ignored)
当我检查 Solaris 的现有安装时:
$ /usr/bin/ssh -V
Sun_SSH_2.2, SSH protocols 1.5/2.0, OpenSSL 0x1000110f
$ sudo id sshd
id: invalid user name: "sshd"
$ cat /etc/ssh/sshd_config | grep -i privilege
$
所以现有的 OpenSSH 有点旧并且不使用该功能。
以下是我的争论点:
- 特权分离已经存在至少从 2003 年开始
- OpenSSH 可移植性团队决定在此平台上使用权限分离
- Solaris 团队决定决定特权分离应该不是可以在这个平台上使用
- Solaris 可以提供免费的安全控制(例如角色)来代替特权分离
其他信息包括 (1) OpenSSH 文档中没有有关 Solaris 安装的有用信息,以及 (2) SSH 邮件列表中有关 Solaris 构建和安装的问题没有得到解答。
所以我的问题是,我是否 (1) 遵循 Solaris 并放弃特权分离;或者(2)遵循最佳实践并使用权限分离?
或者也许是一种组合,例如 (1) 使用权限分离和 (2) 将 SSHD 添加到网络角色? (我仍在调查适用于的其他安全控制/usr/lib/sunssh/lib/sshd
)。