더북(TheBook)

6.4.1 세션 테이블 유지, 세션 정보 동기화

종단 장비에서 통신을 시작하면 중간에 있는 세션 장비는 해당 세션 상태를 테이블에 기록합니다. 통신이 없더라도 종단 장비 간 통신이 정상적으로 종료되지 않았다면 일정 시간 동안 세션 테이블을 유지합니다. 하지만 이런 세션 테이블은 메모리에 저장되므로 메모리 사용률을 적절히 유지하기 위해 일정 시간만 세션 정보를 저장합니다. 또한, 악의적인 공격자가 과도한 세션을 발생시켜 정상적인 세션 테이블 생성을 방해하는 세션 공격으로부터 시스템을 보호하기 위해 타임아웃값을 더 줄이기도 합니다. 여러 가지 이유로 세션 장비는 세션 정보를 무제한으로 저장할 수 없고 여러 가지 애플리케이션 통신을 관리하므로 일반적인 애플리케이션에 맞추어 적당한 세션 타임아웃값을 유지합니다.

하지만 일부 애플리케이션은 세션을 한 번 연결해놓고 다음 통신이 시도될 때까지 세션이 끊기지 않도록 세션 타임아웃값을 길게 설정하기도 합니다. 이런 종류의 애플리케이션이 통신할 때, 세션 장비의 세션 타임아웃값이 애플리케이션의 세션 타임아웃값보다 짧으면 통신에 문제가 생깁니다. 중간 세션 장비의 세션 유지 시간이 지나 세션 테이블에 있는 세션 정보가 사라졌는데도 양쪽 단말에서는 세션이 유지되고 있다면 다시 통신이 시작되어 데이터를 보낼 때 중간 세션 장비에서 막히는 문제가 발생합니다. 세션 장비의 세션 테이블에 세션이 없는 상황에서 SYN이 아닌 ACK로 표시된 패킷이 들어오면 세션 장비에서는 비정상 통신으로 판단해 패킷을 차단하고 그런 종류의 패킷을 통과시키는 옵션을 설정해 패킷을 강제로 통과시키더라도 반대 방향으로 데이터가 들어오면 정책에 막힐 수 있습니다.

▲ 그림 6-12 세션 장비의 세션 만료 시간이 애플리케이션 세션 만료 시간보다 짧을 경우

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.