6.7.2. 1분 이내에 10개 이상의 새로 들어오는 TCP 연결을 시도하는 IP 주소 차단
nftables 프레임워크를 사용하면 관리자가 세트를 동적으로 업데이트할 수 있습니다. 이 섹션에서는 이 기능을 사용하여 10분 이내에 10개 이상의 IPv4 TCP 연결을 설정하는 호스트를 일시적으로 차단하는 방법을 설명합니다. 5분 후에 nftables 가 거부 목록에서 IP 주소를 자동으로 제거합니다.
절차 6.20. 1분 이내에 10개 이상의 새로 들어오는 TCP 연결을 시도하는 IP 주소 차단
- IP 주소 제품군을 사용하여 필터 테이블을 생성합니다.
# nft add table ip filter - 필터 테이블에 입력 체인을 추가합니다.
# nft add chain ip filter input { type filter hook input priority 0 \; } - 필터 테이블에 denylist 집합을 추가합니다.
# nft add set ip filter denylist { type ipv4_addr \; flags dynamic, timeout \; timeout 5m \; }이 명령은 IPv4 주소에 대한 동적 세트를 생성합니다.timeout 5m매개변수는nftables가 세트에서 5분 후에 항목을 자동으로 제거하도록 정의합니다. 거부 목록설정에 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 }denylist세트의 IP 주소에서 모든 연결을 삭제하는 규칙을 추가합니다.# nft add rule ip filter input ip saddr @denylist drop