플로우 기반 세션
Junos OS는 플로우의 첫 번째 패킷에 의해 트리거되는 세션 정보를 캐시합니다. 캐시된 세션은 동일한 플로우의 후속 패킷과 포워딩 경로에 통합된 플로우 모듈을 사용하는 해당 세션의 역방향 플로우에서 사용됩니다.
SRX 시리즈 방화벽의 세션 특성 이해
세션은 라우팅 및 기타 분류 정보를 기반으로 생성되어 정보를 저장하고 흐름에 대한 리소스를 할당합니다. 세션에는 특성이 있으며, 그 중 일부는 종료 시점과 같이 변경할 수 있습니다. 예를 들어, 세션 테이블이 완전히 꽉 차지 않도록 하여 공격자의 테이블 플러딩 시도로부터 보호하여 합법적인 사용자가 세션을 시작하지 못하도록 할 수 있습니다.
프로토콜 및 서비스에 따라 세션은 시간 초과 값으로 프로그래밍됩니다. 예를 들어 TCP의 기본 시간 제한은 1800초입니다. UDP의 기본 시간 제한은 60초입니다.
서비스 시간 초과 전에 세션을 사용하는 트래픽이 없으면 세션이 만료되고 다시 사용할 수 있도록 공통 리소스 풀로 해제됩니다. 다음과 같은 방법으로 세션의 수명에 영향을 줄 수 있습니다.
다음 방법 중 하나를 사용하여 세션 종료 상황을 지정할 수 있습니다.
세션 테이블이 얼마나 꽉 찼는지에 따라 세션 사용 기간
TCP 세션 에이징에 대한 명시적 시간 제한 설정
TCP RST(재설정) 메시지를 수신할 때 무효화되도록 TCP 세션을 구성합니다
fin-invalidate-session
세션 엔드포인트 중 하나가 해당 피어에 FIN(ish) 메시지를 전송할 때 세션을 종료하도록 명령문을 구성합니다.피어 엔드포인트는 FIN 플래그가 설정된 패킷을 수신하면 ACK(nowlege) 메시지를 보냅니다. 일반적으로 이 방법을 사용하여 세션을 해체하는 작업에는 각 세션에서 한 쌍의 FIN-ACK 메시지 전송이 포함됩니다.
다음과 같이 다른 시스템을 수용하도록 세션을 구성할 수 있습니다.
TCP 패킷 보안 검사 사용 안 함
최대 세그먼트 크기 변경
적극적인 세션 에이징 이해
세션 테이블은 SRX 시리즈 방화벽에 대한 제한된 리소스입니다. 세션 테이블이 꽉 차면 디바이스에서 새 세션을 거부합니다.
적극적인 세션 에이징 메커니즘은 세션 테이블의 세션 수가 지정된 상위 워터마크 임계값을 초과할 때 세션 시간 초과 프로세스를 가속화합니다. 이 메커니즘은 세션 테이블이 가득 찼을 때 SRX 시리즈 방화벽이 새 세션을 거부할 가능성을 최소화합니다.
적극적인 세션 에이징을 수행하기 위해 다음 매개 변수를 구성합니다.
high-watermark–장치는 세션 테이블의 세션 수가 임계값을 초과할 때 적극적인 세션 에이징을 high-watermark 수행합니다.
low-watermark–장치는 적극적인 세션 에이징을 종료하고 세션 테이블의 세션 수가 임계값 아래로 low-watermark 떨어지면 정상으로 돌아갑니다.
early-ageout –적극적인 세션 에이징 중에 에이징 시간이 임계값보다 early-ageout 낮은 세션은 유효하지 않은 것으로 표시됩니다.
SRX1400, SRX3400, SRX3600, SRX5600 및 SRX5800 디바이스에서 SPU는 세션 테이블을 확인하고 타임아웃 값이 조기 에이지아웃 시간 값보다 낮은 세션을 찾은 다음 유효하지 않은 것으로 표시합니다. (플랫폼 지원은 설치 시 Junos OS 릴리스에 따라 다릅니다.)
예: SRX 시리즈 방화벽의 세션 종료 제어
이 예에서는 일정 기간이 지난 후 또는 세션 테이블의 세션 수가 꽉 찼거나 지정된 비율에 도달할 때 SRX 시리즈 방화벽의 세션을 종료하는 방법을 보여줍니다. 세션 테이블에서 시간 초과 값 또는 세션 수를 지정합니다.
요구 사항
시작하기 전에 세션 종료 상황을 이해해야 합니다.
개요
TCP FIN 닫기를 수신하거나 RST 메시지를 수신한 후, UDP에 대한 ICMP 오류가 발생한 경우, 서비스 시간 제한 전에 일치하는 트래픽이 수신되지 않은 경우와 같은 특정 상황에서 세션 종료를 제어할 수 있습니다. 세션이 종료되면 다른 세션에서 사용할 수 있도록 리소스가 확보됩니다.
이 예에서는 세션을 종료하도록 다음과 같은 상황을 구성합니다.
시간 제한 값은 20초입니다.
메모:TCP 세션 초기화를 위해 구성할 수 있는 최소값은 4초입니다. 기본값은 20초입니다. 필요한 경우 TCP 세션 초기화 값을 20초 미만으로 설정할 수 있습니다.
3방향 핸드셰이크 중에 TCP 세션 시간 제한을 변경하는 280초의 명시적 시간 제한 값입니다.
이 명령은 TCP 3방향 핸드셰이크 중에 세션 테이블에서 초기 TCP 세션 시간 제한을 280으로 설정합니다. 타이머는 첫 번째 SYN 패킷이 수신될 때 시작되며 3방향 핸드셰이크 동안 각 패킷으로 재설정됩니다. 3방향 핸드셰이크가 완료되면 세션 시간 초과가 특정 애플리케이션에서 정의한 시간 제한으로 재설정됩니다. 3방향 핸드셰이크가 완료되기 전에 타이머가 만료되면 세션이 세션 테이블에서 제거됩니다.
TCP RST(재설정) 메시지를 수신하는 모든 세션은 무효화됩니다.
구성
절차
단계별 절차
SRX 시리즈 방화벽의 세션 종료를 제어하려면,
다음 예제에서는 구성 계층의 다양한 수준을 탐색해야 합니다. 이를 수행하는 방법에 대한 지침은CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
SRX 시리즈 방화벽의 세션 종료를 제어하려면,
세션의 기간 제한 값을 지정합니다.
[edit security flow] user@host# set aging early-ageout 20
에이징 아웃 값을 구성합니다.
[edit security flow] user@host# set tcp-session tcp-initial-timeoout 280
TCP RST 메시지를 수신하는 모든 세션을 무효화합니다.
[edit security flow] user@host# set tcp-session rst-invalidate-session
디바이스 구성을 완료하면 구성을 커밋합니다.
[edit ] user@host# commit
확인
구성이 제대로 작동하는지 확인하려면 명령을 입력합니다 show security flow
.
SRX 시리즈 서비스 게이트웨이에 대한 세션 지우기
명령을 사용하여 clear
세션을 종료할 수 있습니다. 특정 애플리케이션 유형의 세션, 특정 대상 포트를 사용하는 세션, 특정 인터페이스 또는 포트를 사용하는 세션, 특정 IP 프로토콜을 사용하는 세션, 소스 접두사와 일치하는 세션 및 리소스 관리자 세션을 포함한 모든 세션을 지울 수 있습니다.
SRX 시리즈 서비스 게이트웨이에 대한 세션 종료
다음 명령을 사용하여 터널 및 리소스 관리자 세션을 제외한 모든 세션을 종료할 수 있습니다. 명령 출력에는 지워진 세션 수가 표시됩니다. 이 명령은 clear 명령이 실행되는 관리 세션을 종료합니다.
user@host> clear security flow session all
SRX 시리즈 서비스 게이트웨이에 대한 특정 세션 종료
다음 명령을 사용하여 세션 ID를 지정한 세션을 종료할 수 있습니다.
user@host> clear security flow session session-identifier 40000381
필터를 사용하여 SRX 시리즈 서비스 게이트웨이에 대해 종료할 세션 지정
명령에 대해 clear
지정한 필터 매개 변수를 기반으로 하나 이상의 세션을 종료할 수 있습니다. 다음 예제에서는 프로토콜을 필터로 사용합니다.
user@host> clear security flow session protocol 89
멀티캐스트 플로우 세션에 대한 시간 초과 값 구성
멀티캐스트 플로우 세션에 대한 시간 초과 값은 사용자 지정 애플리케이션을 구성하고 애플리케이션을 정책과 연결하여 구성할 수 있습니다.
멀티캐스트 플로우 세션에는 하나의 템플릿 세션과 하나 이상의 리프 세션이 있습니다. 이러한 세션은 서로 연결되어 있기 때문에 시간 제한 값이 하나만 있을 수 있습니다. 멀티캐스트 플로우 세션의 타임아웃 값은 리프 세션 정책에 구성된 타임아웃 값과 IP 프로토콜 타임아웃 값을 고려하여 결정됩니다. 이러한 타임아웃 값 중 가장 높은 값이 멀티캐스트 플로우 세션 타임아웃으로 선택됩니다.
리프 세션 시간 제한 값이 구성되지 않은 경우, IP 프로토콜 시간 제한 값은 자동으로 멀티캐스트 플로우 세션의 시간 제한 값으로 사용됩니다. IP 프로토콜 시간 제한은 기본값이며 구성할 수 없습니다.
리프 세션 시간 초과 구성은 기본 IP 프로토콜 시간 제한보다 패킷 간격이 더 긴 멀티캐스트 스트림에 특히 유용할 수 있습니다. 예를 들어, 패킷 간격이 60초를 초과하는 멀티캐스트 스트림은 플로우 세션이 조기에 에이징되고 UDP 시간 제한 값(항상 60초)으로 패킷이 손실됩니다. 이러한 스트림의 경우, 더 높은 리프 세션 타임아웃 값을 구성하고 패킷 드롭을 방지할 수 있습니다.
리프 세션 시간 초과 값을 설정하려면 사용자 지정 애플리케이션을 구성하고 애플리케이션을 정책과 연결합니다.