네트워크 방화벽 은 Stateless Engine 과 Stateful Engine 두가지의 트래픽 처리를 위한 Engine 을 포함하고 있습니다.

각 엔진의 가장 큰 차이점은 Connection 의 연결상태를 참조하는지 여부이며 이에 따라 Connection 상태를 참조하지 않는 Stateless Engine 은 네트워크 방화벽 으로 유입되는 모든 패킷을 검사하게 됩니다. 이에 반해 Stateful Engine 은 Connection 연결 상태를 참조하며 관리자의 설정에 따라 Layer 4 이상의 패킷 정보를 검사한 후 트래픽을 탐지 및 차단하는 기능을 제공합니다.

또한, Stateless Engine 은 IP/Port 정보 이외에 TCP 의 경우 TCP Flag 에 기반한 규칙을 지원하며 Stateful Engine 은 Deep Packet Inspectdion 을 지원합니다.

네트워크 방화벽 Engine 의 규칙 검사 순서

  1. Gateway Load Balancer Endpoint 를 통하여 네트워크 방화벽 으로 트래픽이 유입되면 가장 먼저 Stateless Engine 이 트래픽을 검사하게 됩니다.
  2. Stateless 규칙 그룹 내의 규칙들은 Priority 를 통해 규칙 검사의 우선 순위가 결정되게 되며 이 때 각 규칙의 Action 은 우선 순위와 관계가 없습니다. 따라서, 네트워크 방화벽 은 패킷이 유입되면 유입된 패킷을 낮은 수(높은 Priority)의 Priority 가 설정된 순서에 따라 트래픽을 검사하게 되며 이 때, 매칭되는 규칙의 Action 에 따라 패킷 처리를 결정합니다.
  1. 만일 Stateless Engine 에 설정된 모든 규칙에 매칭되는 규칙이 없을 경우 Default Action 을 따르게 되며 Default Action (Pass, Drop, Forward) 은 Stateless 규칙의 Action 과 동일하게 동작합니다.
  2. Stateful Engine 으로 유입된 패킷은 Default Action Order 에 따라 처리되게 됩니다.

아래는 선택 가능한 Default Action Order 중 하나인 Action Order 를 선택했을 때의 규칙 검사 순서입니다.

  1. 설정된 규칙 중 Pass 규칙을 가장 먼저 검사합니다.
  2. 매칭되는 Pass 규칙이 없는 경우 Drop 규칙을 검사합니다.
  3. 매칭되는 Drop 규칙이 없는 경우 Reject 규칙을 검사합니다.
  4. 매칭되는 Reject 규칙이 없는 경우 Alert 규칙을 검사합니다.
  5. 매칭되는 Reject 규칙이 있다면 매칭된 규칙에 따라 차단 후 Reset 패킷을 전송합니다.
  6. 매칭되는 Drop 혹은 Alert 규칙이 있었다면 매칭된 규칙에 따라 Drop(로깅 후 차단) 혹은 Alert(로깅) 처리합니다.
  7. 매칭되는 규칙이 없는 경우 Default Action 을 따르게 되며 Standard Order 의 Default Action 은 Pass 입니다.