다음과 같이 세션의 정보를 확인해보면, 상태정보에 'dirty' 'may_dirty' 등 여러 상태 정보들을 표시한다.
이 포스팅에서는 'dirty' 세션이 무언인지? 세션의 상태정보가 'dirty'로 설정되는 이유는 무엇인지? 알아본다.
FortiGate는 세션의 첫번째 패킷(예: SYN)을 수신하면, 방화벽 정책에 따라 트래픽을 허용할것인지 차단할것인지 CPU에서 판단하게 된다.
이 판단은 방화벽 정책이 변경되지 않는한 세션의 첫번째 패킷에 대해서만 수행한다.
방화벽 정책에서 트래픽을 허용할 경우 FortiGate는 세션을 생성하고, 세션의 상태정보를 'may_dirty'로 설정한다.
'may_dirty'로 설정된 세션은 방화벽 정책의 변경이나 네트워크 변경등이 없을 경우 CPU의 재 평가 없이 기존 세션 정보를 이용하여 트래픽을 허용한다.
만약 방화벽 정책 변경같은 세션의 상태정보가 변경되는 일이 발생하면, 'may_dirty'가 설정된 모든 세션에 'dirty' 상태가 추가 된다.
'dirty'의 의미는 해당 세션의 다음 패킷에대해 FortiGate가 다시 평가를 해야 한다는 의미이다. 정책의 변경 또는 네트워크(예: 라우팅) 설정의 변경으로 인하여, 허용되던 세션이 차단될수도 있고 port1을 통해 보내던 트래픽을 port2를 통해 보내야 할 수도 있기 때문이다.
세션이 'dirty'로 변경되고 다시 평가하여 여전히 허용된다면 'dirty'는 제거되고, 'may_dirty'가 남게된다.
차단된다면 세션의 상태정보는 'block'으로 설정되고 만료될때까지 세션 테이블에 남아 있으면서 해당 세션의 패킷은 모두 차단된다.
다음의 경우 세션의 상태정보가 'dirty'로 변경 됨
- 방화벽 정책에 대한 모든 설정 변경
- 라우팅 변경
- 네트워크 관련된 모든 설정 변경
관련 정보 : ebt-forti.tistory.com/37
'FortiGate > Firewall' 카테고리의 다른 글
policy 설정 변경에 따른 기존 session 영향 (0) | 2021.02.01 |
---|---|
FortiGate에서 어떤 정책을 타는지 궁금할 때 (0) | 2021.01.28 |
QUIC 프로토콜 차단 (0) | 2021.01.13 |
FortiGate SPAN Interface 관련 (0) | 2021.01.12 |
session timeout 무한대로 설정하기 (0) | 2021.01.07 |
댓글