保护 AWS 上的 Cassandra 数据库
Securing Cassandra Database on AWS
我最近在 AWS 上创建了一个 Cassandra 集群。我还写了一个客户端程序来访问它。一切正常。但是,我担心安全问题。在我的客户端程序中,我只需要知道集群的 IP 地址,然后我就可以连接到它并对其进行 运行 查询。这对安全不是很不利吗?人们通常如何安全地执行此操作?
谢谢
默认情况下,Cassandra 安装时会禁用所有安全功能。您可以启用四个主要功能:
- Internal Authentication:这允许 username/password 访问您的集群。您可以按照link,并在您的cassandra.yaml中设置
authenticator: PasswordAuthenticator
来启用。
- Internal Authorization:这会在 Cassandra 中启用权限安全。再次检查 link 中的信息,并在 cassandra.yaml 中设置
authorizer: CassandraAuthorizer
以启用。
- Client-to-Node encryption:这可以保护您的客户端应用程序和集群之间的传输数据。
- Node-to-Node encryption:这可以保护集群中不同节点之间的数据。
至少,我建议启用内部身份验证和授权。 SSL 加密稍微复杂一些(尽管这样做仍然是个好主意),但可能需要根据您的公司政策和数据的敏感性。这当然是将适当的 AWS 安全组应用于您的集群的补充。
您应该已经为您的集群定义了一个安全组,即使它们是默认的。检查 Security Groups for Your VPC
至少,您应该限制public 访问服务所需的端口。
老实说,我只会将它与您的 IP 号码联系起来 ,直到您更好地掌握实施的整体安全要求。
最好有两个安全组,一个给Cassandra,一个给应用。 Cassandra 节点仅分配内部 IP,没有 public IP,并且仅从应用程序安全组限制对 Cassandra 端口的访问。这确保只有应用程序可以访问 Cassandra。
您还应该启用 Cassandra 身份验证和授权,遵循 official security guide。
我最近在 AWS 上创建了一个 Cassandra 集群。我还写了一个客户端程序来访问它。一切正常。但是,我担心安全问题。在我的客户端程序中,我只需要知道集群的 IP 地址,然后我就可以连接到它并对其进行 运行 查询。这对安全不是很不利吗?人们通常如何安全地执行此操作?
谢谢
默认情况下,Cassandra 安装时会禁用所有安全功能。您可以启用四个主要功能:
- Internal Authentication:这允许 username/password 访问您的集群。您可以按照link,并在您的cassandra.yaml中设置
authenticator: PasswordAuthenticator
来启用。 - Internal Authorization:这会在 Cassandra 中启用权限安全。再次检查 link 中的信息,并在 cassandra.yaml 中设置
authorizer: CassandraAuthorizer
以启用。 - Client-to-Node encryption:这可以保护您的客户端应用程序和集群之间的传输数据。
- Node-to-Node encryption:这可以保护集群中不同节点之间的数据。
至少,我建议启用内部身份验证和授权。 SSL 加密稍微复杂一些(尽管这样做仍然是个好主意),但可能需要根据您的公司政策和数据的敏感性。这当然是将适当的 AWS 安全组应用于您的集群的补充。
您应该已经为您的集群定义了一个安全组,即使它们是默认的。检查 Security Groups for Your VPC
至少,您应该限制public 访问服务所需的端口。
老实说,我只会将它与您的 IP 号码联系起来 ,直到您更好地掌握实施的整体安全要求。
最好有两个安全组,一个给Cassandra,一个给应用。 Cassandra 节点仅分配内部 IP,没有 public IP,并且仅从应用程序安全组限制对 Cassandra 端口的访问。这确保只有应用程序可以访问 Cassandra。
您还应该启用 Cassandra 身份验证和授权,遵循 official security guide。