nftables는 기본적으로 포트 22 또는 다른 포트를 허용합니까?

nftables는 기본적으로 포트 22 또는 다른 포트를 허용합니까?

새로운 Debian 12(AWS EC2)에 nftables를 설치했습니다. 포트 22/tcp를 통해 인스턴스(외부 EC2 IP)에 연결합니다. EC2를 언급한 이유는 EC2가 이상한 트릭을 수행할 수도 있기 때문입니다. 그런 다음 nftable을 설치했습니다.

    sudo apt install nftables
    sudo systemctl enable nftables
    sudo systemctl start nftables

현재 구성은 비어 있습니다.

    flush ruleset

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

내 문제는 간단합니다. 패킷을 허용하는 규칙이 없으면 내 세션이 차단되고 다시 시작할 수 있어야 한다는 것을 읽고 예상했습니다. 이것이 사실이 아닌 이유는 무엇이며 내 세션을 허용하는 이유는 무엇입니까?

실제로 스트림이 차단된 것은 명시적으로 스트림을 차단했을 때만 가능하다는 것을 알았습니다.

답변1

내 세션은 패킹을 허용하는 규칙 없이 차단되어야 합니다.

기본적으로 규칙 세트는 모든 것을 허용합니다.

policy drop;실제로 모든 연결을 차단하려면 각 줄 뒤에 추가 해야 합니다 type filter .... 각 규칙을 한 줄에 입력하는 경우 세미콜론은 선택 사항입니다.

이렇게 엄격한 규칙을 갖는 것은 정말 현명하지 못한 일입니다. 최소한 루프백 연결을 허용해야 합니다. 그렇지 않으면 많은 프로그램이 알 수 없는 방식으로 작동하지 않습니다.

입력용, iif lo accept출력용 oif lo accept.

그리고 모든 체인이 연결을 설정하도록 허용해야 합니다. ct state established,related accept- 규칙은 모든 체인에 대해 동일합니다.

답변2

기본적으로 nftables체인이 생성되지 않습니다. 즉, 모든 패킷이 허용되고 허용됩니다.

3개를 생성하셨습니다.~에 따르면체인 input forwardoutput
이러한 기본 정책을 지정하지 않으면 accept체인이 없는 것과 같습니다.

기본적으로 모든 패킷을 차단하려면 다음과 같이 기본 작업 정책을 설정해야 합니다 drop.

# Sees incoming packets that are addressed to and have now been routed to the local system and processes running there
add chain filter input {
    type filter hook input priority filter; policy drop;
}

# Sees packets that originated from processes in the local machine
add chain filter output {
    type filter hook output priority filter; policy drop;
}

그런 다음 특정 트래픽을 허용하도록 이러한 체인에 규칙을 명시적으로 추가합니다.

  • 체인 생성에 대한 자세한 내용은 다음을 참조하세요.여기.
  • 당신은 찾아야한다nftables위키피디아방화벽 개발에 가장 유용합니다.

관련 정보