database - 通过互联网保护与 firebird 的连接的最佳方法

标签 database security firebird tunnel

我有一个客户端-服务器应用程序,它在互联网上使用 firebird 服务器 2.5。 我遇到了安全访问 FB 数据库的问题,作为第一个方法,我试图通过在应用程序中集成隧道解决方案(更准确地说是 STunnel 软件)来解决这个问题。但是,这种方法有很多方面的问题: - 这会在客户端/服务器端增加更多的资源消耗(CPU、内存、线程), - 软件部署成为一个严重的问题,因为 STunnel 软件被编写为 WinNT 服务,而不是 DLL 或组件(WinNT 服务需要管理员权限才能安装) 我的客户端应用程序无需安装即可运行!

所以,我决定不畏艰险(或者当我们谈论 Firebird 时,不畏惧鸟的羽毛)。我已经下载了 Firebird 2.5 源代码,并直接在他的低级通信层(INET 套接字层)中注入(inject)了安全隧道化代码。 现在,加密/解密由 firebird 引擎直接为每个 TCP/IP 数据包完成。

与外部隧道化相比,您如何看待这种方法?

最佳答案

我会建议将双方的数据交换包装在 SSL/TLS 流中。这是经过验证的标准。 虽然使用静态 key 的自定义实现可能不安全。

例如,具有常量 IV 的 CTR 模式可以揭示很多信息,因为它只加密增量向量并将其与数据进行异或运算,因此对两个加密数据包进行异或运算将显示未加密数据包的异或版本。

关于database - 通过互联网保护与 firebird 的连接的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13007505/

相关文章:

r - 如何使用 R 传递字符集和 Firebird 的角色

c - 为什么 free() 在释放内存之前不将其清零?

c# - 如果不手动运行 commit 命令,则无法看到数据库中的更改

database - 如何使用 PostgreSQL 限制特定表中的行数?

php - 在单个查询中更新多行php mysql

database - 将 excel 电子表格转换为可查询数据库的最佳/最简单方法

windows - 注册码 : single computer, 多次安装

security - Docker 环境变量安全

delphi - 无法在 Windows 10 上加载 Firebird 客户端库

c# - Entity Framework 在不同的工作站上生成不同的查询