본문 바로가기
FortiGate/Route

asymroute enable 할 경우 FortiGate는?

by 에티버스이비티 2021. 1. 19.

일부 특정 네트워크에서는 요청과 응답이 다른 경로를 경유하면서, 요청과 응답이 동일한 방화벽을 통과하지 않는 경우를 비대칭(asymmetric) 라우팅이라 한다.

A 방화벽에 Syn이 통과하고, B 방화벽으로 Ack이 오는 경우, B 방화벽은 세션이 없는데 Ack이 왔기 때문에 유효하지않다고 판단하고 패킷을 차단한다.

 

특별한 상황에서 비대칭(asymmetric) 라우팅을 허용해야 하는 경우 아래의 명령어로 가능하다.

# config system settings
    set asymroute enable
end

 

이렇게 asymroute를 enable 하는경우 보안 측면에서 굉장히 위험하다.  비대칭(asymmetric) 라우팅 상황이라면 라우팅 경로를 조절하여 비대칭(asymmetric) 라우팅이 발생하지 않도록 하는것을 권고한다.

 

asymroute를 enable 하는경우 FortiGate는 아래와 같이 패킷을 처리한다.

 

TCP 패킷의 경우

1) Syn의 경우 FortiGate는 세션을 생성하고, 방화벽 정책 매칭 및 UTM 기능이 적용되었다면 해당 기능을 수행한다.  세션의 후속 패킷은 하드웨어 가속도 된다. (비대칭 라우팅이 비활성화 된 경우와 동일)

 

2) SYN이 아니지만 세션이 이미 방화벽에 있는 경우 패킷 통과. (비대칭 라우팅이 비활성화 된 경우와 동일).

 

3) SYN이 아니고 세션이 없는 경우, 모든 패킷은 CPU로 전달되어 방화벽 정책과 무관하게 라우팅테이블을 기반으로 전달된다. 해당 패킷에 대해서 FortiGate는 단순 라우터 역할만 할 뿐, 기본적인 방화벽 역할도 못하고 보안 기능도 수행 할 수 없다.

 

ICMP 패킷의 경우 

ICMP는 TCP 패킷과 동일하다. 비대칭 라우팅이 활성화된 경우 ICMP 패킷이 응답이 패킷에 대해 세션이 없으면 보안 검사없이 라우팅 테이블을 기반으로 라우팅 된다.

 

UDP 패킷의 경우

UDP는 비대칭 라우팅을 enable 하더라도 영향을 받지 않는다. 다만 UDP를 허용하려면 이를 허용하는 정책이 필요하다.

 

 

 

참고 :: tcp-session-without-syn, auxiliary-sessions

댓글