보안 다중 계층 네트워크 설계
안전한 다중 계층 네트워크를 설계할 때 계층에서 구조를 구축합니다.
데이터베이스와 같은 가장 중요한 리소스를 전용 서브넷의 가장 안쪽 층에 배치합니다. 리소스에 대한 네트워크 액세스를 제어할 보안 규칙을 정의하십시오. 배스천 호스트 및 로드 밸런서를 통해 공용 인터넷에서 트래픽을 라우팅합니다.
서브넷 전략 확인
서브넷은 VCN 내의 연속 IP 주소 범위입니다. 서브넷으로 네트워크 트래픽을 제어하려면 보안 목록, 경로 지정 테이블 및 DHCP 옵션 집합을 연결할 수 있습니다.
- 서브넷을 생성한 후에는 서브넷 크기를 변경할 수 없습니다. 따라서 서브넷을 생성하기 전에 필요한 모든 서브넷의 크기를 계획합니다.
- 서브넷은 전용 또는 공용일 수 있습니다. 서브넷을 생성할 때 선택한 후 나중에 변경할 수 없습니다.
- 일반적인 전략은 전용 서브넷만 생성하는 것입니다.
- 온프레미스 네트워크의 트래픽에는 IPSec VPN 연결이나 Oracle Cloud Infrastructure FastConnect 링크를 사용할 수 있습니다.
- 공용 인터넷의 트래픽은 공용 로드 밸런서를 통해 경로를 지정할 수 있습니다.
- NAT (네트워크 주소 변환) 게이트웨이를 통해 공용 인터넷에 바인드된 트래픽 경로를 지정할 수 있습니다. NAT 게이트웨이를 사용하면 전용 서브넷의 리소스가 인터넷에 대한 아웃바운드 접속을 설정하고 동일한 접속에서 데이터를 수신할 수 있습니다. 인터넷에서 인바운드 연결을 허용하지 않습니다.
- 애플리케이션 구조에 공용 IP 주소가 필요한 경우 (예: 온프레미스 애플리케이션을 클라우드로 이전할 때) 전용 서브넷과 공용 서브넷을 모두 포함하는 아키텍처를 사용하십시오.
- 서브넷이 필요한 리소스를 프로비전하려는 구획에 서브넷을 생성합니다.
- 서브넷은 AD (가용성 도메인) 또는 지역별 서브넷에 특정할 수 있습니다. AD 실패는 지역 서브넷에 영향을 주지 않습니다.
보안 목록 디자인
각 서브넷에 대해 서브넷에 허용되어야 하는 트래픽의 소스, 대상 및 유형을 지정하는 보안 규칙을 생성할 수 있습니다. 보안 목록에서 이러한 규칙을 정의하고 보안 목록을 서브넷에 연결합니다.
- 전역 보안 목록: 이 보안 목록에는 모든 서브넷에 사용할 규칙이 포함되어 있습니다. 일반적으로 이 목록에는 몇 가지 규칙이 포함됩니다.
- 계층별 보안 목록: 다중 계층 구조 (예: 비즈니스 논리 또는 데이터베이스 계층) 에서 특정 계층에 대한 보안 목록을 정의할 수 있습니다. 서브넷을 신중하게 설계하면 계층 간 통신에 필요한 보안 규칙 수를 매우 줄일 수 있습니다. 예를 들어, 업무 논리 계층은 두 개의 보안 규칙 (한 수신 및 한 개의 송신) 만 생성하여 데이터베이스 계층과 통신하도록 허용할 수 있습니다.
- 보안 목록 계열: 이 목록은 단일 서비스를 구성하는 서브넷에 적용되거나 가용성 도메인 내 단일 고객에 대한 보안 규칙에 사용됩니다. 예를 들어, 비즈니스 논리 계층의 가용성 도메인 내에 웹, 응용 프로그램 및 로드 밸런서 서비스 서브넷에 적용되는 규칙이 있습니다.
- 서브넷 특정 보안 목록: 이러한 목록에는 개별 서브넷과 관련된 규칙이 포함됩니다.
- 임시 보안 목록: 테스트하거나 테스트하는 규칙에 임시 보안 목록을 사용할 수 있습니다. 예를 들어, 특정 수신 사용 사례를 테스트하는 동안 임시 보안 목록에서 필요한 규칙을 생성할 수 있습니다.
보안 규칙 정의
보안 규칙을 사용하여 리소스 간 네트워크 트래픽을 제어합니다. 각 규칙은 트래픽이 허용되는 방향, 소스, 대상, 포트 및 프로토콜을 정의합니다.
다음 표는 서브넷 제품군별로 정의해야 하는 규칙의 예입니다. 애플리케이션에 필요한 규칙을 결정합니다.
| 서브넷 계열 | Ingress 규칙 | 송신 규칙 |
|---|---|---|
| DMZ |
|
VCN에 대한 TCP/22 |
| 로드 밸런서 |
|
|
| 중간 계층 |
|
데이터베이스 계층에 대한 TCP/1521 |
| 데이터베이스 | 중간 계층의 TCP/1521 | 없음 |
주:
보안 목록과 규칙 정의는 네트워크 보안의 첫번째 단계입니다. 네트워크를 인터넷에 표시하기 전에 DDoS (서비스 거부), SQL 삽입 및 기타 네트워크 공격을 해결하는 방법을 고려하십시오.구획 정의
구획을 사용하여 논리적 컨테이너로 클라우드 리소스를 구성하고 리소스에 대한 액세스를 제어할 수 있습니다. 정의하는 정책은 특정 구획에서 리소스를 생성하고 관리할 수 있는 사용자 기능을 제어합니다.
클라우드 리소스의 관리 방식에 따라 구획 및 정책을 설계합니다. 비즈니스 및 IT 롤을 기반으로 사용자가 필요한 리소스에만 액세스할 수 있도록 하기 위한 목적이 있습니다. 예를 들어, 한 사용자 그룹이 중간 계층을 관리하고 다른 그룹이 데이터베이스 계층을 관리하는 경우 각 계층에 대한 구획을 생성합니다. 한 명의 사용자 사용자만 계층을 관리하는 경우에도 각 계층에 대해 별도의 구획을 사용하는 것을 고려하십시오. 이 접근법에서는 필요한 경우 권한을 쉽게 분리할 수 있습니다.
또한 구획을 사용하면 클라우드 예산의 사용량을 추적하고 관리할 수 있습니다. 예를 들어, 조직의 각 부서에 대한 구획을 생성하고 각 구획의 클라우드 리소스를 모니터할 수 있습니다.
구획에 논리적 이름을 지정합니다. 컨테이너의 리소스 특성과 상태를 쉽게 식별할 수 있는 이름 지정 규칙을 사용합니다.
다음 표는 일반적인 다중 계층 구조에 대한 구획 및 서브넷 구조의 예를 제공합니다. 이 예제에서 구획 이름의 xxx는 Dev, Test, Stage 또는 Prod 일 수 있고 yyy는 애플리케이션이나 작업 로드의 이름일 수 있습니다. 예를 들어 Prod_Ordering_SharedServices 라는 이름은 구획이 Ordering 애플리케이션의 공유 서비스에서 사용되는 프로덕션 리소스를 포함함을 나타냅니다.
| 구획 | 서브넷 | 리소스 |
|---|---|---|
| xxx_yyy_Networks | 없음 | VCN 및 게이트웨이 |
| xxx_yyy_Admin | DMZ 서브넷 | 기본 호스트 |
| xxx_yyy_BusinessLogic |
|
|
| xxx_yyy_Database | 데이터베이스 서브넷 | 데이터베이스 인스턴스 |
| xxx_yyy_SharedServices | 공유 서비스 서브넷 | 공유 구성요소 |
Xxx_yyy_Networks 구획에서 가상 클라우드 네트워크 및 해당 게이트웨이를 생성하고 다른 구획에 필요한 서브넷을 생성합니다.
사용자 생성
리소스를 생성 또는 관리해야 하는 각 사람 또는 시스템은 IAM (Oracle Cloud Infrastructure Identity and Access Management ) 또는 통합 id 제공자에서 사용자로 정의되어야 합니다. 필요한 사용자를 생성합니다.
Oracle Cloud 계정에 등록할 때 Oracle 는 관리자 사용자를 설정하고 이 사용자를 [관리자] 라는 그룹에 지정합니다. 이 그룹을 삭제할 수 없습니다. 사용자를 더 추가할 수 있습니다. 미리 정의된 정책을 통해 관리자 그룹은 Oracle Cloud Infrastructure 의 모든 리소스를 관리할 수 있습니다.
필요한 사용자를 생성합니다. 계정이 통합 Id 제공자 (예: Oracle Identity Cloud Service) 를 사용할 경우 해당 id 제공자에 사용자를 생성합니다.
통합 사용자가 API 키 및 인증 토큰을 관리할 수 있어야 하는 경우 통합 id 제공자가 IAM에서 사용자를 프로비전하도록 구성되어 있는지 확인하십시오. 이 구성은 2018년 12월 21일 이전에 생성된 계정에만 필요합니다. 또는 IAM에 로컬 사용자를 생성합니다.
그룹 및 정책 계획
사용자를 그룹에 추가하거나 그룹에서 사용자를 제거하여 사용자의 권한을 제어할 수 있습니다. 그룹이 특정 구획의 리소스를 관리할 수 있도록 필요한 그룹 및 정책을 계획합니다.
하나 이상의 그룹에 사용자를 지정할 수 있습니다. 정책은 Oracle Cloud Infrastructure 리소스에 대한 액세스를 제어합니다. 정책은 하나 이상의 그룹, 사용자 또는 구획에 대한 권한을 지정합니다.
다음 표에는 일반적으로 다중 계층 구조에 필요한 그룹 및 권한이 나열됩니다.
| 그룹 | 권한 |
|---|---|
DBAdmins |
|
IAMAdminManagers |
주: Oracle 는 Oracle Cloud 에 가입할 때 |
IAMManagers |
|
NetworkAdmins |
|
NetSecAdmins |
|
ReadOnly |
테넌시를 보고 검사합니다. 이 그룹은 리소스를 생성하거나 관리할 필요가 없는 사용자를 위한 것입니다 (예: 감사자 및 수습). |
StorageAdmins |
|
SysAdmins |
|
통합 Id 제공자 (예: Oracle Identity Cloud Service) 에서 필요한 그룹을 생성하고 각 그룹을 Oracle Cloud Infrastructure Identity and Access Management 의 해당 그룹에 매핑해야 합니다.