메타데이터 서비스를 위한 보안 모범 사례
IBM 데이터 보안을 매우 중요하게 여기며, 메타데이터에 대한 최고 수준의 보호를 보장하기 위해 다음 모범 사례를 따르실 것을 권장합니다.
개요
이 주제에서는 다음 작업을 수행하여 메타데이터를 보호하기 위한 보안 수단을 구성하는 방법에 대해 설명합니다.
- 콘솔에서 보안 액세스 사용 설정
- 필요하지 않은 경우 인스턴스 또는 계정에 대한 메타데이터 서비스를 비활성화합니다.
- 필요에 따라 컴퓨팅 리소스 ID에 대한 신뢰할 수 있는 프로필을 제한하거나 할당하지 않음.
- 네트워크 보안을 강화합니다.
콘솔에서 보안 액세스 사용 설정
메타데이터 서비스에 대한 보안 액세스를 활성화할 수 있습니다. 보안 액세스가 활성화된 경우, 메타데이터 서비스는 암호화된 HTTP 보안 프로토콜( HTTPS )을 통해서만 가상 서버 인스턴스에서 액세스할 수 있습니다. 자세한 내용은 콘솔에서 보안 액세스 사용 설정하기를 참조하세요
HTTPS 또는 HTTP 중 하나를 필수 메타데이터 서비스 프로토콜로 지정하는 사용 허용 조건이 있는 이미지를 사용할 때는, 메타데이터 서비스 요청 및 응답 시 이 점을 유의해야 합니다. HTTP 용으로 설정된 이미지를 HTTPS 에서 사용할 수 없으며, 그 반대의 경우도 마찬가지입니다.
인스턴스 또는 계정에 대해 메타데이터 서비스를 사용 안함으로 설정
사용으로 설정된 기존 인스턴스에서 서비스를 사용 안함으로 설정할 수 있습니다. 자세한 정보는 메타데이터 서비스 사용 또는 사용 안함을 참조하십시오.
허용된 사용 조건에 따라 메타데이터 서비스가 활성화되어 있어야 하므로, 가상 서버 인스턴스의 메타데이터 서비스를 비활성화할 수 없을 수도 있습니다.
iptables 방화벽을 사용하여 다음의 접근을 제한하려면 Linux
iptables Linux 의 방화벽 유틸리티를 사용하여 메타데이터 서비스의 링크 로컬 주소(신뢰할 수 있는 네트워크)와 인터넷(신뢰할 수 없는 네트워크) 사이에 장벽을 설정하십시오. 어떤 트래픽을 허용하고 어떤 트래픽을 차단할지 결정하는 규칙을 정의하십시오.
다음 예제에서는 Linux iptables 및 해당 소유자 모듈을 사용하여, 기본 설치 Apache ID를 기반으로 Apache 웹 서버가 메타데이터 링크 로컬 주소( 169.254.169.254 )에 접근하지 못하도록 차단합니다. 이 규칙은 해당 사용자로 실행 중인 모든 프로세스에서 발생하는 메타데이터 요청을 거부하는 차단 규칙을 사용합니다.
sudo iptables --append OUTPUT --proto tcp --destination 169.254.169.254 --match owner --uid-owner apache --jump REJECT
이 엔드포인트는 가상 서버 인스턴스 내에서 실행 중인 모든 명령, 프로세스 및 소프트웨어 애플리케이션에서 액세스할 수 있습니다. 가상 서버 인스턴스 외부에서는 이 API 엔드포인트에 액세스할 수 없습니다. 이 단계는 또 다른 레벨의 보안을 추가합니다.
또 다른 방법은 허용 규칙을 사용하여 특정 사용자 또는 그룹에 대한 액세스를 정의하는 것입니다. 허용 규칙은 인스턴스의 메타데이터에 액세스해야 하는 소프트웨어를 결정해야 합니다. 규칙을 정의해 두면, 나중에 인스턴스의 소프트웨어나 구성을 변경하더라도 소프트웨어가 메타데이터 서비스에 실수로 액세스하는 것을 방지할 수 있습니다.
허용 규칙의 그룹 사용을 정의할 수도 있습니다. 방화벽 규칙을 변경하지 않고도 허용 그룹에 사용자를 추가하거나 제거할 수 있습니다.
다음 예제는 trustworthy-user 사용자 계정에서 실행 중인 프로세스를 제외하고는 모든 프로세스가 메타데이터 서비스에 액세스하지 못하도록 차단합니다:
sudo iptables --append OUTPUT --proto tcp --destination 169.254.169.254 --match owner ! --uid-owner trustworthy-user --jump REJECT
컴퓨팅 리소스 ID에 대한 신뢰할 수 있는 프로파일 제한
IAM에서 컴퓨팅 리소스 ID를 위해 생성하는 신뢰할 수 있는 프로필의 수를 제한하십시오. 선택적으로, 인스턴스에 컴퓨팅 리소스 ID를 지정하지 마십시오.
신뢰할 수 있는 프로필을 제거할 때신뢰하는 프로필 제거신뢰하는 프로필을제거하면 컴퓨팅 리소스 및 페더레이션 사용자가 프로필에서 연결이 해제되고 더 이상 신뢰할 수 있는 프로필 ID를 적용할 수 없게 됩니다.
신뢰 관계를 다시 정의하고 액세스 정책을 지정하고 세션 한계를 업데이트하여 기존 신뢰할 수 있는 프로파일을 업데이트할 수도 있습니다. 자세한 정보는 신뢰 프로파일 업데이트를 참조하십시오.
논스를 사용하여 토큰 요청 검증하기
신원 액세스 토큰을 가져오기 위한 요청에 논스를 명시할 수 있으며, 이후 응답에서 해당 논스가 동일한지 확인함으로써 해당 응답이 실제로 방금 수행된 호출에서 비롯된 것임을 검증할 수 있습니다. 이 값이 지정된 경우, 응답에서 반환되는 값과 디코딩된 신원 토큰 내의 동명 속성에 저장된 값은 지정된 값과 일치합니다.
추가 네트워크 보안 수단
가상 서버 인스턴스에 대한 네트워크 트래픽을 제어하려는 경우에는 다음 옵션을 사용하는 것을 고려하십시오.
-
보안 그룹 을 사용하여 인스턴스에 대한 액세스를 제한하십시오.
-
인스턴스 응답 홉 한계가 올바르게 구성되었는지 확인하십시오. 올바르지 않은 구성으로 인해 서비스에 도달하려고 시도하는 중에 제한시간 초과 오류가 발생할 수 있습니다. 자세한 정보는 UI를 사용하여 메타데이터 홉 한계 설정 을 참조하십시오.
-
IBM Cloud® Virtual Private Cloud에서 모든 수신 및 발신 트래픽을 제어하도록 액세스 제어 목록(ACL) 을 설정하십시오. ACL은 보안 그룹과 유사한 기본 제공 가상 방화벽입니다. 보안 그룹과 달리 ACL 규칙은 인스턴스가 아니라 서브넷의 모든 수신 및 송신 트래픽을 제어합니다.
-
Virtual Private Network (VPN) for VPC 를 사용하여 원격 네트워크에서 VPC로 연결되는 사설 연결을 설정하십시오.
-
VPC용 IBM Cloud® 가상 사설 엔드포인트 (VPE)를 사용하면, VPC 내 서브넷에서 할당된 원하는 IP 주소를 통해 VPC 네트워크에서 지원되는 IBM Cloud 서비스에 연결할 수 있습니다. VPE는 서비스 또는 서비스 인스턴스별로 작성되는 엔드포인트 게이트웨이에 바인드된 가상 IP 인터페이스입니다.
-
VPC에서 IBM Cloud 플로우 로그를 사용하여 인스턴스에 도달하는 트래픽을 모니터합니다.
-
메타데이터 서비스에 대한 보안 액세스를 사용 설정합니다. 보안 액세스가 활성화된 경우, 메타데이터 서비스는 암호화된 HTTP 보안 프로토콜( HTTPS )을 통해서만 가상 서버 인스턴스에서 액세스할 수 있습니다.