pf: "변조된 상태"와 "유지된 상태"의 차이

pf: "변조된 상태"와 "유지된 상태"의 차이

패킷 필터링() 방화벽에서 "변조 상태"와 "보류 상태"의 차이점은 무엇입니까 pf?

저는 MacOS X Catalina 10.15.5를 사용하고 있습니다. pf이 컴퓨터에 설치된 버전을 확인하는 방법을 모르겠습니다 .\

답변1

패킷 필터기원OpenBSD에서:

PF의 원래 버전은 Daniel Hartmeier가 작성했습니다. 2001년 12월 1일에 출시된 OpenBSD 3.0에 등장했습니다.

오픈BSD 3.0:

NAT 기능과 대부분 ipf 호환 구문을 갖춘 새로운 패킷 필터인 PF입니다.

이것에 대해 제출modulate state이 버전(2001-08-25)보다 이전 버전입니다. PF를 사용하는 모든 MacOS 버전(OS X 10.6 이후)2008년) modulate state사용할 수 있습니다.


모든 것은 modulate statevs 에 관한 것입니다.keep stateOpenBSD에 대한 PF FAQ.

상태

[...]

  • keep state- TCP, UDP 및 ICMP와 함께 작동합니다. 이 옵션은 모든 필터 규칙의 기본값입니다.
  • modulate state- 다음에만 적용됩니다.전송 제어 프로토콜. PF가 생성됩니다강력한 초기 시퀀스 번호(ISN) 이 규칙과 일치하는 패킷입니다.

이 옵션은 TCP 패킷에만 적용된다는 점을 제외하면 modulate state다음과 같이 작동합니다 . keep state변조된 상태에서 나가는 연결의 초기 시퀀스 번호(ISN)는 무작위입니다. 이는 다음과 같은 경우에 유용합니다. ISN 선택 성능이 저하된 특정 운영 체제에서 시작한 연결을 보호합니다.. 더 간단한 규칙 세트를 허용하기 위해 TCP 이외의 프로토콜을 지정하는 규칙에서 변조 상태 옵션을 사용할 수 있습니다. 이러한 경우 보류 상태로 간주됩니다.

modulate state기본 작업을 수행하는 keep state경우에도 마찬가지입니다.또한보안을 강화하려면 일부 TCP 패킷을 변경하세요.

예:

pass out on egress proto { tcp, udp, icmp } from any to any modulate state

이는 TCP를 "변조"하고 다른 사용자를 위해 상태를 보존합니다.


TCP 내부 구조와 TCP ISN에 대해 더 자세히 알고 싶다면 이에 대한 RFC를 참조하세요. 예를 들면 다음과 같습니다.

  • 전송 제어 프로토콜

    일련 번호: 32비트

    세그먼트에 있는 첫 번째 데이터 옥텟의 시퀀스 번호입니다(SYN이 있는 경우 제외). SYN이 있는 경우 시퀀스 번호는 ISN(초기 시퀀스 번호)이고 첫 번째 데이터 옥텟은 ISN+1입니다.

  • 일련번호 공격으로부터 방어

    안타깝게도 [RFC0793]에 설명된 ISN 생성기를 사용하면 오프패스 공격자가 TCP가 새 연결에 사용할 ISN을 쉽게 예측할 수 있어 TCP 연결에 대한 다양한 공격이 가능해집니다.[CPNI-TCP].

관련 정보