0

최근에 AWS에서 Cassandra Cluster를 만들었습니다. 나는 또한 그것을 액세스하기위한 클라이언트 프로그램을 썼다. 모든 것이 작동합니다. 그러나 나는 보안에 대해 우려하고있다. 내 클라이언트 프로그램에서 클러스터의 IP 주소 만 알면 서버에 연결하여 쿼리를 실행할 수있었습니다. 보안에 좋지 않니? 사람들은 이것을 어떻게 안전하게 정상적으로합니까?AWS에서 Cassandra 데이터베이스 보안

감사합니다.

답변

0

기본적으로 Cassandra는 모든 보안 기능을 비활성화하고 설치합니다. 활성화 할 수있는 주요 기능은 네 가지가 있습니다.

  • Internal Authentication : 이렇게하면 클러스터에 대한 사용자 이름/비밀번호 액세스가 가능합니다. 링크를 따라 가서 cassandra.yaml에 authenticator: PasswordAuthenticator을 설정하면 사용할 수 있습니다.
  • Internal Authorization : 이렇게하면 Cassandra에서 권한 보안이 가능합니다. 다시 링크의 정보를 확인하고 활성화하려면 cassandra.yaml에 authorizer: CassandraAuthorizer을 설정하십시오.
  • Client-to-Node encryption : 이는 클라이언트 응용 프로그램과 클러스터간에 데이터를 보호합니다.
  • Node-to-Node encryption : 클러스터의 다른 노드간에 데이터를 보호합니다.

적어도 내부 인증 및 권한 부여를 사용하는 것이 좋습니다. SSL 암호화는 다소 복잡하지만 (여전히 좋은 생각이지만) 회사 정책 및 데이터의 민감도에 따라 필요할 수 있습니다. 이는 물론 적절한 AWS 보안 그룹을 클러스터에 적용하는 것 외에도 필요합니다.

1

기본값 인 클러스터에 대해 보안 그룹이 이미 정의되어 있어야합니다. 확인 Security Groups for Your VPC

최소한 서비스에서 요구하는 포트에 대한 공용 액세스를 제한해야합니다.

구현의 전반적인 보안 요구 사항을보다 잘 이해할 때까지 으로 솔직히 묶을 것입니다.

0

두 개의 보안 그룹을 갖는 것이 더 좋으며, 하나는 Cassandra 용이고 다른 하나는 응용 프로그램 용입니다. Cassandra 노드에는 내부 IP 만 할당되고 공용 IP는 없으며 응용 프로그램 보안 그룹에서만 Cassandra 포트에 대한 액세스를 제한합니다. 이렇게하면 응용 프로그램 만이 Cassandra에 액세스 할 수 있습니다.

official security guide 다음에 Cassandra 인증 및 인증을 사용하도록 설정해야합니다.