我有一个与 CIFS/SMB 通信的异构系统(MS 和 *nix)。如何在应用层确保正确的数据加密?
如何确保 *NIX 系统上 Samba 传输的数据加密?
使用 Samba 3.3.x+ 并server signing = [auto|mandatory|disabled]
在 Global 部分设置(默认禁用)。默认情况下,共享级别 SMB 加密是自动的。这已经在运行 Samba 3.6.7 的 WinXP/Win7 和 AIX 5.3 上进行了测试。SMB 加密在 Samba 3.2 中可用,但服务器签名直到 3.3 才出现。这些对于配置为 Microsoft 安全建议(NTLMv2 和 128 位加密)的 Win7 客户端是必需的。
请参阅: http: //www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html
如果它在“应用程序层”,那么它是由应用程序完成的,在应用程序看到的内容上,即文件。换言之,应用程序应为加密文件选择通用格式。将OpenPGP格式视为起点,将GnuPG视为了解此格式的开源库和命令行实用程序。您仍然必须决定要执行哪种安全模型;在相关已安装的应用程序之间共享一个简单的公共密钥可能就足够了,也可能不够,这取决于您要尝试做什么(加密就像药物,它不是一个可以普遍应用于任何地方的单一事物;有细节)。
另一方面,如果您希望应用程序本身完全不知道任何加密,这样应用程序只能看到一个“正常”的 CIFS/SMB,它在后台被加密,那么根据定义,这不是加密“在应用程序层”,但在其他更深的层。我建议使用VPN。IPsec是一种安全协议,它为 IP 添加了类似 VPN 的功能,许多操作系统都实现了该协议(包括 Windows 和非史前类 Unix)。如果您的预期安全模型是关于监视相关机器之间通信线路的攻击者,那么 VPN 会很好;如果物理托管文件的机器也可能是敌对的,那么在共享文件的情况下也无济于事。