6.4.1.1 세션 장비 운영자 입장
가. 세션 만료 시간 증가
세션 장비 운영자가 애플리케이션에 맞게 세션 만료 시간을 늘리는 방법이 있습니다. 이 경우, 애플리케이션의 세션 유지 시간보다 방화벽 세션 유지 시간이 길어야 합니다. 대부분의 세션 장비는 포트 번호나 IP 주소마다 별도의 세션 만료 시간을 설정할 수 있어 전체 세션 유지 시간이 길어져 시스템 메모리가 고갈되는 문제를 예방할 수 있습니다. 하지만 세션 장비 운영자가 정확한 정보를 얻어 설정할 수 있도록 애플리케이션측 개발자나 관리자가 애플리케이션 고유의 세션 유지 시간을 미리 알려주어야 합니다.
나. 세션 시간을 둔 채로 중간 패킷을 수용할 수 있도록 방화벽 설정(세션 장비 중 방화벽에 해당)
세션 테이블에 정보가 없는 ACK 패킷이 방화벽에 들어오면 방화벽은 패킷을 차단하지만 방화벽 옵션을 조정해 세션 테이블에 정보가 없는 ACK 패킷이 들어오더라도 세션을 새로 만들어 통과시킬 수 있는 옵션이 있습니다. 하지만 이런 해결책은 전체적인 보안이 취약해지는 기능이므로 여러 가지 고려가 필요하고 가능하면 적용하지 않는 것이 좋습니다.
다. 세션 장비에서 세션 타임아웃 시 양 단말에 세션 종료 통보
이 기능은 양 종단 장비의 세션 정보와 중간 세션 장비의 세션 정보가 일치하지 않아 발생하는 문제를 해결하기 위해 사용하는 기능입니다. 세션 상태 정보를 강제로 공유하기 위해 세션 장비에서는 세션 타임아웃 시 세션 정보를 삭제하는 것이 아니라 세선 정보에 있는 양 종단 장비에 세션 정보 만료(RST)를 통보합니다. TCP의 RST 플래그를 1로 세팅해 양 종단 장비에 전송하면(A를 출발지로 B를 도착지로, B를 출발지로 A를 도착지로) 양 종단 장비에서는 세션이 비정상적으로 종료된 것으로 판단해 해당 세션을 끊습니다. 애플리케이션에서 통신이 필요하면 새로운 세션을 맺어 통신합니다.
▲ 그림 6-13 세션 만료 시 세션 장비에서 양 단말에 통보한다.