상태 기반 검사 메커니즘
Stateful Inspection은 패킷 필터링의 기능을 개선하여 네트워크 연결의 상태를 추적하고 예상된 상태에서 벗어나는 패킷을 차단합니다. 상태 테이블에는 출발지 IP 주소, 목적지 IP 주소, 포트 번호, 연결 상태 정보가 포함됩니다. TCP 트래픽의 경우 연결 설정, 사용, 종료의 세 가지 주요 상태가 존재하며, 방화벽은 TCP 헤더의 특정 값을 검사하여 각 연결의 상태를 감시합니다.
상태 테이블 관리와 실무 주의사항
패킷이 새로 들어올 때마다 방화벽은 상태 테이블과 비교하여 패킷 상태가 예상 상태와 모순되지 않는지 확인합니다. UDP와 같은 비연결형 프로토콜의 경우 IP 주소와 포트 번호만으로 추적되며, 설정된 타임아웃 값에 도달하면 상태 테이블에서 항목이 제거됩니다. 관리자는 활동이 없는 기간 후 연결을 차단하는 정책으로 DoS 공격을 완화할 수 있지만, 활동이 드문 정상 애플리케이션에 문제가 생길 수 있으므로 세심한 조정이 필요합니다.
프로토콜별 추적 방식과 정책 구성
TCP의 경우 순서 번호 검증과 플래그 조합 확인 등 보다 엄격한 상태 머신 준수를 강제하여 고도화된 공격을 방어합니다. 많은 방화벽은 NAT 정보를 상태 테이블에 포함시킬 수 있습니다. Stateful Inspection 방화벽이 NAT 서비스를 제공할 경우, 내부 개인 주소를 로그에 기록하지 않으면 로그가 단일 공인 주소로 다수 호스트를 잘못 식별하므로, 정책 구성 시 로깅 및 추적 가능성 면에서도 고려해야 합니다.