nftables는 특정 IP 주소의 Redis만 허용합니다.

nftables는 특정 IP 주소의 Redis만 허용합니다.

REDIS 서버를 구성 중이며 특정 IP 주소 집합의 연결만 허용하고 싶습니다.

이것은 Debian 10 서버이고 권장 프레임워크는 nft인데, 이전에는 사용하지 않았습니다.

기본 규칙 세트는 다음과 같습니다.

#!/usr/sbin/nft -f

flush ruleset

table inet filter {
        chain input {
                type filter hook input priority 0;
        }
        chain forward {
                type filter hook forward priority 0;
        }
        chain output {
                type filter hook output priority 0;
        }
}

1.1.1.1IP에서 Redis로 들어오는 연결을 허용 하고 2.2.2.2다른 모든 연결을 삭제 하려면 이 파일에 어떤 규칙을 추가해야 합니까 ?

포트가 REDIS에서 사용 중입니다 6379.

답변1

다른 사람이 같은 문제를 우연히 발견할 경우를 대비해, 제가 가장 큰 문제는 규칙을 잘못된 순서로 사용했다는 것입니다.

수락 규칙 앞에 삭제 규칙을 추가했는데 그 반대인 것 같습니다.

다음은 2를 제외한 모든 IP 주소를 삭제하는 예제 규칙입니다.

ip saddr 1.1.1.1 tcp dport 6379 accept
ip saddr 2.2.2.2 tcp dport 6379 accept
tcp dport 6379 drop

전체 규칙 파일:

#!/usr/sbin/nft -f

flush ruleset

table inet filter {
        chain input {
                type filter hook input priority 0;
                # allow connection to redis from
                ip saddr 1.1.1.1 tcp dport 6379 accept
                ip saddr 2.2.2.2 tcp dport 6379 accept
                tcp dport 6379 drop
        }
        chain forward {
                type filter hook forward priority 0;
        }
        chain output {
                type filter hook output priority 0;
        }
}

답변2

적극 추천하는 것 중 하나는

        chain input {
           type filter hook input priority 0;
           policy drop;
           # required items below
        }

명시적으로 허용되지 않는 한 모든 것이 삭제되므로 이것이 방화벽을 관리하는 가장 안전한 방법입니다.

관련 정보