보안 그룹 정보
IBM Cloud® VPC용 보안 그룹을 사용하면 가상 서버 인스턴스의 IP 주소를 기준으로 해당 인스턴스를 대상으로 필터링 규칙을 적용할 수 있는 편리한 방법을 제공합니다. 보안 그룹의 대상에는 가상 서버 인스턴스의 네트워크 인터페이스, 엔드포인트 게이트웨이 및 로드 밸런서가 포함됩니다. 보안 그룹을 작성할 때 원하는 네트워크 트래픽 패턴을 작성하도록 보안 그룹을 구성합니다.
기본적으로 보안 그룹은 모든 인바운드 트래픽을 거부하고 모든 아웃바운드 트래픽을 허용하는 규칙으로 설정됩니다. 새 규칙이 보안 그룹에 추가되면 새 규칙은 허용된 인바운드 또는 아웃바운드 트래픽의 범위를 재정의합니다.
규칙은 상태를 유지합니다. stateful 규칙을 사용하려면 트래픽을 단방향으로 허용하는 규칙을 작성할 때 규칙이 자동으로 역방향 트래픽을 허용해야 합니다. 예를 들어, 포트 80에서 TCP 으로 들어오는 트래픽을 허용하는 규칙을 생성하면, 해당 보안 그룹은 포트 80을 통해 TCP 으로 발신 호스트로 되돌려 보내는 트래픽도 허용합니다. 다른 규칙을 만들 필요는 없습니다.
보안 그룹은 단일 VPC로 범위가 지정됩니다. 이러한 적용 범위는 보안 그룹이 동일한 VPC 내의 모든 보안 그룹 대상에 연결될 수 있음을 의미합니다. 보안 그룹의 모든 멤버 간에 트래픽을 허용하도록 보안 그룹 규칙을 설정할 수 있습니다.
VPC를 생성하면 기본 보안 그룹이 할당됩니다. 기본 보안 그룹 설정 및 개별 보안 그룹의 규칙을 수정할 수 있습니다.
보안 그룹을 사용하고 보안 그룹을 지정하지 않는 리소스를 작성할 때 리소스의 기본 네트워크 인터페이스가 해당 리소스 VPC의 기본 보안 그룹에 연결됩니다.
기본 보안 그룹에 대한 규칙을 업데이트하는 것은 기본 보안 그룹을 업데이트하는 것과는 별도의 프로세스입니다. 기본 보안 그룹의 규칙을 편집하면 편집된 규칙이 해당 그룹의 현재 및 미래 서버에 모두 적용됩니다. 자세한 정보는 기본 보안 그룹 규칙 업데이트 를 참조하십시오.
보안 그룹을 서로 중첩할 수는 없지만, 원격 보안 그룹을 참조할 수는 있습니다. 규칙에서 원격 보안 그룹을 참조하면 해당 규칙에 연결된 모든 참조 보안 그룹 대상에 그 규칙이 적용됩니다.
보안 그룹은 동일한 지역의 서로 다른 구역에서 다른 보안 그룹을 참조할 수 없습니다.
보안 그룹 대상
대상은 보안 그룹을 연결하거나 분리하는 모든 리소스를 의미합니다. 보안 그룹의 대상에는 가상 서버 인스턴스의 네트워크 인터페이스, 엔드포인트 게이트웨이 및 로드 밸런서가 포함됩니다.
트래픽을 송수신할 수 있는 각 리소스에는 해당 리소스에 대해 구성된 보안 그룹이 있을 수 있습니다. 리소스에는 가상 서버 인터페이스, 베어 메탈 서버, 로드 밸런서, 데이터 경로상의 모든 엔드포인트 게이트웨이 등이 포함될 수 있습니다.
보안 그룹을 데이터 경로에 있는 모든 자원과 연관시킬 수 있습니다.
할당량 고려 사항:
사용자가 만든 각 보안 그룹은 최대 1,000개의 대상을 지원합니다. VPC의 모든 대상에 자동으로 적용되는 기본 보안 그룹은 이 1,000개 대상 제한의 적용을 받지 않습니다. 이 동작은 기본 보안 그룹에 대한 자동 할당이 프로비저닝을 제한하지 않도록 합니다.
보안 그룹 및 네트워크 ACL 비교
보안 그룹은 자원에 연결되는 반면, 네트워크 액세스 제어 목록 (NACL) 은 서브넷에 연결됩니다.
NACL은 서브넷 수준에서 적용되므로, NACL이 연결된 서브넷 내의 모든 리소스는 해당 NACL의 규칙을 따릅니다. 하지만 보안 그룹은 그렇지 않습니다. 보안 그룹은 리소스에 명시적으로 할당되어야 합니다. 또한, NACL과 달리 보안 그룹은 서브넷을 넘어, 심지어 존을 넘어서도 여러 리소스에 적용할 수 있습니다.
NACL은 _stateless_입니다.
NACL은 _stateful_이 아니므로 대상에서 양방향으로 트래픽을 허용하려면 두 가지 규칙을 설정해야 합니다.
보안 그룹 가이드라인
다음 지침은 보안 그룹의 작동 방식, 규칙 적용 방법 및 네트워크 인터페이스에 연결하는 모범 사례를 설명합니다.
Rules
- 각 보안 그룹은 가상 네트워크 인터페이스의 수신 및 발신 트래픽을 정의하는 서로 다른 네트워크 규칙 집합을 정의합니다.
- 보안 그룹 규칙은 허용적일 수만 있습니다. 기본적으로 트래픽은 차단됩니다.
- 보안 그룹 규칙에 대한 변경사항은 자동으로 적용되며 언제든지 수정할 수 있습니다.
- 보안 그룹 내 규칙의 순서는 중요하지 않습니다. 우선순위는 항상 가장 덜 제한적인 규칙으로 돌아갑니다.
- 규칙은 Stateful입니다. 보안 그룹 변경 이전에 설정된 연결은 변경되지 않습니다. 새 연결은 연결이 설정되는 시점에 존재하는 규칙을 준수합니다.
- 보안 그룹은 가상 서버 인스턴스 또는 베어 메탈 서버에서 운영 체제 방화벽을 재정의하지 않습니다. 보안 그룹에 의해 적용되는 것보다 더 제한적인 방화벽이 운영 체제에 존재하는 경우에도 운영 체제 규칙이 계속 적용됩니다.
- 가상 서버 인스턴스나 베어 메탈 서버에서 업데이트 서버, 네트워크 연결 스토리지(NAS) 또는 고급 모니터링과 같은 내부 서비스에 액세스해야 하는 경우, 해당 내부 서비스에 대한 트래픽이 보안 그룹 규칙을 통해 허용되도록 설정해야 합니다.
대상
- 보안 그룹은 여러 대상에 연결될 수 있습니다.
- 하나 이상의 보안 그룹을 다음에 연결할 수 있습니다:
- 가상 네트워크 인터페이스
- 인스턴스 네트워크 인터페이스
- 베어 메탈 서버의 네트워크 인터페이스
- 엔드포인트 게이트웨이
- 로드 밸런서
- VPN 서버.
- 첨부된 보안 그룹의 모든 규칙이 대상에 일괄 적용됩니다.
- 여러 보안 그룹이 연결된 경우, 모든 그룹에서 가장 제한이 적은 규칙에 따라 트래픽이 허용되거나 차단됩니다.
보안 그룹 규칙 정의
모든 보안 그룹은 규칙 세트로 구성되어 있습니다. 보안 그룹은 인스턴스로 들어오는 또는 인스턴스에서 나가는 모든 트래픽을 허용하기 전에 해당 규칙을 모두 검토합니다. 인바운드 트래픽을 제어하는 데 사용되는 규칙은 아웃바운드 트래픽을 제어하는 데 사용되는 규칙과 무관합니다.
새 보안 그룹을 생성하면, 초기에는 모든 인바운드 트래픽이 차단되고 아웃바운드 트래픽은 허용됩니다. 따라서 인바운드 트래픽을 허용하고 아웃바운드 트래픽에 제한사항을 적용하려면 그룹에 규칙을 추가해야 합니다.
리소스는 여러 보안 그룹과 연관될 수 있으므로, 연관된 각 보안 그룹의 모든 규칙이 결합되어 단일 규칙 집합을 형성합니다. 이 규칙 집합은 트래픽이 리소스로 들어오고 나가는 것을 허용할지 거부할지를 결정하는 데 사용됩니다. 보안 그룹에 추가하는 모든 보안 규칙에 대해 다음 필드에 대한 값을 지정해야 합니다.
-
방향 - 인바운드 또는 아웃바운드처럼 트래픽의 방향을 나타냅니다.
-
프로토콜 - 이 규칙이 적용되는 프로토콜을 나타냅니다. 값은
ICMP_TCP_UDP, 또는ANY, 또는 의 하나입니다IPv4 protocols.- 값이
ANY``인 경우, 이 규칙이ANY프로토콜에 적용됨을 의미합니다. 그 다음, 포트 범위(PortMin, PortMax)를 지정하는 것은 유효하지 않습니다. - 프로토콜이
tcp또는udp인 경우, 규칙에 포트 범위(PortMin, PortMax)도 포함될 수 있습니다. 두 포트를 모두 설정하거나, 둘 다 설정하지 마십시오. 둘 다 설정되지 않으면 모든 포트에서 트래픽이 허용됩니다. 단일 포트의 경우 두 포트를 동일한 값으로 설정해야 합니다. - 프로토콜이
icmp이면 선택적으로type특성을 지정할 수 있습니다. 지정된 경우 ICMP 트래픽은 지정된 ICMP 유형에 대해서만 허용됩니다. 또한type를 지정하는 경우 선택적으로 코드 특성을 지정하여 지정된 ICMP 코드에 대해서만 트래픽을 허용할 수 있습니다.
- 값이
-
원격 - 이 규칙이 인바운드 트래픽(또는 아웃바운드 트래픽)을 허용하는 네트워크 인터페이스 세트를 설명합니다. 이 값을 IP 주소, CIDR 블록 또는 단일 보안 그룹의 모든 식별자(ID, CRN, 이름)로 지정할 수 있습니다. 이 값을 생략하면
0.0.0.0/0의 CIDR 블록을 사용하여 어느 소스에서 트래픽이 오건(또는 아웃바운드 트래픽의 경우 대상 소스가 무엇이건) 이를 허용할 수 있습니다.
보안 그룹 규칙에 이름을 지정할 수 있습니다. 그러나 시스템은 규칙의 이름과 구성을 서로 연관시키지 않습니다. 예를 들어, 규칙에 이름을 inbound-https-from-my-subnet 지정할 때 시스템은 해당 규칙이 이름이 암시하는 대로 기능하는지 검증하지 않습니다. 필요한 경우 일관성을 유지하기 위해 보안 그룹 규칙의 이름과 구성을 관리하는 것은 귀하의 책임입니다.
CLI를 사용하여 보안 그룹 규칙을 설정하는 방법에 대한 자세한 내용은 명령어 목록 요약 자료를 참조하십시오. API를 사용하여 보안 그룹 규칙을 설정하는 방법에 대한 자세한 내용은 API를 사용하여 가상 서버 인스턴스의 보안 그룹 설정하기를 참조하십시오.
제한사항
- 현재 ESP 프로토콜 패킷은 프로파일이 Gen2 설정된 인스턴스에서만 지원됩니다. 다른 프로필이 적용된 인스턴스와 모든 베어 메탈 서버에서는 수신 및 발신 ESP 패킷이 항상 드롭됩니다. VPC API를 통해 ESP 트래픽에 대한 보안 그룹 규칙을 구성할 수 있지만, 이러한 규칙은 프로파일을 Gen2 가진 인스턴스에만 영향을 미칩니다. 인스턴스 프로파일 세대 간 혼동을 방지하기 위해 IBM Cloud 콘솔에서 ESP 프로토콜이 선택 항목으로 표시되지 않습니다. 자세한 내용은 x86-64 인스턴스 프로필을 참조하십시오.
시작하기
시작하려면 리소스에 대한 새 보안 그룹을 만들지 여부를 결정하고 보안 그룹 만들기를 클릭합니다.
보안 그룹 유스 케이스
보안 그룹을 작성하는 것은 사용자가 자원으로 (부터) 네트워크 트래픽 패턴을 필터링하는 규칙을 적용하는 표준 방법입니다. 다음 조치를 수행하는 기능은 계정의 권한 레벨에 따라 다릅니다. 계정 권한에 대한 질문이 있는 경우 관리자에게 문의하십시오.
유스 케이스 1: 자원의 기본 보안 그룹 변경
모든 VPC에는 사용자에 대해 작성되는 보안 그룹인 기본 보안 그룹이 있습니다. 해당 기본 보안 그룹에도 기본 규칙이 있습니다. 이 기본 규칙은 규칙을 추가하거나 제거하여 보안 그룹의 설정을 사용자 정의하기 전에 사용자가 작성하는 보안 그룹에 지정되는 동일한 기본 규칙입니다.
기본 보안 그룹은 새 보안 그룹의 기본 규칙과 다릅니다. 기본 보안 그룹의 규칙과 새 보안 그룹에 할당되는 기본 규칙을 모두 사용자 지정할 수 있습니다.
예를 들어, 여러분이 조직의 일원이라고 가정해 보십시오. 조직 계정에 접근 권한이 있는 누군가가 기본 보안 그룹의 규칙을 수정합니다. 수정 후 규칙은 새 보안 그룹을 생성할 때 적용되는 기본 규칙과 다릅니다. 팀 구성원은 매우 보안에 민감한 고객이며 모든 인바운드 및 아웃바운드 네트워크 트래픽을 거부하도록 기본 보안 그룹 설정을 변경합니다.
이 예시에서 리소스를 생성하면, 해당 리소스는 초기 상태에서 VPC의 기본 보안 그룹에 할당됩니다. 이 기본 보안 그룹의 규칙은 보안에 민감한 팀원이 설정한 거부 규칙으로 인해 모든 인바운드 및 아웃바운드 네트워크 트래픽을 차단합니다. 결과적으로, 새 리소스로의 트래픽과 새 리소스에서 나오는 트래픽 모두 동일한 거부 동작이 적용됩니다.
기본 보안 그룹 규칙에 불만이 있다면, 해결책 중 하나는 사용자 지정 설정이 적용된 다른 보안 그룹을 생성하여 해당 리소스에 적용하는 것입니다. 또 다른 솔루션은 기본 보안 그룹에서 규칙을 변경하는 것입니다. 사용자 지정 설정을 적용한 다른 보안 그룹을 생성하는 것이 가장 쉬운 해결책입니다. 원하는 단일 리소스에 적용할 규칙을 만들 수 있기 때문입니다. 기본 보안 그룹의 규칙을 변경하면, 이러한 변경 사항은 영향을 주고자 하는 리소스뿐만 아니라 기본 보안 그룹에 할당된 다른 모든 리소스에도 적용됩니다.
기본 보안 그룹에 생성하는 모든 새 규칙은 기본 보안 그룹에 할당된 현재 및 향후 모든 리소스에 적용됩니다.
기본 보안 그룹 업데이트에 대한 자세한 정보는 기본 보안 그룹 규칙 업데이트 를 참조하십시오.
사용 사례 2: 프로비저닝 시 보안 그룹 및 규칙 사용자 지정
다음 다이어그램은 새 자원을 작성할 때 가능한 사용자 정의 옵션을 보여줍니다. 사용자가 리소스를 생성한 후 이를 연결할 보안 그룹을 지정하기 위한 추가 조치를 취하지 않으면, 새로 생성된 리소스는 VPC의 기본 보안 그룹에 할당됩니다. 이 기본 보안 그룹은 기본 보안 그룹 규칙을 적용하거나 계정 구성원이 이전에 구성한 사용자 지정 규칙을 따릅니다.
사용자가 새 리소스를 새 보안 그룹에 할당하기로 결정하면, 새 보안 그룹이 기본 보안 그룹 규칙에 자동으로 할당됩니다. 그런 다음 사용자는 추가 조치를 취하지 않거나, 규칙을 사용자 지정하여 새 보안 그룹에 대한 사용자 지정 보안 그룹 규칙을 생성할 수 있습니다. 이러한 새 규칙은 작성되어 새 보안 그룹에 지정된 새 자원에도 적용됩니다.
{: caption="생성 시 보안 그룹 및 보안 그룹 규칙 사용자 지정 옵션새 리소스 생성 시 보안 그룹 및 보안 그룹 규칙 사용자 지정 옵션새 리소스 생성 시 보안 그룹 및 보안 그룹 규칙 사용자 지정 " caption-side="bottom"}
유스 케이스 3: 보안 그룹의 구성원 간 트래픽 허용
보안 그룹을 설정하는 보다 일반적인 방법은 IP 주소 및 포트별로 필터링하는 특정 규칙을 사용하여 대상 간의 트래픽을 제어하는 것입니다.
보안 그룹을 설정하는 보다 동적인 방법은 동일한 보안 그룹에 속한 다른 대상에서 오는 모든 인바운드 트래픽을 허용하는 것입니다. 보안 그룹 구성원 간 트래픽을 허용할 때는 보안 그룹의 기존 구성원과 신규 구성원 각각 사이에 개별 권한을 설정할 필요가 없습니다. 보안 그룹에서 리소스가 추가되거나 삭제될 때, 해당 권한은 모든 구성원에게 적용됩니다.
예를 들어, 보안 그룹에 호스트 A와 호스트 B가 있고, 여기에 호스트 C를 추가할 수 있습니다. 보안 그룹에 호스트 C를 추가한 후에는 일반적으로 호스트 A와 호스트 B가 호스트 C로 트래픽을 주고받을 수 있도록 유지 관리를 수행해야 합니다.
이 프로세스를 더 쉽게 수행하기 위해 그룹의 다른 구성원에서 모든 트래픽을 허용하는 규칙을 정의할 수 있습니다. 그런 다음 그룹에서 구성원을 추가하거나 제거하면 규칙이 자동으로 변경되어 그룹 구성원 간에 서로 트래픽을 전송할 수 있도록 허용합니다.
다음은 해당 보안 그룹의 멤버 간 모든 트래픽을 허용하기 위해 보안 그룹에서 규칙을 정의하기 위한 UI 지시사항입니다.
- 브라우저에서 IBM Cloud 콘솔을 여십시오.
- 탐색 메뉴
선택한 다음 인프라
> 네트워크 > 보안 그룹을 클릭합니다.
- '보안 그룹'에서 수정하려는 보안 그룹 개체를 선택합니다.
- 인바운드 규칙 테이블에서 '생성 +'을 클릭하세요. 인바운드 규칙 작성 창이 표시됩니다.
- 프로토콜 섹션에서 TCP-UDP-ICMP 을 선택합니다.
- 소스 유형 섹션에서 보안 그룹을 선택하십시오.
- 작성 을 클릭하여 이러한 변경사항을 적용하십시오.