패킷 필터링() 방화벽에서 "변조 상태"와 "보류 상태"의 차이점은 무엇입니까 pf
?
저는 MacOS X Catalina 10.15.5를 사용하고 있습니다. pf
이 컴퓨터에 설치된 버전을 확인하는 방법을 모르겠습니다 .\
답변1
패킷 필터기원OpenBSD에서:
PF의 원래 버전은 Daniel Hartmeier가 작성했습니다. 2001년 12월 1일에 출시된 OpenBSD 3.0에 등장했습니다.
NAT 기능과 대부분 ipf 호환 구문을 갖춘 새로운 패킷 필터인 PF입니다.
이것에 대해 제출modulate state
이 버전(2001-08-25)보다 이전 버전입니다. PF를 사용하는 모든 MacOS 버전(OS X 10.6 이후)2008년) modulate state
사용할 수 있습니다.
모든 것은 modulate state
vs 에 관한 것입니다.keep state
OpenBSD에 대한 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].