애플리케이션 보안 그룹
ASG(애플리케이션 보안 그룹)를 사용하면 네트워크 보안을 애플리케이션 구조의 자연스러운 확장으로 구성할 수 있습니다. 명시적 IP 주소를 기반으로 보안 규칙을 정의하는 대신 해당 애플리케이션 역할별로 가상 머신을 그룹화하고 해당 그룹을 기반으로 네트워크 보안 정책을 정의할 수 있습니다. 이 방법은 보안 관리를 간소화하고 대규모로 규칙을 재사용할 수 있게 합니다.
애플리케이션 보안 그룹의 이점
- 간소화된 관리: 개별 IP 주소를 관리하는 대신 애플리케이션 계층(웹, 논리, 데이터베이스)을 통해 VM(가상 머신) 그룹화
- 확장 가능한 보안: 규칙을 업데이트하지 않고 여러 VM에 일관된 보안 정책 적용
- 직관적인 조직: 보안 규칙은 애플리케이션 아키텍처를 반영합니다.
- 복잡성 감소: 플랫폼이 IP 주소 관리를 자동으로 처리합니다.
예: 다중 계층 애플리케이션 보안
웹 서버, 애플리케이션 서버 및 데이터베이스 서버가 있는 3계층 애플리케이션을 고려합니다.
Azure 네트워크 보안 그룹 및 애플리케이션 보안 그룹의 예를 보여 주는
이 예제에서:
- NIC1 및 NIC2 는 AsgWeb 애플리케이션 보안 그룹(웹 계층)의 구성원입니다.
- NIC3 은 AsgLogic 애플리케이션 보안 그룹(애플리케이션 계층)의 구성원입니다.
- NIC4 는 AsgDb 애플리케이션 보안 그룹(데이터베이스 계층)의 구성원입니다.
각 네트워크 인터페이스는 여러 ASG의 멤버일 수 있습니다(Azure 구독 제한까지). NSG는 네트워크 인터페이스와 직접 연결되지 않습니다. 대신 NSG1 은 두 서브넷에 연결되며 다음 규칙을 포함합니다.
Allow-HTTP-Inbound-Internet
이 규칙을 사용하면 인터넷의 HTTP 트래픽이 웹 계층에 도달할 수 있습니다. DenyAllInBound 기본 보안 규칙은 인터넷의 다른 모든 인바운드 트래픽을 차단하므로 AsgLogic 또는 AsgDb 그룹에 다른 규칙이 필요하지 않습니다.
| 우선 순위 | 원본 | 원본 포트 | 도착지 | 대상 포트 | 프로토콜 | 액세스 권한 |
|---|---|---|---|---|---|---|
| 100 | 인터넷 | * | AsgWeb | 80 | TCP | 허용하다 |
Deny-Database-All
이 규칙은 기본적으로 데이터베이스 계층에 대한 모든 트래픽을 차단합니다. AllowVNetInBound 기본 규칙이 그렇지 않으면 가상 네트워크의 모든 리소스가 데이터베이스와 통신하도록 허용하기 때문에 필요합니다.
| 우선 순위 | 원본 | 원본 포트 | 도착지 | 대상 포트 | 프로토콜 | 액세스 권한 |
|---|---|---|---|---|---|---|
| 120 | * | * | AsgDb | 1433 | 모두 | 거절하다 |
Allow-Database-BusinessLogic
이 규칙은 애플리케이션 논리 계층(AsgLogic)에서 데이터베이스 계층(AsgDb)으로의 트래픽을 허용합니다. 규칙에 우선 순위가 110은, 거부-데이터베이스-전체 규칙(우선 순위 120)보다 낮습니다. 우선 순위가 낮은 숫자가 먼저 처리되므로 이 규칙은 거부 규칙 이전에 평가되므로 AsgLogic이 다른 모든 트래픽을 차단하면서 데이터베이스에 액세스할 수 있습니다.
| 우선 순위 | 원본 | 원본 포트 | 도착지 | 대상 포트 | 프로토콜 | 액세스 권한 |
|---|---|---|---|---|---|---|
| 110 | AsgLogic | * | AsgDb | 1433 | TCP | 허용하다 |
규칙 적용 방법
ASG의 멤버인 네트워크 인터페이스만 해당 ASG를 원본 또는 대상으로 지정하는 규칙의 영향을 받습니다. 네트워크 인터페이스가 규칙에서 참조되는 ASG의 멤버가 아닌 경우 NSG가 해당 서브넷과 연결되어 있더라도 규칙이 해당 네트워크 인터페이스에 적용되지 않습니다.
제약 조건 및 고려 사항
애플리케이션 보안 그룹을 사용하는 경우 다음 제한 사항에 유의하세요.
- 구독 제한: 구독당 ASG 수에 제한이 있습니다. 현재 값에 대한 Azure 구독 제한 설명서를 검토합니다.
- 동일한 가상 네트워크 요구 사항: ASG의 모든 네트워크 인터페이스는 동일한 가상 네트워크에 있어야 합니다. 예를 들어 AsgWeb에 할당된 첫 번째 NIC가 VNet1에 있는 경우 AsgWeb에 할당된 모든 후속 NIC도 VNet1에 있어야 합니다.
- ASG 간 규칙: 보안 규칙에서 ASG를 원본 및 대상으로 지정할 때 두 ASG의 모든 네트워크 인터페이스가 동일한 가상 네트워크에 있어야 합니다. 예를 들어 AsgLogic에 VNet1의 NIC가 있고 AsgDb에 VNet2의 NIC가 있는 경우 AsgLogic을 원본으로, AsgDb를 대상으로 사용하는 규칙을 만들 수 없습니다.
팁
보안 규칙을 구현하기 전에 ASG 구조를 계획합니다. 개별 IP 주소 또는 IP 범위 대신 ASG 및 서비스 태그를 사용하면 만들고 유지 관리하는 데 필요한 보안 규칙 수가 최소화됩니다. 규칙을 줄이고 관리를 간소화하며 구성 오류 가능성을 줄입니다.