Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

6.7.2. 1분 이내에 10개 이상의 새로 들어오는 TCP 연결을 시도하는 IP 주소 차단

nftables 프레임워크를 사용하면 관리자가 세트를 동적으로 업데이트할 수 있습니다. 이 섹션에서는 이 기능을 사용하여 10분 이내에 10개 이상의 IPv4 TCP 연결을 설정하는 호스트를 일시적으로 차단하는 방법을 설명합니다. 5분 후에 nftables 가 거부 목록에서 IP 주소를 자동으로 제거합니다.

절차 6.20. 1분 이내에 10개 이상의 새로 들어오는 TCP 연결을 시도하는 IP 주소 차단

  1. IP 주소 제품군을 사용하여 필터 테이블을 생성합니다.
    # nft add table ip filter
  2. 필터 테이블에 입력 체인을 추가합니다.
    # nft add chain ip filter input { type filter hook input priority 0 \; }
  3. 필터 테이블에 denylist 집합을 추가합니다.
    # nft add set ip filter denylist { type ipv4_addr \; flags dynamic, timeout \; timeout 5m \; }
    이 명령은 IPv4 주소에 대한 동적 세트를 생성합니다. timeout 5m 매개변수는 nftables 가 세트에서 5분 후에 항목을 자동으로 제거하도록 정의합니다.
  4. 거부 목록 설정에 1분 내에 10개 이상의 새 TCP 연결을 설정하려고 하는 호스트의 소스 IP 주소를 자동으로 추가하는 규칙을 추가합니다.
    # nft add rule ip filter input ip protocol tcp ct state new, untracked limit rate over 10/minute add @denylist { ip saddr }
  5. denylist 세트의 IP 주소에서 모든 연결을 삭제하는 규칙을 추가합니다.
    # nft add rule ip filter input ip saddr @denylist drop