我正在尝试尽可能保护自定义应用程序免受外部篡改。
我看过很多关于监禁用户的页面,但它们通常包含许多例外情况,我想尽可能地锁定该用户。
用户只需要执行一个 websocket++ 客户端和服务器应用程序,该应用程序需要能够:
- 接受从 443 转发到另一个端口的传入连接端口,例如 8000
- 寻求传出连接
- 与本地 PostgreSQL 服务器通信
- 读取和写入应用程序执行目录中的一些特定文件
- 获取输出
ntpd -c 'rv'
- 接受键盘输入
我的意图如何实现?
答案1
如果你真的
想要尽可能锁定该用户
创建虚拟机。 chroot 并没有真正隔离这个过程。
如果真实的虚拟机太重的话,也许你可以看看Linux容器,轻量级版本的虚拟机。不过配置起来比较困难。
如果您想要更轻量级的东西,您可以尝试配置 SELinux。也许更难配置,但它应该完全符合您的要求
chroot 并不是一种安全措施,有多种方法可以解决它。