Red Hat Training

A Red Hat training course is available for RHEL 8

9.7. 영역 간에 전달된 트래픽 필터링

정책 오브젝트를 사용하면 사용자가 정책에 유사한 권한이 필요한 다양한 ID를 그룹화할 수 있습니다. 트래픽 방향에 따라 정책을 적용할 수 있습니다.

정책 오브젝트 기능은 firewalld에서 정방향 및 출력 필터링을 제공합니다. firewalld를 사용하여 로컬 호스팅 VM에 대한 액세스를 허용하도록 다양한 영역 간 트래픽을 필터링하여 호스트를 연결할 수 있습니다.

9.7.1. 정책 오브젝트와 영역 간의 관계

Policy 개체를 사용하면 서비스, 포트 및 리치 규칙과 같은 firewalld의 기본 규칙을 정책에 연결할 수 있습니다. 상태 저장 및 단방향 방식으로 영역 간에 통과하는 트래픽에 정책 오브젝트를 적용할 수 있습니다.

# firewall-cmd --permanent --new-policy myOutputPolicy

# firewall-cmd --permanent --policy myOutputPolicy --add-ingress-zone HOST

# firewall-cmd --permanent --policy myOutputPolicy --add-egress-zone ANY

HOSTANY 는 수신 및 송신 영역 목록에 사용되는 심볼릭 영역입니다.

  • HOST 심볼릭 영역을 사용하면 에서 시작되는 트래픽에 대한 정책이 허용되거나 firewalld를 실행하는 호스트의 대상이 있습니다.
  • ANY 심볼릭 영역은 현재 및 향후 모든 영역에 정책을 적용합니다. ANY 심볼릭 영역은 모든 영역의 와일드카드 역할을 합니다.

9.7.2. 우선순위를 사용하여 정책 정렬

여러 정책을 동일한 트래픽 집합에 적용할 수 있으므로 적용할 수 있는 정책에 대한 우선 순위 순서를 생성하는 데 우선순위를 사용해야 합니다.

정책을 정렬할 우선 순위를 설정하려면 다음을 수행합니다.

# firewall-cmd --permanent --policy mypolicy --set-priority -500

위의 예에서 -500 은 우선 순위가 낮지만 우선 순위가 높습니다. 따라서 -500은 -100 이전에 실행됩니다. 우선순위가 높은 값은 더 낮은 값보다 우선합니다.

다음 규칙은 정책 우선순위에 적용됩니다.

  • 부정 우선 순위가 있는 정책은 영역의 규칙 앞에 적용됩니다.
  • 긍정적인 우선 순위가 있는 정책은 영역의 규칙 뒤에 적용됩니다.
  • 우선 순위 0은 예약되어 있으므로 사용할 수 없습니다.

9.7.3. 정책 오브젝트를 사용하여 로컬 호스트 컨테이너와 호스트에 물리적으로 연결된 네트워크 간의 트래픽을 필터링

정책 오브젝트 기능을 사용하면 사용자가 Podman과 firewalld 영역 간의 트래픽을 필터링할 수 있습니다.

참고

Red Hat은 기본적으로 모든 트래픽을 차단하고 Podman 유틸리티에 필요한 선택적 서비스를 여는 것이 좋습니다.

절차

  1. 새 방화벽 정책을 생성합니다.

    # firewall-cmd --permanent --new-policy podmanToAny
  2. Podman에서 다른 영역으로의 모든 트래픽을 차단하고 Podman에서 필요한 서비스만 허용합니다.

    # firewall-cmd --permanent --policy podmanToAny --set-target REJECT
    # firewall-cmd --permanent --policy podmanToAny --add-service dhcp
    # firewall-cmd --permanent --policy podmanToAny --add-service dns
    # firewall-cmd --permanent --policy podmanToAny --add-service https
  3. 새 Podman 영역을 생성합니다.

    # firewall-cmd --permanent --new-zone=podman
  4. 정책의 수신 영역을 정의합니다.

    # firewall-cmd --permanent --policy podmanToAny --add-ingress-zone podman
  5. 다른 모든 영역에 대한 송신 영역을 정의합니다.

    # firewall-cmd --permanent --policy podmanToAny --add-egress-zone ANY
  6. firewalld 서비스를 다시 시작합니다.

    # systemctl restart firewalld

검증

  • Podman 방화벽 정책을 다른 영역에 확인합니다.

    # firewall-cmd --info-policy podmanToAny
    podmanToAny (active)
      ...
      target: REJECT
      ingress-zones: podman
      egress-zones: ANY
      services: dhcp dns https
      ...

9.7.4. 정책 오브젝트의 기본 대상 설정

정책에 --set-target 옵션을 지정할 수 있습니다. 다음 대상을 사용할 수 있습니다.

  • ACCEPT - 패킷을 수락
  • DROP - 원하지 않는 패킷을 삭제합니다.
  • REJECT - ICMP 응답을 사용하여 원하지 않는 패킷을 거부
  • CONTINUE (기본값) - 패킷에는 다음 정책 및 영역의 규칙이 적용됩니다.

    # firewall-cmd --permanent --policy mypolicy --set-target CONTINUE

검증

  • 정책에 대한 정보 확인

    # firewall-cmd --info-policy mypolicy