본문 바로가기
FortiGate/System

Session helper : expectation session

by 에티버스이비티 2021. 8. 10.

Session helper 기능은 FTP같은 Layer 7 프로토콜을 추적하여, 통신에 필요한 port를 동적으로 open하는 기능이다. 이렇게 동적으로 open되는 port는 expectation session을 생성하여 트래픽을 허용한다. expectation session은 상위 계층 프로토콜에 의해 협상된 포트에 대해 Session helper에 의해 생성되는 세션이다.

expectation session의 timeout값은 30초이다. 동적으로 open된 통신이 30초 이내로 시작되지 않으면 expectation session은 시간 초과되고 트래픽이 차단된다.

 

expectation session을 확인하는 명령어

# diagnose sys session list expectation 

 

예를 들어 아래의 그림처럼 Client 10.0.1.10 에서 Server로 FTP 21 port로 연결하는 경우에 중간에 FortiGate가 NAT하는 예이다. FTP는 TCP 21으로 접속해서 실제 데이터 통신을 하려는 IP(10.0.1.10)와 Port(TCP 55042) 정보를 페이로드 데이터(layer 7)를 통해 전달한다.

 

  1. FortiGate는 Layer 3를 NAT 하면서 Session Helper 기능을 통해 페이로드 데이터(Layer 7)을 확인하여 데이터 채널에 대한 정보도 함께 NAT 적용한다.
  2. FortiGate는 서버로부터 데이터채널이 NAT 된 10.200.1.1 port 60428로 올것을 기대하고(expectation) 미리 세션을 생성한다.
  3. 서버로 부터 데이터 채널 트래픽이 오면 실제로 방화벽 정책은 없지만, 이미 세션이 있기 때문에 해당 트래픽은 허용된다.

댓글