요약

  • RFC 9899는 RFC 8519 네트워크 ACL 모델을 대체하지 않고 확장(augment)하는 IETF 제안 표준(Proposed Standard)입니다.
  • ACL 항목이 IPv4 및 IPv6 프리픽스, 포트, 프로토콜, ICMP 유형, 별칭(alias)에 대해 이름이 지정된 재사용 가능한 집합을 참조할 수 있게 하며, 이 모델은 패킷 매칭을 확장하고 로컬 액션을 추가합니다.
  • 운영상 이득은 간접화(indirection)입니다. 운영상 노출은 하나의 정의된 집합이 여러 상위 규칙에 영향을 줄 수 있다는 점이므로 소유권, 권한 부여, 의존성 가시성, 검증, 롤백이 중요해집니다.

무엇이 재사용되는가

단일 매개변수 집합(single-parameter set)은 객체가 한 종류의 값만 담을 때 적합합니다. 예를 들어 프리픽스, 포트, 프로토콜, ICMP 유형 등입니다. 별칭(alias)은 프리픽스, 프로토콜, 포트, VLAN 같은 여러 매개변수를 결합할 수 있습니다. 이후 ACL 항목은 리터럴을 반복하는 대신 이러한 이름이 지정된 객체를 참조할 수 있습니다. RFC 9899는 또한 관리 도메인(administrative-domain) 수준에서 네트워크 요소 간 재사용을 지원합니다. 이는 모델의 기능이며, 모든 구현이 모든 기능을 노출한다는 주장은 아닙니다.

이 확장은 여전히 RFC 8519에 기반을 둡니다. 따라서 배포 시 기본 ACL 필드와 확장 필드를 구분해야 합니다. TCP 플래그의 경우, 확장flags-bitmask와 RFC 8519 플래그 필드를 모두 지원하는 클라이언트는 동일한 요청에서 두 필드를 동시에 설정해서는 안 됩니다(MUST NOT). 유사한 상호 배타 규칙은 확장 프래그먼트 매칭과 RFC 8519 플래그 필드가 겹칠 때도 적용됩니다. 두 조합을 함께 보내는 픽스처는 모델의 제약에 따라 거부되거나 그에 맞게 처리되어야 하며, 더 넓은 매칭을 표현하는 안전한 방법이 아닙니다.

더 넓어진 패킷 어휘

이 확장은 IPv6 확장 헤더,flags-bitmask를 통한 TCP 플래그, IPv4 및 IPv6 프래그먼트 유형, 페이로드 패턴, MPLS 헤더, VLAN, I-SID에 대한 매칭을 추가합니다. 페이로드 매칭은 기능 게이트(feature-gated)이며 오프셋 유형, 오프셋, 길이, 바이너리 패턴, 연산자가 필요합니다. 트래픽을 복호화하지는 않습니다. 암호화된 패킷에서는 유효성이 변하지 않는 관측 가능한 패턴에 의존하므로, 운영자는 애플리케이션 내용을 추정하는 대신 실제로 보이는 것이 무엇인지 확인해야 합니다.

레이트 리밋(rate-limit), 로깅, 카운터 액션도 추가되지만, 정의된 버전은 로컬 액션만 지원합니다. RFC 9899는 ICMPv4 유형, ICMPv6 유형, IPv6 확장 헤더 유형에 대해 IANA가 관리하는 최초의 YANG 모듈을 만듭니다. 이러한 레지스트리나 모델이 보편적인 장치 지원, 성능 개선, 보편적인 규모 한계를 의미하지는 않습니다.

제어 표면

정의된 집합은 읽기/쓰기 보안 객체입니다. 무단 쓰기는 거부되어야 할 트래픽을 허용하거나 허용되어야 할 트래픽을 차단할 수 있습니다. 무단 읽기는 어떤 리소스가 집합에 바인딩되어 있는지 드러내 토폴로지 은닉 전략을 약화시킬 수 있습니다. RFC는 보안 전송과 상호 인증을 사용하는 YANG 관리 프로토콜을 지향하며, NACM을 통해 작업과 콘텐츠를 제한할 수 있습니다. 따라서 이러한 객체를 보거나 변경할 수 있는 대상과 관련해 RFC 8341이 관련되고, YANG 1.1 모델링 언어는 RFC 7950이 제공합니다.

Theo March 분석 — RFC의 요구 사항이 아님:각 집합을 가시적인 소비자 목록을 지닌 소유된 의존성으로 취급하십시오. 변경안을 스테이징하고 영향을 받는 상위 ACL과 대표 트래픽을 검증하며, 테스트된 롤백 경로를 확보하십시오. RFC는 네이밍 수명 주기, 승인 워크플로, 배포 간격, 롤백 기준치를 하나로 규정하지 않습니다. 재사용이 정책을 자동으로 더 안전하거나 일관되게 만들지는 않습니다. 중복된 리터럴을 줄이는 동시에 변경 영향을 집중시킵니다.

검증 픽스처

  1. 두 개의 ACL 항목이 참조하는 하나의 프리픽스 집합을 만들고, 멤버를 추가·제거하면서 상위 규칙을 재정의하지 않고도 유효 의존성이 변하는지 확인합니다.
  2. 확장 플래그를 RFC 8519 플래그 필드와 함께 제출한 뒤, 확장 프래그먼트 매칭과 해당 기본 필드 조합으로 반복하여 상호 배타 처리를 검증합니다.
  3. 페이로드, MPLS, VLAN, I-SID, 확장 헤더, 레이트 리밋, 로깅, 카운터 동작을 테스트하기 전에 광고된 지원 여부를 확인합니다. 알려진 바이너리 픽스처와 명시적인 오프셋, 길이, 연산자를 사용하고, 암호화된 트래픽은 복호화를 주장하지 않고 별도로 테스트합니다.
  4. NACM과 보안·상호 인증 전송 하에서 무단 집합 읽기와 쓰기를 시도합니다. 접근 판단과 감사 가시성 모두를 확인합니다.

운영자 의사결정 경로

먼저 소비자와 소유권을 조사합니다. 다음으로, 단일 매개변수 집합 또는 별칭이 불필요한 결합 없이 의도를 표현하는지 판단합니다. 기능 지원 여부와 기본/확장 필드 제약을 확인합니다. 제안된 집합 변경 내역을 검토하고, 스테이징된 범위에서 영향을 받는 모든 ACL을 검증하고, 로컬 액션과 관련 카운터를 관찰한 후 준비된 경로로 승인하거나 되돌립니다. 의존성을 가시화할 수 없거나 권한 부여가 읽기와 쓰기를 구분할 수 없다면, 그 제어 공백이 해결될 때까지 리터럴을 로컬에 유지하십시오.

출처