我们是一个Oracle数据库商店。 我有一个应用程序,我认为Oracle可能不是最好的答案。 我正在寻找一个轻量级,性能好,非常安全的数据库。 数据库本身可能会有十几张表,可能是数百万条logging。 我不需要存储过程,集群或任何高端function。
我的最终目标是安全。 我正在寻找内置encryption,整体安全的devise和低调,以最大限度地减less潜在的安全漏洞。
我想在* nix上运行它,因为它们比Windows更容易制作。
例如,在BSD世界里有几个变种。 FreeBSD是最便携的,OpenBSD是最安全的。 我正在寻找数据库世界的OpenBSD。
我不知道这个特定devise目标的任何现有项目。 你会得到最好的是一个DBMS具有相当好的内置安全性。 大多数“NoSQL”DBMS应用程序不提供任何特别的安全性。 传统的数据库pipe理系统往往具有相当丰富的安全模型,这类系统的安全性是一个成熟的,很好理解的学科。
如果你想把一些东西放在一个安全的web应用程序中,你实在别无select,只能devise应用程序时考虑到安全性 – 传统的数据库安全性(例如,通过sprocs调解所有的写入访问,而不直接写入表)很可能会得到。 不要忘记有一个单独的DBMS服务器和防火墙访问适当的机器。
如果您担心服务器的物理安全性,许多DBMS平台都可以select物理encryption的数据(例如PostgreSQL )。 某些操作系统也将支持encryption的文件系统, 某些磁盘也支持物理encryption。 请注意,密钥恢复仍然会使encryption无效 – 如果密钥在DBMS服务器上实际存在,技术上精明的黑客很可能会恢复它。
为了devise安全性并评估哪些架构是合适的,您将不得不提出一个威胁评估来了解您所面临的问题。 一些情况可能是:
如果您想要保护内部系统的安全,那么在DBMS平台上适当的用户/angular色安全性可能就足够了。
如果你想保护一个web应用程序,那么你可以通过sprocs来添加一个安全的事务层来获得一些增量安全性。 这限制了数据库写入到明确支持的事务 – 例如,如果入侵者想要擦除审计线索,他们将不得不妥协应用程序和数据库安全性以擦除审计表中的条目。 但是,入侵者仍然可以执行任何有效的交易。
如果您遇到物理安全问题,您可以尝试在磁盘级别进行encryption。 入门级的SAN也可能对此有所帮助,因为磁盘只能通过SAN控制器访问。 这就要求小偷妥协SAN控制器的安全性或反向devise其内部分区格式。 一些SAN还提供物理磁盘encryption。
请记住,大多数广泛使用的DBMS平台已经被用于Web应用程序,并且在这个领域有一定的成熟度。 没有一个是专门为了加强硬件而devise的,但是大多数(特别是开源软件)已经在networking应用程序中使用了15年。 在这个领域,应用程序安全性确实是一个薄弱环节。
完全披露 :我在Sybase SQL Anywhere工程团队工作。 我实际上负责许多安全function。 我试图回答这个问题,而不是像广告一样让答案听起来像。
Sybase SQL Anywhere是一个轻量级的RDBMS,它包括所有的标准RDBMS特性,如存储过程,触发器,行级锁等,以及用户,组和对象(表,过程等)的标准安全特性。 它还包含许多高级安全function,包括强大的(AES)数据库encryption和SSL / HTTPS通信encryption。 有一个FIPS认可的encryption组件可用,并且已经在EAL3 +级别上通过了Common Criteriaauthentication (查找Adaptive Server Anywhere)。
我不得不说,SQL Anywhere并没有将安全devise作为其主要重点; 我不知道有任何数据库产品。