FileMaker 18 安全指南:配置安全选项最佳实践
FileMaker 安全性概览
关于本指南
本指南介绍了 FileMaker 平台提供的安全功能,以及您作为解决方案开发者、服务器管理员或 IT 专业人员将这些安全功能应用到 FileMaker 解决方案时可以采取的步骤。
根据安全合规性和认证要求,您可能需要采取一些额外的步骤。您有责任完全理解这些要求。
有关最新的 FileMaker 安全更新,请参阅 FileMaker 知识库中的 FileMaker 安全更新。
注释
- FileMaker Cloud 是一项为使用 FileMaker Pro Advanced、FileMaker Go 和 FileMaker WebDirect 的定制化 App 提供云端访问的服务。FileMaker Cloud 使用 FileMaker ID 集成的登录系统来验证用户。FileMaker Cloud 由 FileMaker, Inc. 直接提供。
- FileMaker Cloud for AWS 是一项为使用 FileMaker Pro Advanced、FileMaker Go 和 FileMaker WebDirect 的定制化 App 提供云端访问的服务。FileMaker Cloud for AWS 在 Amazon Web Services (AWS) Cloud 上运行,通过 AWS Marketplace 提供。
- FileMaker Cloud 产品指代 FileMaker Cloud 和 FileMaker Cloud for AWS 两者。
- Admin Console 指代 FileMaker Server、FileMaker Cloud for AWS 和 FileMaker Cloud 的 Admin Console (管理控制台),描述特定产品的情况除外。FileMaker Cloud Admin Console 指代两款 FileMaker Cloud 产品的 Admin Console,描述特定产品的情况除外。
- 定制化 App、解决方案、数据库和文件皆为您使用 FileMaker 产品构建与操作内容的术语。
- 有关 FileMaker Cloud 产品的信息,请参阅产品文档中心的 FileMaker Cloud 产品文档。
FileMaker 安全功能
FileMaker 平台的功能帮助您控制 FileMaker Pro Advanced 文件内的数据访问、操作和开发。主要功能包括:
- 使用帐户进行验证:FileMaker 平台可加密存储在解决方案中的凭据,使凭据得到妥善保护。用户还可以通过 Active Directory、Open Directory 或 OAuth 身份认证中心进行验证。对于由 FileMaker Cloud 托管的解决方案,用户可以使用自己的 FileMaker ID 帐户进行验证。
- 使用权限集进行访问控制:您可以定义权限来确定对解决方案的访问级别。您可以根据需要定义任意数量的权限集。
- 磁盘上和传输过程中的数据加密:您可对存储在 解决方案中的数据进行加密。您可能还需要在 FileMaker Server 或 FileMaker Cloud 产品与 FileMaker Pro Advanced、FileMaker Go、FileMaker WebDirect、FileMaker Data API 以及 ODBC、JDBC 和支持 OData 的客户端应用程序之间使用安全套接层 (SSL) 数据加密。FileMaker Cloud 为尚未加密的数据进行自动加密。
- 服务器监视与管理:Admin Console(管理控制台)让您可以监视解决方案的访问,断开闲置用户的连接以及创建解决方案备份。对于由 FileMaker Cloud 托管的解决方案,FileMaker Customer Console 允许 FileMaker ID 团队管理员为团队添加用户,并管理可被授予解决方案访问权限的用户组。
FileMaker 平台采用统一的安全模式,让您可将为某款解决方案设置的安全性应用到所有客户端。
使用 FileMaker Pro Advanced 在某款解决方案中定义的安全设置仅适用于存储在该解决方案中的信息和架构(布局、表、字段、关系和脚本)。
在 FileMaker Server 和 FileMaker Cloud 产品中设定的安全设置具有部署针对性,适用于服务器托管的所有解决方案。
系统要求
针对解决方案开发者的安全性
概述
您可以借助多项功能安全地验证用户、限制解决方案访问权、加密数据并增强功能性,从而更好地保护在 FileMaker Pro Advanced 中设计的解决方案的安全性。
验证用户
关于用户验证
FileMaker Pro Advanced 解决方案要求用户同时使用帐户名和密码进行验证。您在 FileMaker Pro Advanced 中创建的每个帐户访问入口都被授予基于相关权限集的访问权限。请参阅定义权限集。
为每个用户或组创建唯一的帐户访问入口。这允许您跟踪管理在您的解决方案中创建或修改记录,或执行其他操作的用户。您可以通过使用自动输入字段设置,或者在计算和脚本中使用 Get(帐户名) 函数来跟踪管理此信息。请参阅使用函数、脚本和脚本触发器来增强安全性。
FileMaker 解决方案可在内部验证帐户,还可以通过外部验证服务器、OAuth 身份认证中心或 FileMaker ID 身份认证中心 (使用 FileMaker Cloud 托管时) 进行验证。
- 使用内部验证时,帐户名和密码保存在解决方案内。 无需安装服务器软件,即可在 FileMaker Pro Advanced 中完成解决方案的所有安全设置,让您更快速、更简单地管理帐户。这称为 FileMaker 文件帐户,受到除 FileMaker Cloud 以外所有主机的支持。 请参阅 FileMaker Pro Advanced 帮助中的编辑 FileMaker 文件帐户。
- 使用外部验证 (通过 Open Directory 或 Active Directory) 或者使用 OAuth 身份认证中心验证时,FileMaker Pro Advanced 仅保存用户名和组名。FileMaker 客户端与外部服务器或 OAuth 身份认证中心交互,以验证用户的帐户凭据。托管解决方案必须使用 FileMaker Server 或 FileMaker Cloud for AWS,并且必须将主机设置为允许外部验证或单独的 OAuth 身份认证中心。 请参阅设置外部验证和设置 OAuth 身份认证中心验证。
-
使用 FileMaker ID 验证时,FileMaker Pro Advanced 针对您为其创建帐户访问入口的每个 FileMaker ID 用户或组存储名称和通用唯一识别码 (UUID)。更改 FileMaker ID 用户名 (电子邮件地址) 或组名不需要解决方案开发者更改 FileMaker Pro Advanced 文件,因为系统通过在内部使用 UUID 来识别用户和组。
FileMaker 客户端与 FileMaker ID 身份认证中心交互,以验证用户的帐户凭据。解决方案必须由 FileMaker Cloud 托管。 在 FileMaker Customer Console 中,FileMaker ID 团队管理员必须将用户添加到与主机关联的团队。团队管理员还可以创建用户组,因此解决方案开发者可将帐户访问权授予 FileMaker Pro Advanced 中的组,无需在添加或删除用户时更新解决方案。请参阅设置 FileMaker ID 验证。
关于默认帐户
每个解决方案最初均包含两个 FileMaker 文件帐户:Admin 和 Guest。
-
Admin 帐户允许访问解决方案中的全部内容。默认设置下,该帐户被指定为“完全访问”权限集。该帐户是完全可编辑的。您可以对其进行重命名、为其指定密码或使其处于非活动状态。您可以删除 Admin 帐户,但文件需要至少一个具有“完全访问”权限集的帐户,除非您将此权限集完全移除。
默认设置下,Admin 帐户没有密码。您可在首次使用 FileMaker Pro Advanced 时指定一个密码。请参阅为 Admin 帐户指定密码。
-
Guest 帐户允许用户无需提供任何帐户信息即可访问文件。默认设置下,该帐户被指定为只读访问权限集,但您可以为该帐户指定任何权限集。
Guest 帐户初始设置为非活动状态。不能删除 Guest 帐户,不能更改 Guest 帐户名,也不能为其指定密码。
为 Admin 帐户指定密码
当您新建解决方案时,FileMaker Pro Advanced 会创建一个具有“完全访问”权限集的 Admin 帐户。这个 Admin 帐户没有密码。
请务必为此帐户指定一个密码,以避免您的数据和数据库架构遭遇未经授权的访问。
请参阅 FileMaker Pro Advanced 帮助中的编辑 FileMaker 文件帐户,以及使用强密码。
不要启用 Guest 帐户
除非解决方案有所需要,否则请不要启用 Guest 帐户。如果您启用了 Guest 帐户,当多名用户在较短的时间内登录 Guest 帐户时,连接数可能很快达到峰值。
请参阅 FileMaker Pro Advanced 帮助中的编辑 FileMaker 文件帐户。
创建帐户访问权限
在 FileMaker Pro Advanced 中的“管理安全性”对话框中创建帐户访问入口时,您首先选择帐户类型,然后指定设置。
-
FileMaker 文件:指定帐户名、密码和权限集。在本地文件以及由 FileMaker Cloud for AWS 或 FileMaker Server 托管的文件中受支持,但在 FileMaker Cloud 托管的文件中不受支持。
您可以指定一个临时密码,并提示用户更改此密码。在“编辑帐户”对话框中,选择需要在下次登录时更改密码。
密码存储采用单向哈希算法,意味着密码永远不以纯文本格式保存。您可以重置密码,但不能恢复密码。
- 外部服务器:指定一个组名和权限集。仅在由 FileMaker Server 托管的文件中受支持。 请参阅设置外部验证。
- OAuth 身份认证中心:指定一个用户名或组合对象 ID 以及权限集。仅在由 FileMaker Server 或 FileMaker Cloud for AWS 托管的文件中受支持。请参阅设置 OAuth 身份认证中心验证。
- FileMaker ID:对于团队,可指定一个组或者 FileMaker ID 用户名和权限集。仅在由 FileMaker Cloud 托管的文件中受支持。请参阅设置 FileMaker ID 验证。
请参阅 FileMaker Pro Advanced 帮助中的创建和编辑帐户访问权限以及使用强密码。
提示用户输入密码
新的解决方案不提示输入帐户名或密码,因为它们默认使用 Admin 帐户自动登录。要提示用户为 FileMaker 文件和外部服务器帐户输入帐户名和密码,请取消选择 FileMaker Pro Advanced “文件选项”对话框中的使用如下帐户登录:选项。以下情况下忽略此选项:
- 解决方案由 FileMaker Cloud 产品托管
- 解决方案由安全数据库文件夹中的 FileMaker Server 托管
- 通过 OAuth 身份认证中心或 FileMaker ID 验证
默认设置下,解决方案不允许凭据管理器 (Windows) 和钥匙串访问 (macOS 和 iOS) 为 FileMaker 文件和外部服务器帐户保存帐户名和密码。当您阻止凭据管理器和钥匙串访问时,FileMaker 客户端会在用户每次打开解决方案时提示输入帐户名和密码。对于其他类型的帐户可以忽略该选项。
如果允许使用钥匙串访问,您可以要求 FileMaker Go 用户在 FileMaker Go 可以访问其钥匙串之前使用 iOS 进行验证。
设置外部验证
如果您使用 FileMaker Server 托管文件,您可在通过 Active Directory 或 Open Directory 验证用户的文件中创建外部服务器帐户访问入口。然后您可以使用自己现有的验证服务器控制对数据库的访问,无需在每个数据库文件中管理独立的帐户列表。
另外,您可以在托管 FileMaker Server 的服务器设备上使用本地的安全性组和帐户。请参考您操作系统的帮助。
以下情况下请使用外部验证:
- 您的机构已经使用 Active Directory 或 Open Directory。
- 您的 FileMaker Pro Advanced 文件将被多文件解决方案中的其他文件访问。
- 您的机构执行最低密码标准。FileMaker 客户端可以为 FileMaker 文件帐户执行基本标准,比如密码长度和更改密码的频率。外部验证提供更强的密码控制,比如实施密码复杂度要求。
如果您使用安装在 Windows Server 中的 FileMaker Server 托管文件,并且使用 Active Directory 进行外部验证,您的 Windows 用户则可在 FileMaker Pro Advanced 上使用单点登录。
外部验证存在这样一个风险:某人会通过模拟外部验证环境或因不当的群组管理获取您文件的访问权。您有责任防御此风险,维护外部验证服务器的安全性。为您的解决方案文件启用数据库加密可以减低这个风险。数据库加密要求用户先输入加密密码,才能在 FileMaker Server 上托管文件。请参阅加密数据。
使用 FileMaker Pro Advanced 在文件内设置外部服务器帐户,然后使用 FileMaker Server 托管该文件并将其设置为使用外部验证。请参阅 FileMaker Pro Advanced 帮助中的编辑外部服务器帐户访问,以及 FileMaker 知识库中的启用外部验证和使用 LDAP 协议将 FileMaker Pro Advanced 客户端和 FileMaker Server 设置为使用外部验证。
使用外部验证时的重要事项
- 您必须使用外部验证服务器来重新设置密码。
- 按照您希望 FileMaker 客户端进行验证的顺序设置帐户访问入口。当 FileMaker 文件帐户和外部服务器帐户使用同一个帐户名和密码进行验证时,或者当多个组包含同一个外部服务器帐户时,FileMaker 客户端按照优先级 (验证) 顺序使用第一个活跃的匹配帐户访问入口打开此文件。所有后续的匹配帐户访问入口会被忽略。请参阅 FileMaker Pro Advanced 中的更改帐户访问优先级顺序。
- 不应将外部服务器帐户访问作为使用完全访问权限集唯一的帐户访问类型。保留一个 FileMaker 文件帐户,以便在需要将文件从 FileMaker Server 移除时进行管理。如果没有保留 FileMaker 文件帐户,FileMaker 客户端仅可在外部验证服务器可用时打开托管的文件。
设置 OAuth 身份认证中心验证
如果使用 FileMaker Server 或 FileMaker Cloud for AWS 托管文件,您可在通过受支持的 OAuth 身份认证中心验证用户的文件中创建帐户访问入口。这允许您通过第三方身份认证中心控制解决方案的访问权。无需在每个文件中管理独立的帐户列表,您可以通过 OAuth 身份认证中心来控制对解决方案的访问。OAuth 身份认证中心可能还提供额外的安全措施,比如需要多种验证方法的多重验证。
要通过 OAuth 身份认证中心进行验证,您可以使用 FileMaker Pro Advanced 在解决方案内设置帐户访问入口。然后使用 FileMaker Server 或 FileMaker Cloud for AWS 托管解决方案,并将主机配置为使用 OAuth 身份认证中心进行验证。请参阅 FileMaker Pro Advanced 帮助中的编辑 OAuth 帐户访问和启用 OAuth 身份认证中心验证。
使用 OAuth 身份认证中心时的重要事项
- 您必须使用 OAuth 身份认证中心来重置密码。
- 按照您希望 FileMaker 客户端进行验证的顺序设置帐户访问入口。如果 OAuth 身份认证中心帐户适用于具有帐户访问权限的多个组,或者 OAuth 帐户用户同时拥有作为个人用户和组成员的帐户访问权限,FileMaker 客户端按照优先级 (验证) 顺序使用第一个活跃的匹配帐户访问入口打开此文件。所有后续的匹配帐户访问入口会被忽略。请参阅 FileMaker Pro Advanced 帮助中的更改帐户访问优先级顺序。
- 不应将 OAuth 帐户访问作为使用完全访问权限集唯一的帐户访问类型。保留一个 FileMaker 文件帐户,以便在需要将文件从主机移除时进行管理。如果没有保留 FileMaker 文件帐户,FileMaker 客户端仅可在 OAuth 身份认证中心可用时打开托管的文件。
设置 FileMaker ID 验证
如果使用 FileMaker Cloud 托管文件,您必须创建通过 FileMaker ID 身份认证中心验证用户的帐户访问入口。FileMaker ID 团队管理员通过 FileMaker Customer Console 控制对托管文件的访问。他们在此处可以为团队添加用户并管理用户组,无需在每个数据库文件中分别管理单个用户的 FileMaker ID 帐户列表。FileMaker ID 身份认证中心还允许您使用额外的安全措施,比如需要多种验证方法的多重验证。
要通过 FileMaker ID 身份认证中心进行验证,您可以使用 FileMaker Pro Advanced 在解决方案内设置帐户访问入口。然后使用 FileMaker Cloud 托管该解决方案。无需在 FileMaker Cloud 的 Admin Console 中进行设置。请参阅 FileMaker Pro Advanced 帮助中的编辑 FileMaker ID 帐户访问权限和为组和用户启用 FileMaker ID 验证。
使用 FileMaker ID 身份认证中心时的重要事项
- FileMaker ID 用户可在 FileMaker Customer Console 中的个人资料页面上重新设置密码。
- 按照您希望 FileMaker 客户端进行验证的顺序设置帐户访问入口。如果 FileMaker ID 用户适用于具有帐户访问权限的多个组,或者 FileMaker ID 用户同时拥有作为个人用户和组成员的帐户访问权限,FileMaker 客户端按照优先级 (验证) 顺序使用第一个活跃的匹配帐户访问入口打开此文件。所有后续的匹配帐户访问入口会被忽略。请参阅 FileMaker Pro Advanced 帮助中的更改帐户访问优先级顺序。
- 您必须创建至少一个具有完全访问权限集的 FileMaker ID 帐户访问入口,以便在使用 FileMaker Cloud 托管文件时拥有完全访问权限。FileMaker Cloud 主机不支持其他类型的帐户。同时,还需要保留一个具有完全访问权限集的 FileMaker 文件帐户,以便将文件从主机移除以及在本地打开。如果没有 FileMaker 文件帐户,FileMaker 客户端仅可打开由 FileMaker Cloud 托管的文件。
在多文件解决方案中验证
多文件解决方案中的 FileMaker Pro Advanced 文件之间可以互相访问。这可能很实用,比如,您有一个可集中访问的员工联系信息文件,并且多个内部解决方案都需要使用这个文件。
当您从另一个文件打开一个文件时 (比如用于查看外部数据或者在外部文件中运行脚本),FileMaker 客户端会将用户登录第一个文件时提供的凭据传递给第二个文件。如果用户的帐户访问权限相同,FileMaker 客户端自动为用户登录第二个文件。如果相应的帐户访问入口不存在,用户必须登录第二个文件。
如果您在多个文件中手动创建相同的 FileMaker 文件帐户,可能会出现数据输入错误。为了避免此类错误,您可以使用外部验证、OAuth 身份认证中心验证或 FileMaker ID 验证 (如果文件由 FileMaker Cloud 托管)。 请参阅设置外部验证、设置 OAuth 身份认证中心验证或设置 FileMaker ID 验证。
审核多文件解决方案中每个文件的帐户访问入口和权限集。如果各文件的权限集不一致或者某个帐户拥有某个文件的额外权限,用户可能拥有正常情况下仅限他们使用的数据访问权。请参阅定义权限集。
此外,请确保在没有解决方案设计者协助的情况下,用户不能在解决方案中制作文件参考。否则,他们可能会获取受限数据的访问权。请参阅限制解决方案参考。
定义权限集
关于权限集
权限集授予用户使用某些功能以及执行某些任务的权限,允许您控制对数据和架构的访问权。您可以使用包含多个帐户访问入口的权限集。
每个新的 FileMaker Pro Advanced 解决方案均包含三种预定义权限集:
- 完全访问:允许拥有文件的完整访问权,包括所有开发功能。
- 仅限于数据输入:允许创建、编辑和删除记录,以及导入和导出数据。不允许访问任何开发功能。
- 只读访问权限:允许查看和导出记录数据。 除全局字段中的值以外,不允许对文件进行修改。
您还可以创建新的权限集来满足特定的需求。通常情况下,您可以为机构中每个独一无二的职位创建权限集。权限集包含如下的访问选项:
- 数据访问和设计权限:提供对多种安全控件的访问,包括记录、布局、值列表和脚本。
- 扩展权限:决定用户访问托管文件的方式。
- 其他权限:允许打印、导出、管理安全性的限定能力以及一些其他功能。
访问 FileMaker Pro Advanced 解决方案的所有客户端和工具均遵循用户的权限集。例如,如果用户被指定的权限集不允许访问某个字段,那么该用户无法使用 FileMaker Pro Advanced、FileMaker Go、FileMaker WebDirect、自定义 Web 发布、FileMaker Data API、ODBC 和 JDBC 应用程序、OData 客户端应用程序、AppleScript 或 ActiveX 之类的外部工具以及其他方式来访问该字段。
创建权限集
要创建权限集,您需要命名并配置希望用户针对解决方案所拥有的权限。
默认设置下,大多数权限均处于关闭状态。这样可将用户的权限限定于履行职责所需的范畴。
请参阅 FileMaker Pro Advanced 帮助中的创建和编辑权限集。
定义数据访问和设计权限
数据访问和设计权限授予文件不同部分的访问权,并应用于所有表、布局、值列表和脚本。
您还可以设计自定义权限,以进一步限制访问权限。
- 为记录设计自定义权限,以便控制用户可访问某些单个的表或记录。例如,您可能拥有一个客户关系管理 (CRM) 系统,销售经理可以查看所有记录,但每个销售代表仅可查看自己的客户和潜在客户的记录。
- 为布局设计自定义权限,以便控制用户能否以及如何查看或修改布局,还可控制他们能否在使用布局的同时查看或修改记录。FileMaker 平台通常使用最安全的访问规则组合。例如,通常当用户不具备在布局上面编辑记录权限时,用户操作将会被阻止。
- 设计自定义权限,以便控制用户能否查看、运行、修改、删除或创建单独的值列表和脚本。
请参阅 FileMaker Pro Advanced 帮助中的编辑记录访问权限、编辑布局权限、编辑值列表权限和编辑脚本权限。
定义扩展权限
扩展权限决定用户访问托管文件的方式。一旦为某个权限集启用了扩展权限,与此权限集关联的所有帐户均可按照扩展权限允许的范围访问文件。例如:
- fmapp 扩展权限控制 FileMaker Pro Advanced 和 FileMaker Go 是否可以访问文件。
- fmwebdirect 扩展权限控制 web 浏览器是否可以通过 FileMaker WebDirect 访问文件。
- fmreauthenticate[x] 扩展权限控制用户必须重新登录以访问文件之前,FileMaker Go 休眠或进入后台运行的时长。
请注意:如果您的用户使用 FileMaker Go,请指定 fmreauthenticate[x] 扩展权限。
FileMaker Go 切换到后台运行时,会保存任何打开的解决方案的状态。
使用 fmreauthenticate[x] 扩展权限,在 FileMaker Go 切换到前台时,如果超过指定时限 [x] 分钟,则用户必须重新输入帐户名和密码。例如,fmreauthenticate10 的扩展权限允许用户在必须重新登录之前,可保持 FileMaker Go 在后台运行最长 10 分钟。您可以创建所需数量时长不同的扩展权限,并指定给不同的权限集。在 FileMaker Go 关闭文件之前,用户可以尝试输入其帐户名和密码,尝试次数为五次。将 [x] 设置为 0,让用户在每次 FileMaker Go 返回前台时都需要登录。
fmreauthenticate[x] 扩展权限还可在网络中断后,将 FileMaker Pro Advanced 或 FileMaker Go 客户端重新连接至 FileMaker 主机。如果客户端从主机断开连接超过 x 分钟,客户端必须重新进行验证。
您可以创建自定义扩展权限来简化脚本,或者管理需要执行的业务规则。例如,创建自定义扩展权限,以允许用户运行特定报表。
请参阅 FileMaker Pro Advanced 帮助中的为权限集编辑扩展权限。
定义其他权限
其他权限指定权限集是否允许用户:
- 打印 — 包括打印和将记录另存为 PDF
-
导出 — 包括导出记录、将记录另存为 Excel 文件、将搜索结果中的记录拷贝到剪贴板、保存文件副本、通过 Apple 事件访问数据以及使用文件作为导入源
注意:此权限不影响使用 ActiveX 访问数据的功能。
- 管理扩展权限
- 管理没有完全访问权限的帐户
- 替代数据验证警告
- 客户端闲置时断开用户与托管解决方案的连接
- 修改自己的密码
- 访问菜单命令 (全部、仅限于编辑、最低)
请参阅 FileMaker Pro Advanced 帮助中的编辑其他权限、授予受信任用户管理安全性的限定能力和断开闲置用户的连接。
移除“完全访问”权限集
要确保用户无法访问仅限他们正常访问的解决方案和架构中的部分内容,可以使用 FileMaker Pro Advanced 永久移除解决方案中的“完全访问”权限集。
请注意:永久移除“完全访问”权限集会同时删除解决方案中正在使用“完全访问”权限集的所有帐户。这个做法可以永久删除对布局模式和脚本工作区的访问权限。“管理安全性”对话框的访问权限也同时被删除,除非您拥有支持管理扩展权限或管理没有完全访问权限的帐户权限的其他帐户。包括解决方案中的所有数据库文件,无论是在 Runtime 应用程序还是在 FileMaker Pro Advanced 中打开的文件。文件的架构和设计元素不可恢复。修改表、字段定义、关系、脚本或全部访问权限的唯一途径,是在删除“完全访问”权限集之前返回原始文件。
请参阅 FileMaker Pro Advanced 帮助中的删除对数据库的 Admin 访问权限。
加密数据
加密解决方案
使用 FileMaker Pro Advanced 加密文件中存储的所有信息(也称为静态加密)。 如果某人获取了文件的物理访问权,数据库加密会保护您的解决方案。
数据库加密需要 FileMaker 文件帐户具备任何待加密文件的完全访问权限、加密密码和共享 ID。每当 FileMaker Pro Advanced 或 FileMaker Go 打开一个本地文件,或者 FileMaker Server 或 FileMaker Cloud 产品在托管一个文件之前将其打开时,用户必须输入加密密码。共享 ID 关联多个加密文件。当一个加密文件尝试访问另一个加密文件时,如果文件的加密密码和共享 ID 匹配,系统不会再次提示用户输入加密密码。
请参阅 FileMaker Pro Advanced 帮助中的加密数据库文件和使用强密码。
在 FileMaker Server 或 FileMaker Cloud 产品上打开加密文件时,您可以保存密码,以便在服务器重新启动时自动打开加密文件。FileMaker 采用双向 AES-256 加密,这种方法根据设备上的信息使用复合密钥来加密密码,并将密码安全地存储在服务器上。
请参阅 FileMaker Server 帮助中的打开托管文件和 清除数据库加密密码,以及 FileMaker Cloud 产品文档中的加密和上传数据库文件。
如果文件未加密,FileMaker Cloud 会自动加密此文件。要显示数据库的加密密码,可点击数据库选项卡。点击数据库名称右侧的向下键,然后点击显示加密密码。 请参阅 FileMaker Cloud 产品文档。
重要事项:您从 FileMaker Cloud 下载文件之后,文件在您的本地设备上仍保持加密状态,因此您必须使用加密密码来打开文件。在 FileMaker Cloud 的 Admin Console 中,可以显示加密密码并将其妥善保存。
加密字段数据
FileMaker 平台提供以下函数,以使用指定密钥加密和解密数据:
- CryptEncryptBase64:接受文本或容器数据,并返回加密的 Base64 编码文本。
- CryptDecryptBase64:接受用 CryptEncryptBase64 加密的 Base64 编码文本,并返回与加密前相同类型的解密数据 (文本或容器数据)。
如果需要进一步控制编码与格式化加密数据的方式,您可以使用 CryptEncrypt 和 CryptDecrypt 函数。
这些函数使用 PBKDF2 算法,在加密或解密数据之前将指定密钥转换为加密密钥。这个密钥使用 128 位 AES-GCM 验证的加密算法加密数据。结果包含在加密期间验证数据的加密 SHA256 数据摘要。
重要事项:这些函数无法直接关联到 FileMaker Pro Advanced 文件安全架构 (帐户、权限集和扩展权限)。因此,数据的安全性取决于您如何在解决方案中使用这些函数。
作为开发者,您可以考虑如何安全地管理密钥:
- 创建:密钥创建 (或生成) 的最佳做法包含几个基本要素:密钥长度、复杂性和密钥熵。
- 存储:独立于解密的数据安全地存储密钥。
- 保留:密钥的可用期限必须等同于加密数据的可用期限。例如,如果密钥不可用,备份则无法使用。
- 受损:根据您使用这些函数的方式,如果密钥受损,其加密的数据会受到实际损害,因为不使用密钥无法解密数据。
这些函数的一项应用,是保护字段内数据的机密性 (也称为字段级加密)。 然而,这个级别的加密不能取代可保护整个文件 (包括备份) 免受损害的静态加密。请参阅加密解决方案。
还应注意:
- 尝试解密已经被解密的数据可能会毁坏数据。相反,可以使用单独的标记指示数据是否已加密,并且仅在需要时解密数据。
- 如果字段内容经过加密、解密、再加密,加密的值每次都不相同。
- 如果密钥泄露,您需要能够找到包含加密数据的所有记录,以便使用泄露的密钥进行解密,然后使用新密钥重新加密。
加密容器数据
如果针对某个解决方案启用了数据库加密,或者将容器数据设置为在外部存储,所有容器数据都会默认被加密 (安全存储)。如果您不希望在加密数据库文件或者在外部存储容器数据时加密容器数据,您可以将容器数据保留在开放存储中。(然而,您不能为 FileMaker Cloud 托管的文件执行此操作,因为这需要将外部存储的容器数据进行加密。)请参阅 FileMaker Pro Advanced 帮助中的加密数据库文件和将容器字段设置为在外部存储数据。
注释:
- 对于 FileMaker Cloud 托管的文件,您不能将使用安全存储的数据传输至嵌入的容器数据。FileMaker Cloud 针对设置为在外部存储的容器数据使用 FileMaker 数据存储。
数字签名数据
如果您的解决方案为 web 服务使用 REST API,其要求生成数字签名数据或使用 RSA 密钥验证签名数据,则可使用 CryptGenerateSignature 和 CryptVerifySignature 函数。
限制整个布局内的解决方案访问
根据用户的需求和权限集设计布局,限制其对数据的查看和对功能的访问。还可以考虑隐藏状态工具栏,提供执行经允许任务的按钮。
如果需要在 FileMaker WebDirect 或 FileMaker Go 上使用解决方案,可以设计适合在这些客户端上使用的布局。请参阅 FileMaker WebDirect 指南和 FileMaker Go 开发指南。
注意:限制访问某个布局上的解决方案数据和功能不会阻止用户通过脚本步骤、函数、AppleScript 或其他方式来访问数据。定义权限集,以限制用户仅可在部分客户端上访问数据和功能。请参阅定义权限集。
授予受信任的用户管理安全性的限定能力
如果您开发解决方案但不希望自己管理授予和删除帐户访问权限的日常任务,您可以给予受信任的用户管理安全性的限定能力,而不授予他们完全访问权限。这样做既可以减轻日常工作量,又可以保护您的知识产权,避免其他人做出破坏解决方案的更改。
这些权限授予在 FileMaker Pro Advanced 中进行安全性更改的限定能力。
权限 | 用户可以 | 用户不可以 |
---|---|---|
管理没有完全访问权限的帐户 |
|
|
管理扩展权限 |
|
|
要授予帐户访问入口管理安全性的限定权限,可以:
- 创建权限集。
- 在“编辑权限集”对话框中,启用权限集中的一个或两者。
-
将可用菜单选项设置为全部。
这允许用户访问文件菜单 > 管理 > 安全性。
- 将此权限集分配给某个帐户访问入口。
请参阅 FileMaker Pro Advanced 帮助中的创建和编辑权限集以及创建和编辑帐户访问权限。
使用函数、脚本和脚本触发器增强安全性
使用 FileMaker 函数、脚本和脚本触发器增强常见任务的安全性,比如删除、审核与维护记录。例如,可使用脚本:
- 添加或删除帐户、重新设置帐户密码、更改密码、启用或禁用帐户 (仅适用于 FileMaker 文件帐户)
- 作为另一个用户重新登录 (仅适用于 FileMaker 文件帐户、Guest 帐户和外部服务器帐户)
- 如果不希望用户删除记录可对记录归档
- 提供有关用户当前会话和状态的信息,用于监管合规性与审核
- 当安全限制对用户造成影响时,提示自定义消息
请注意:不要使用函数、脚本或脚本触发器替代 FileMaker 安全功能。
注释
- 默认设置下,脚本运行时使用当前登录帐户的权限集。如果脚本尝试执行用户无权限执行的操作,这可能会导致问题。对所有权限集的所有脚本进行测试,以保护数据的完整性。
- 使用脚本步骤与 FileMaker 平台之外的系统通信时,可以选择通过 SSL 加密进行交互的可用选项。例如,“从 URL 插入”脚本步骤包含“验证 SSL 证书”选项,“发送邮件”脚本步骤允许与使用 SSL 加密的 SMTP 服务器通信。
- 使用函数获取有关当前用户的信息,比如 Get(帐户名)、Get(帐户组名称) 和 Get(帐户类型)。例如,使用 Get(帐户扩展权限) 函数测试用户是否拥有特定扩展权限。
限制解决方案参考
限制解决方案参考,以避免解决方案架构遭遇未经授权文件的访问。如果另一个文件要访问解决方案架构和数据,须满足以下任一条件:该文件必须经过解决方案内的授权,或者用户必须输入使用解决方案的有效凭据。
您可以指定仅限具有“完全访问”权限集的帐户创建解决方案参考,确保只有解决方案设计者和管理者可以参考该解决方案。新建文件默认启用此选项。
在多文件解决方案中,您必须对需要访问另一个文件架构的每个文件进行授权。
请参阅 FileMaker Pro Advanced 帮助中的对文件授予访问权限。
设置最低客户端版本
设置允许访问解决方案的最低 FileMaker Pro Advanced 或 FileMaker Go 版本。更新版本中的 FileMaker 客户端提供更早版本中不具备的功能和安全性更改,因此需要对可以访问解决方案的客户端加以限制。请参阅 FileMaker Pro Advanced 帮助中的设置文件选项。
启用插件
仅使用受信任来源的插件 (最好是由其开发者进行数字签名的插件),因为这些插件可以访问与修改您的解决方案,并连接互联网上的其他服务。
为了增强安全性并阻止未经授权插件的安装,FileMaker Pro Advanced 用户可以启用或禁用插件文件的安装。这是应用程序的首选项,不是文件首选项,可决定插件能否在用户电脑上进行安装。
如果安装并启用插件,FileMaker Pro Advanced 会在每次启动时尝试加载此插件。如果 FileMaker Pro Advanced 无法验证插件的数字签名,或者如果插件未经签名,用户会收到提示并可以选择是否加载此插件。如果用户选择始终加载此插件,这项偏好就会保存在用户的应用程序首选项中 (而非文件中)。
请参阅 FileMaker Pro Advanced 帮助中的设置插件首选项和设置信任的主机和插件首选项。要启用主机上的插件,请参阅启用 FileMaker Server 和 FileMaker Cloud for AWS 中的插件。
注释
- FileMaker Cloud 中不支持插件。
针对服务器管理员的安全性
概述
FileMaker Cloud 产品和 FileMaker Server 为以下客户端托管解决方案:
- FileMaker Pro Advanced
- FileMaker Go
- FileMaker WebDirect
- Web 用户以及借助使用 PHP 的自定义 Web 发布和使用 XML 的自定义 Web 发布,通过 Web 发布引擎发布的 Web 应用程序(仅限于 FileMaker Server)
- 使用 FileMaker Data API 访问托管解决方案中的数据的 Web 服务或应用程序
- ODBC 和 JDBC 应用程序
- 支持 OData 的客户端应用程序 (仅限 FileMaker Cloud)
以下部分概述了在 FileMaker Server 和 FileMaker Cloud 产品中设置安全性的步骤。
如果您正在使用 FileMaker Server,请确保将其安装在安全的位置,并且使用 SSL 加密为客户端和服务器之间的 HTTPS 通信进行加密:
启用外部验证
注意:FileMaker Cloud 产品中不支持该功能。
借助 FileMaker Server,您可以使用现有的验证服务器控制对文件的访问,无需在每个文件中管理独立的帐户列表。
使用 FileMaker Pro Advanced 在文件内设置外部服务器帐户访问权限,使用 FileMaker Server 托管该文件并将其设置为使用外部验证。要在 FileMaker Pro Advanced 中设置帐户,请参阅设置外部验证。
要在 FileMaker Server 中启用外部验证:
- 在 FileMaker Server Admin Console(管理控制台)中,点击 Administration > External Authentication 选项卡。
- 为 Database Sign In 启用 External Server Accounts。
要使用 Active Directory 或 Open Directory,安装 FileMaker Server 的服务器必须属于外部验证的域。
全面测试。请参阅测试安全设置。
启用 OAuth 身份认证中心验证
借助 FileMaker Server 或 FileMaker Cloud for AWS,您可以使用受支持的 OAuth 身份认证中心控制对文件的访问,无需在每个文件中管理独立的帐户列表。
使用 FileMaker Pro Advanced 在文件内设置 OAuth 身份认证中心帐户访问权限,使用 FileMaker Server 或 FileMaker Cloud for AWS 托管文件,并将主机设置为使用 OAuth 身份认证中心验证。要在 FileMaker Pro Advanced 中设置帐户访问权限,请参阅设置 OAuth 身份认证中心验证。
要在 FileMaker Server 中启用 OAuth 身份认证中心验证:
- 在 FileMaker Server Admin Console(管理控制台)中,点击 Administration > External Authentication 选项卡。
- 为 Identity Authentication Settings 设置 OAuth 身份认证中心 (Amazon、Google 或 Microsoft),以用于验证访问权限。
- 为 Database Sign In 启用 External Server Accounts。
- 启用您为 Identity Authentication Settings 设置的 OAuth 身份认证中心。
要在 FileMaker Cloud for AWS 中启用 OAuth 身份认证中心验证:
- 在 FileMaker Cloud for AWS 的 Admin Console 中,点击 Administration > External Authentication 选项卡。
- 为 Identity Authentication Settings 设置 OAuth 身份认证中心 (Amazon、Google 或 Microsoft),以用于验证访问权限。
- 为 Database Sign In 启用登录设置。
注意:在 FileMaker Cloud for AWS 中,FileMaker Cloud for AWS 管理员和客户端共享 Amazon 身份认证中心验证,Amazon 客户端 ID 和客户端密钥保持同步。
全面测试。请参阅测试安全设置。
为组和用户启用 FileMaker ID 验证
对于 FileMaker Cloud 托管的文件,使用 FileMaker ID 身份认证中心验证用户。在 FileMaker Customer Console 中,团队管理员可将 FileMaker ID 用户添加到团队并创建用户组。在 FileMaker Pro Advanced 文件中,您可为组或个人用户创建与编辑 FileMaker ID 帐户访问权限。您指定给某个组的访问权限集适用于该组中的所有用户。您指定给某位个人用户的访问权限集仅适用于该用户。
要为 FileMaker ID 组和用户创建帐户访问权限:
- 在 FileMaker Customer Console 中的用户页面,邀请用户加入团队。
- 在组页面创建组,然后将用户添加到该组。
- 要为组或个人用户创建帐户访问入口,可在 FileMaker Pro Advanced “管理安全性”对话框中,为验证途径: 选择 FileMaker ID - <团队名称>,然后点击新建。
- 为组或用户名选择 FileMaker ID 组或用户名,指定一个权限集,然后点击确定。
注意:要按照您在 FileMaker Customer Console 中做出的更改更新“管理安全性”对话框中的 FileMaker ID 信息,可将验证途径: 更改为其他选项,然后返回您的 FileMaker ID 团队名称,或者重新打开“管理安全性”对话框。
请参阅 FileMaker Pro Advanced 帮助中的编辑 FileMaker ID 帐户访问权限和 FileMaker Customer Console 帮助。
限定托管解决方案列表
FileMaker 客户端和 FileMaker Customer Console 的主页显示托管解决方案列表。根据主机类型,您可以限定要显示的解决方案。
在 FileMaker Pro Advanced 的“主机”对话框中,以及 FileMaker Go 和 FileMaker WebDirect 的“启动中心”内 | 在 FileMaker Pro Advanced 的“我的 App”窗口中、FileMaker Go 的“我的 App”选项卡中,以及 FileMaker Customer Console 的主页内 | |
---|---|---|
FileMaker Server | 默认设置下,显示所有打开的解决方案。然而,您可将此列表限定为仅显示当前用户可以访问的解决方案。要过滤此列表,请参阅 FileMaker Cloud 产品文档和 FileMaker Server 帮助中的过滤数据库设置。 | 不可用 |
FileMaker Cloud for AWS | 不可用 | |
FileMaker Cloud | 当前用户可以使用的所有打开的解决方案都会显示。 如果解决方案包含用户的 FileMaker ID 用户名或用户所在组的帐户访问入口,则该解决方案可供用户使用。请参阅 FileMaker Pro Advanced 帮助中的编辑 FileMaker ID 帐户访问权限。 FileMaker ID 团队管理员还可针对被指定“通过 FileMaker WebDirect 访问”扩展权限 (在 FileMaker Pro Advanced 中设置) 的用户限定可用的解决方案。在 FileMaker Customer Console 的设置页面,启用Show only FileMaker WebDirect files on Home page。请参阅 FileMaker Customer Console 帮助。 |
需要为托管文件使用密码
请确保所有托管数据库均需要客户端指定帐户和密码。以下情况下数据库不安全:
- Guest 帐户正在使用“完全访问”权限集
- 任意“完全访问”帐户密码为空
- 在数据库中保存任意“完全访问”帐户的密码 (使用 FileMaker Pro Advanced “文件选项”对话框“使用如下帐户登录”选项)
默认设置下,FileMaker Server 会阻止不安全数据库的托管。请参阅 FileMaker Server 帮助中的托管数据库。FileMaker Cloud 产品通常需要为托管的数据库使用密码保护。
当 FileMaker Pro Advanced 用户尝试使用“上传到主机”菜单项上传数据库时,FileMaker Pro Advanced 会验证该数据库是否具备密码保护。 如果主机要求数据库具备密码保护,FileMaker Pro Advanced 则不允许上传以上类型不安全的数据库。
查看日志文件
当 FileMaker Server 和 FileMaker Cloud 产品运行时,会记录服务器活动。使用日志文件收集客户端访问信息,以及需要用于监管和审核的其他信息。
请参阅 FileMaker Server 帮助中的查看日志文件条目,以及 FileMaker Cloud 产品文档中的配置 FileMaker Cloud 产品。
断开闲置用户的连接
设置连接到 FileMaker Server 或 FileMaker Cloud 产品托管文件的 FileMaker 用户最长可以闲置的时间。闲置时间限制可以降低文件遭遇无人使用的电脑或移动设备访问的风险。然而,请确保足够的闲置时间,以避免频繁中断。
在 FileMaker Pro Advanced 的“编辑权限集”对话框中,为您希望用户闲置时断开连接的每个权限集选择闲置时断开用户与服务器的连接。由于您可以为每个权限集设置此选项,特定用户会在闲置时断开连接,其他用户则始终保持连接。在 FileMaker Pro Advanced 和 FileMaker Go 中,使用“完全访问”权限集登录的用户不会在闲置时断开连接。
要指定闲置时间,请参阅 FileMaker Server 帮助中的FileMaker 客户端会话超时,以及 FileMaker Cloud 产品文档中的配置 FileMaker Cloud 产品。
设置备份
备份解决方案以防止数据丢失,这很重要。如果文件中的数据受损,您可以还原到备份。
FileMaker Server 中的备份
FileMaker Server 提供几种类型的备份:自动备份、按需备份、预定备份和渐进式备份。
- 使用自动备份时,FileMaker Server 可以每天一次创建所有托管数据库的完整备份。
- 使用按需备份时,您可以点击立即备份,随时创建所有托管数据库的完整备份。
- 使用预定备份时,FileMaker Server 会检测自上次备份起数据是否有所更改,并创建所有数据库和已更改容器数据的完整备份。
- 使用渐进式备份时,FileMaker Server 在渐进式备份文件夹中创建所有托管数据库的两个完整备份。然后在指定间隔后,将所有更改应用到最早的备份副本中。
FileMaker Server 仅在本地磁盘上保存备份。使用其他工具拷贝本地备份,以便在灾难恢复时提供其他位置的备份。请务必指定用于存储备份的安全物理位置。
请注意:FileMaker Server 为这些备份创建目录结构。要使用备份文件,请不要更改备份文件夹中的原始文件。不要使用 FileMaker Pro Advanced 打开原始备份文件,对其进行编辑或移出备份文件夹。可以拷贝该文件并以专属方式使用该副本。
请参阅 FileMaker Server 帮助中的了解备份选项。
在 FileMaker Cloud for AWS 中备份
FileMaker Cloud for AWS 以快照形式提供存储卷的备份,其中包括含数据库、配置和日志在内的所有数据。备份每 20 分钟执行一次,FileMaker Cloud for AWS 可存储一个星期的备份。FileMaker Cloud for AWS 还可在 Amazon Simple Storage Service 中保留备份。
在 FileMaker Cloud 中备份
FileMaker Cloud 会在数据库上传后创建完整的数据库备份。更改数据库时每 20 分钟执行一次自动备份。开始自动删除备份之前,备份会保留 30 天。您可以保留备份、从保留列表中删除备份、编辑备份标签以及恢复备份。
添加管理员
FileMaker Server 中的非超级管理员
您可以允许外部验证帐户登录 Admin Console(管理控制台)并担任服务器管理员。这些帐户可以更改 FileMaker Server 中除 Admin Console 用户名和密码之外的任何设置。
- 为 Identity Authentication Settings 设置 External Accounts for Admin Console Sign In,可输入将用于验证访问权的组别名称。(格式为 groupname、domain\groupname 或 groupname@localmachine。)
- 为 Admin Console Sign In 启用 External Accounts。
FileMaker Cloud for AWS 中的非超级管理员
作为超级管理员,您可以允许非超级管理员登录 FileMaker Cloud for AWS,并管理实例的大部分元素。非超级管理员不能修改其他的管理员帐户、导入 SSL 证书或中断 FileMaker Cloud for AWS 订阅。
决定是否允许执行“在服务器上执行脚本”脚本步骤
注意:FileMaker Cloud 产品中不支持该功能。
出于性能方面的考虑,解决方案开发者可能会将 FileMaker Pro Advanced 数据库设计为使用“在服务器上执行脚本”的脚本步骤。出于安全方面的考虑,FileMaker Server 管理员可以决定是否允许在托管的解决方案中执行“在服务器上执行脚本”的脚本步骤。
要禁用“在服务器上执行脚本”,可以使用 CLI 命令 fmsadmin serverconfig set scriptsessions=0
,将最大的并发脚本会话数设置为 0(零)。任意大于零的值将会允许在托管的解决方案中执行“在服务器上执行脚本”的脚本步骤。
请参阅 FileMaker Server 帮助中的使用命令行界面。
在 FileMaker Server 和 FileMaker Cloud for AWS 中启用插件
解决方案开发者可以将 FileMaker Pro Advanced 数据库设计为使用服务器端插件。要在 FileMaker Pro Advanced 中启用插件,请参阅启用插件。
在 FileMaker Server 或 FileMaker Cloud for AWS 的 Admin Console 中的 Connectors > Plug-ins 选项卡中,启用 FileMaker Script Engine Plug-ins 和 Web Publishing Plug-ins。这些设置允许 FileMaker 脚本引擎使用外部函数和插件中执行的脚本步骤。请参阅 FileMaker Server 帮助中的管理插件和 FileMaker Cloud for AWS 帮助中的管理服务器插件。
在 Admin Console 中,您可让通过计划运行的脚本、“在服务器上执行脚本”脚本步骤、FileMaker WebDirect 和自定义 Web 发布来安装、更新与加载插件。在 Connectors > Plug-ins 选项卡上,启用 Install Plug-in File Script Step 设置。
注释
- FileMaker Cloud 中不支持插件。
- 在 FileMaker Cloud for AWS 中,插件在 Linux 上运行,该平台尚未提供签署二进制文件的行业标准方法。因此,FileMaker Cloud for AWS 无法为插件验证数字签名。
确保电子邮件通知的安全性
在 FileMaker Server Admin Console(管理控制台)中,如果您使用 Configuration > Notifications 选项卡输入电子邮件服务器的 SMTP 配置信息,则需要验证此电子邮件服务器的安全性。电子邮件服务器应始终使用最新的传输层安全性 (TLS) 协议进行通信。
请参阅 FileMaker Server 帮助中的通知设置。
请注意:从 FileMaker Cloud Admin Console(管理控制台)发送的邮件使用 TLS 协议。
针对 IT 专业人员的安全性
概述
FileMaker 软件在您的电脑和网络上运行。客户端可以使用您公司的 Intranet 或 Internet 访问托管的数据。规划 FileMaker 平台的安全性时,需考虑系统环境的安全性。
以下内容描述了如何为 FileMaker 平台打造更安全的系统环境。
保护运行 FileMaker Server 的设备安全
尽管帐户和权限集提供了良好的数据库保护,但仍无法完全确保解决方案的安全性。如果您使用 FileMaker Server,则必须保护文件和信息的访问权,不能仅依赖于 FileMaker Pro Advanced 访问权限。例如:
- 保护存储数据库文件的计算机、硬盘和备份存储媒介的物理安全。例如,将运行 FileMaker Server 的电脑放置在上锁的机房中。
- 使用 FileMaker, Inc. 最新认证的操作系统版本。
- 如果将 FileMaker Pro Advanced 数据库托管在通过网络共享的计算机上,则可以使用操作系统安全设置和密码将文件夹和文件限制为只有经过授权的人员才可以访问。
- 将操作系统的屏幕保护程序功能设置为需要密码才能唤醒计算机。
- 请勿在安装 FileMaker Server 的同一台设备上运行其他网络服务,比如电子邮件服务器。
- 验证所有其他的网络服务仅支持最高级别的安全性,比如最新的 TLS 协议。这些网络服务应当禁用不安全协议的支持,比如 SSLv2 和 SSLv3。
安装 FileMaker Server 组件在防火墙后面
FileMaker Server 包含多达三个组件:
- 数据库服务器
- Web 发布引擎
- Web 服务器模块
您可以在主服务器上部署这些组件,在备用服务器上增加额外的 Web 发布引擎和 Web 服务器模块。您可以控制每台服务器与防火墙的相对位置。例如,您可以选择将所有组件放置在防火墙后面,以限制对 LAN 网络的访问权。如果您将部署中的设备放置在防火墙后面,则必须打开 FileMaker WebDirect 在防火墙中使用的端口,以便在 Internet 上使用 FileMaker WebDirect。请参阅 由 FileMaker Server 和 FileMaker Cloud 产品使用的端口。
请注意:要增强数据库解决方案的安全性,尤其是在 Internet 上的安全性,可以在 FileMaker Server 部署公共端上使用防火墙,并为 Web 服务器使用 SSL 证书。请参阅设置 SSL 加密。
设置 SSL 加密
使用 SSL 技术为 FileMaker Server 或 FileMaker Cloud 产品、FileMaker 客户端、ODBC 和 JDBC 应用程序、REST API 客户端和 OData 客户端之间传输的数据加密。SSL 证书是由证书认证中心 (CA) 提供的数字文件,以数字形式识别发送者、接收者或安全传输的双方。SSL 证书安装在运行 FileMaker 应用程序的设备上,提供 FileMaker Server 或 FileMaker Cloud 产品与 FileMaker 客户端之间的安全连接。
如果客户端要在 Internet 上访问您托管的数据,SSL 加密尤为重要。如果不使用加密,您的数据可能会被监视您网络的软件查看。
要在 FileMaker Server 中启用 SSL 加密,可以导入自定义 SSL 证书。请参阅 FileMaker Server 帮助中的保护您的数据安全。
注释
- 请勿在安装 FileMaker Server 的设备和运行低安全性网络服务(比如电子邮件服务器)的设备之间共享同一个 SSL 证书。
- 请勿使用同一个专用密钥生成在不同设备上使用的多个 SSL 证书,比如 FileMaker Server 和电子邮件服务器。如果电子邮件服务器遭遇攻击,那么使用同一个专用密钥的所有其他证书可能遭到破坏。
- 在多设备 FileMaker Server 部署中,为主服务器和备用服务器使用主体备用名称 (SAN) 证书或通配符证书。否则,部署中的每个设备均需要与其唯一的主机名相匹配的 SSL 证书。
请参阅 FileMaker 知识库中的FileMaker 网络安全和受支持的 SSL 证书。
关于 FileMaker Server 中的默认证书
FileMaker Server 提供由 FileMaker, Inc. 签署的默认 SSL 证书,该证书不验证服务器名称。
请注意:FileMaker 默认证书仅限用于测试目的。实际使用时需要安装自定义 SSL 证书。
关于 FileMaker Cloud for AWS 中的默认证书
FileMaker Cloud for AWS 提供默认的 SSL 证书。您可以续订此默认证书,或者导入自己的自定义证书。要管理 SSL 证书,请参阅 FileMaker Cloud 产品文档。
关于 FileMaker Cloud 中的 SSL 证书
FileMaker Cloud 为主机提供并配置 SSL 证书。您不可与 FileMaker Cloud 搭配使用自定义证书。
启用 HTTP 严格传输安全 (HSTS)
如果 FileMaker Server 拥有有效的 SSL 证书,HTTP 严格传输安全 (HSTS) 会限制 Web 客户端接受 HTTPS 连接。一旦 Web 客户端使用 HSTS 通过 HTTPS 连接到 FileMaker Server,Web 浏览器会阻止客户端使用 HTTP 连接来访问 FileMaker Server 上托管的内容。
当您导入自定义 SSL 证书时,HSTS 会在 FileMaker Server 中开启。
注释
- FileMaker Cloud 产品始终支持使用 HSTS。
- macOS: 如果您在 FileMaker WebDirect 中启用了 HSTS,请确保将自定义主页和自定义 Web 内容托管在 Web 发布引擎 HTTPS 目录中。
测试 SSL 加密
要测试 FileMaker Server 或 FileMaker Cloud 产品与 FileMaker Pro Advanced 或 FileMaker Go 客户端之间的加密,可以使用 Get(连接状态) 函数。 该函数将返回如下值:
- 0,表示当前文件没有网络连接。
- 1,表示连接未加密(FileMaker Server 禁用 SSL,或连接 FileMaker Pro Advanced 主机)。
- 2,表示连接已加密,但无法验证此连接的 FileMaker Server SSL 证书。您可能会连接到一台伪装为您实际目标的服务器,这将使您的机密信息处于危险之中。
- 3,表示连接已使用经验证的 SSL 证书加密。
例如,编写一个在打开文件时运行的脚本,提示用户 FileMaker Server 的连接是否安全。
用户可在 FileMaker Pro Advanced “打开文件”对话框、FileMaker Pro Advanced 窗口右上角或 FileMaker Go “打开文件”屏幕上看到锁状图标。
- 相当于 Get(连接状态) 函数返回 1。
- 相当于 Get(连接状态) 函数返回 2。
- 相当于 Get(连接状态) 函数返回 3。
注意:如果客户端使用服务器的 IP 地址,而不是完全限定的主机名,可能会显示无法验证 FileMaker Server SSL 证书的加密连接。要显示具有经验证的 SSL 证书的加密连接,您的客户端应当在 FileMaker Pro Advanced 中的“主机”对话框和 FileMaker Go 中的“启动中心”添加完全限定的主机名作为喜爱的主机。
Java 安全事项
FileMaker Server 和 FileMaker Cloud 产品要求 Java Runtime Environment 满足最低版本的更新。如果安装 FileMaker Server 时最低版本不可用,FileMaker Server 安装程序会安装 Java Runtime Environment。在 FileMaker Cloud 产品中,Java 最低版本会在您创建自己的实例时进行安装。
Java 安全更新会频繁发布在 java.com 网站。 FileMaker Server 和 FileMaker Cloud 产品更新可能包含 Java 更新,但 java.com 网站更频繁地提供 Java 更新。
FileMaker 知识库中提供了名为 FileMaker Server 和 Java 的文章,其中列出了您应当与 FileMaker Server 搭配使用的最低 Java 版本。在安装 FileMaker Server 的设备上应用 Java 更新之前,请先查看此文章中的信息。 如果您在应用 Java 更新之后遇到问题,请移除此更新,恢复到 FileMaker Server 要求的最低 Java 版本。
PHP 安全事项
使用 PHP 的自定义 Web 发布要求安装 FileMaker Server 的设备上具有 PHP 引擎。当您安装 FileMaker Server 时,PHP 引擎会随之安装。然而,您可以选择使用您自己的 PHP 引擎。
PHP 安全更新会频繁发布至 php.net 网站。FileMaker Server 更新可能包含 PHP 更新,但 php.net 网站更频繁地提供 PHP 更新。要更频繁地应用 PHP 更新,可以安装并维护您自己的 PHP 引擎。
如果您维护自己的 PHP 引擎,则必须手动安装适用于 PHP 的 FileMaker API,以便使用 PHP 进行自定义 Web 发布。请参阅 FileMaker Server 自定义 Web 发布指南。
请注意:FileMaker Cloud 产品不支持自定义 Web 发布,且不使用 PHP。
替换默认的 Web 服务器页面
FileMaker Server 使用默认的 FileMaker 数据库服务器网页。该页面不会显示关于您服务器的任何安全信息,但会标明该服务器正在运行 FileMaker Server。 客户端可通过以下 URL 查看默认页面:
- http://[host]
- https://[host]
其中,[host] 是您 FileMaker Server 部署中的主机 IP 地址或域名。
要替换此默认页面,可以替换 index.html 文件,该文件位于主服务器上的如下位置:
- Windows:[驱动器]:\Program Files\FileMaker\FileMaker Server\HTTPServer\conf\index.html
- macOS (针对 HTTP): /资源库/FileMaker Server/HTTPServer/htdocs/index.html
- macOS (针对 HTTPS): /资源库/FileMaker Server/HTTPServer/htdocs/httpsRoot/index.html
其他安全事项
定期应用更新
FileMaker 产品的软件更新可能包含安全改进功能。安装更新以尽可能确保您的 FileMaker 软件安全。请参阅 FileMaker 知识库中的 FileMaker 安全更新。
使用 FileMaker, Inc. 最新认证的操作系统版本。
为设备驱动程序以及与您的 FileMaker 软件搭配使用的额外软件(如 ODBC 驱动程序)应用更新。
使用强密码
FileMaker 平台使用密码进行几个方面的验证。FileMaker Server 和 FileMaker Cloud 产品要求为管理员帐户使用密码。FileMaker Pro Advanced 允许您定义帐户密码和加密密码。当您创建密码时,FileMaker 软件会分析密码并告知您密码的强度。
您可以为帐户密码使用外部验证 (仅限 FileMaker Server) 或 OAuth 身份认证中心验证 (FileMaker Server 或 FileMaker Cloud for AWS)。 借助外部验证,您可以使用 Windows 中的 Active Directory 或 macOS 中的 Open Directory 管理密码,无需将密码存储在 FileMaker 软件中。借助 OAuth 身份认证中心验证,您可以通过受支持的 OAuth 身份认证中心(比如 Amazon 或 Google)管理密码。请参阅设置外部验证和设置 OAuth 身份认证中心验证。
针对 FileMaker Cloud,用户和团队管理员使用 FileMaker ID 帐户进行验证,以使用 FileMaker Customer Console 并打开托管的文件。FileMaker ID 用户管理自己的密码,并可设置多重验证。
测试安全设置
当您完成 FileMaker 平台安全功能设置之后,可以测试解决方案的安全性。
- 为每个权限集设置一个测试帐户。让这些帐户以测试为目的时保持活动状态,但在您的产品系统中保持非活动状态。
- 定义要测试的功能清单。使用每个测试帐户逐步测试此清单。
- 记录测试结果
- 增加新功能时重复测试。
持续评估您的安全改进功能,确保数据始终受到保护。需验证用户拥有最新、最安全的操作系统和 FileMaker 软件版本。
遵循监管要求
您有责任熟知安全合规性要求并采取相应步骤。
除了本文档根据您的内部或监管要求(COBIT、HIPAA、ISO、PCI、NIST、FIPS 等)所列的指导原则,您还需要采取一些其他的步骤。
- 如果您需要为所有网络流量加密,可以打开 FileMaker Server 中的 SSL,然后为与 FileMaker Server 或 FileMaker Cloud 产品通信的应用程序和外部服务器配置 SSL。
- 如果您具备最低的密码标准,可以使用外部验证服务器。
- 如果您需要审核跟踪,则可在 FileMaker Pro Advanced 中使用表和脚本进行构建。如有更复杂的要求,可以考虑使用市面上提供的审核插件。
- Windows:由于 FileMaker Server 根据 Windows 来管理 SSL,您可以安装最新的 Windows 安全更新。
告知用户
在您的解决方案布局上或网页上提供文档,为用户说明如何安全地使用解决方案。其中包含有关帐户和密码的信息,如何安全地连接到 FileMaker Server 或 FileMaker Cloud 产品,如何使用函数和脚本以及与解决方案相关的其他安全事宜或要求。
更多资源
日常操作快速参考指南
目的 | 前往 |
---|---|
管理帐户、权限、扩展权限或文件访问 | FileMaker Pro Advanced: 选择文件菜单 > 管理 > 安全性。 |
立即阻止某人访问任何数据 | Admin Console:
FileMaker Customer Console:
如果删除授权用户时未断开客户端连接,系统不会即时阻止用户访问数据。用户在登出 FileMaker ID 之前可以继续访问数据。 FileMaker Pro Advanced:
将文件中的帐户访问入口设置为非活动项不会影响当前已登录的用户,仅会阻止后续用户登录。 如果用户具有通过外部验证群组访问的权限,可将此用户从外部验证群组中移除,或者禁用此用户在外部验证服务器中的帐户。 紧急情况下,可关闭文件以阻止所有人访问。 |
强制用户更改密码 (仅限 FileMaker 文件帐户) | FileMaker Pro Advanced:
注意:您还可以编写脚本,以强制多名用户执行此操作。 如果用户可以通过外部验证进行访问,您可以使用 Active Directory 或 Open Directory 服务器来管理密码。 |
查看日志文件 | Admin Console:
|
FileMaker 使用的加密类型
FileMaker 根据数据存储或传输的方式,用不同方法为数据加密。此表列出了 FileMaker 平台为数据加密时使用的加密类型。
选项 | 加密类型 |
---|---|
帐户密码 | 单向哈希算法 |
管理控制台密码 | 单向哈希算法 |
数据库加密 | AES-256 CBC 模式 |
SSL/TLS 1.2
|
注意:借助 SSL,加密模式根据主机和客户端的协商决定,因此加密模式可能是 CBC 或 GCM(或未来的其他模式)。 |
安全存储容器数据(数据库加密已禁用) | AES-128 CBC 模式 |
安全存储容器数据(数据库加密已启用) | AES-256 CBC 模式 |
由 FileMaker Server 和 FileMaker Cloud for AWS 使用的端口
请参阅 FileMaker 知识库中的由 FileMaker Server 使用的端口。
由 FileMaker Cloud for AWS 使用的端口可在 Amazon Web Services Elastic Cloud Compute (EC2) 仪表板中查看和编辑。 要管理您安全组中的端口,请参阅 FileMaker Cloud for AWS 使用指南。