两台 VPS 主机:
其中一个上面有一切 - 邮件、网页、ftp、dropbox 等等。另一个是 Asterisk PBX(VOIP 服务器)安装,它被完全锁定。除了 Asterisk 之外,没有其他程序可以在上面运行,并且唯一开放的端口是允许 Asterisk 和 sshd 运行的最低限度的端口。
假设我想要允许用户在“不安全”的网络服务器上使用 ftp 或 dropbox 上传和下载各种文件。
在 Asterisk 上,我有以下文件夹想要分享到“面向用户”的服务器上。
- 日志 - 我希望最终用户能够读取但不能更改或删除它们。
- 音频 - 我希望用户能够添加或删除音频文件
- 语音邮件 - 我希望用户能够下载和删除语音邮件文件。
我不希望用户能够删除或者以其他方式修改目录名称,也不希望他们能够遍历这些目录。
可能更糟糕的是,Asterisk 以“root”身份运行,因此文件和目录也属于 root 所有。帮助我设置和保护它的人说这是正常的,但在那个阶段,还不知道其他目录的概念。
经过一天的思考,似乎最终还是要选择 rsync 还是 nfs。问题是,我并不完全了解这两种方式的风险,而且我读得越多,就越确定自己正在为我的 Asterisk 盒子打开一扇厄运之门。
(为了避免问题关闭,这不是一个关于“什么是最好的方法,请辩论”的问题,而是一个“什么是正确的方法,为什么?”的问题。我知道这都是语义,但有时它会有所帮助!)
答案1
目前尚不清楚 Asterisk 日志文件应该面向用户,或者哪些是只读音频文件(语音邮件之外)...因此很难猜测您在做什么。但我会做一些假设:
如果您的目标是让最终用户远离 Asterisk 盒子,那太好了。您可以将文件 rsync / scp 到面向用户的系统(因为这些协议提供了很大的安全性)。NFS 也可以工作,但为操作系统提供挂载点并不那么安全。
如果您担心 Asterisk 盒子遭到黑客攻击,那么这种方法是错误的。90% 的 PBX 攻击(以及几乎所有的财务损失)都是通过 SIP 进行的 - 因此,除非您将 SIP 端口访问限制为已知的固定 IP(以及更多),否则您的这种努力不会产生太大影响。每天 10 万美元的电话费是您在 Asterisk 配置、GUI 代码、分机密码等方面发现弱点的结果。要真正防止这些情况,请查看此处Voip 信息 - Asterisk 安全