Red Hat Training

A Red Hat training course is available for RHEL 8

9.13. firewalld를 사용하여 IP 세트 설정 및 제어

IP 세트는 보다 유연하고 효율적인 방화벽 규칙 관리를 위해 IP 주소 및 네트워크를 세트로 그룹화하는 RHEL 기능입니다.

예를 들어 필요한 경우 IP 세트는 시나리오에서 중요합니다.

  • 대규모 IP 주소 목록 처리
  • 이러한 대규모 IP 주소 목록에 대한 동적 업데이트 구현
  • 사용자 지정 IP 기반 정책을 생성하여 네트워크 보안 및 제어 강화
주의

Red Hat은 firewall-cmd 명령을 사용하여 IP 세트를 생성하고 관리하는 것이 좋습니다.

9.13.1. IP 세트를 사용하여 허용 목록에 대한 동적 업데이트 구성

예측할 수 없는 조건에서도 IP 세트의 특정 IP 주소 또는 범위를 유연하게 허용하도록 거의 실시간 업데이트를 수행할 수 있습니다. 이러한 업데이트는 보안 위협 탐지 또는 네트워크 동작 변경과 같은 다양한 이벤트에 의해 트리거될 수 있습니다. 일반적으로 이러한 솔루션은 자동화를 활용하여 수동 작업을 줄이고 상황에 신속하게 대응하여 보안을 개선합니다.

사전 요구 사항

  • firewalld 서비스가 실행 중입니다.

절차

  1. 의미 있는 이름으로 IP 세트를 생성합니다.

    # firewall-cmd --permanent --new-ipset=allowlist --type=hash:ip

    allowlist 라는 새 IP 세트에는 방화벽에서 허용할 IP 주소가 포함되어 있습니다.

  2. IP 세트에 동적 업데이트를 추가합니다.

    # firewall-cmd --permanent --ipset=allowlist --add-entry=198.51.100.10

    이 구성은 방화벽에서 네트워크 트래픽을 전달할 수 있는 새로 추가된 IP 주소로 허용 목록 IP 세트를 업데이트합니다.

  3. 이전에 생성한 IP 세트를 참조하는 방화벽 규칙을 생성합니다.

    # firewall-cmd --permanent --zone=public --add-source=ipset:allowlist

    이 규칙이 없으면 IP 세트가 네트워크 트래픽에 영향을 미치지 않습니다. 기본 방화벽 정책이 우선합니다.

  4. 방화벽 구성을 다시 로드하여 변경 사항을 적용합니다.

    # firewall-cmd --reload

검증

  1. 모든 IP 세트를 나열합니다.

    # firewall-cmd --get-ipsets
    allowlist
  2. 활성 규칙을 나열합니다.

    # firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: enp0s1
      sources: ipset:allowlist
      services: cockpit dhcpv6-client ssh
      ports:
      protocols:
      ...

    명령줄 출력의 소스 섹션에서는 특정 방화벽 영역에 대한 액세스 허용 또는 거부되는 트래픽(호스트, 인터페이스, IP 세트, 서브넷 등)에 대한 인사이트를 제공합니다. 이 경우 허용 목록 IP 세트에 포함된 IP 주소는 공용 영역의 방화벽을 통해 트래픽을 전달할 수 있습니다.

  3. IP 세트의 내용을 살펴봅니다.

    # cat /etc/firewalld/ipsets/allowlist.xml
    <?xml version="1.0" encoding="utf-8"?>
    <ipset type="hash:ip">
      <entry>198.51.100.10</entry>
    </ipset>

다음 단계

  • 스크립트 또는 보안 유틸리티를 사용하여 위협 정보 피드를 가져오고 이에 따라 허용 목록을 자동화된 방식으로 업데이트합니다.

추가 리소스

  • firewall-cmd(1) 매뉴얼 페이지