애플리케이션 방화벽은 애플리케이션이나 서비스로 들어오거나, 애플리케이션이나 서비스에서 나가거나, 애플리케이션이나 서비스에 의해 발생하는 트래픽을 제어하는 방화벽의 한 유형입니다.

애플리케이션 방화벽 또는 애플리케이션 계층 방화벽은 구성된 일련의 정책을 사용하여 앱과 주고받는 통신을 차단할지 허용할지 결정합니다.

기존 방화벽은 CPU로 들어오고 나가는 데이터 흐름을 제어하며, 통과하는 각 패킷을 검사합니다. 애플리케이션 방화벽은 여기서 한 단계 더 나아가 특정 애플리케이션의 파일 또는 코드 실행을 제어합니다. 따라서 침입자가 네트워크나 서버에 침투하더라도 악성 코드를 실행할 수 없습니다.

애플리케이션 방화벽은 능동형 또는 수동형으로 작동할 수 있습니다.

능동형 – 능동형 애플리케이션 방화벽은 실제로 교환되는 메시지를 포함한 모든 수신 요청을 알려진 취약점(예: SQL 인젝션, 매개변수 및 쿠키 변조, 크로스 사이트 스크립팅)과 대조하여 능동적으로 검사합니다. “안전”하다고 판단된 요청만 애플리케이션으로 전달됩니다.

패시브 – 패시브 애플리케이션 방화벽은 침입 탐지 시스템(IDS)과 유사하게 작동합니다. 알려진 취약점을 기준으로 모든 수신 요청을 검사하지만, 잠재적인 공격이 발견되더라도 해당 요청을 적극적으로 거부하거나 차단하지는 않습니다.

애플리케이션 방화벽은 일반적으로 원격 업데이트가 가능하므로 새로 발견된 취약점을 방어할 수 있습니다. 애플리케이션에 이러한 코드를 포함하려면 더 긴 개발 및 테스트 주기가 필요하기 때문에, 애플리케이션 방화벽은 애플리케이션에 포함된 특정 보안 중심 코드보다 최신 상태로 유지되는 경우가 많습니다.

오늘날에는 웹 애플리케이션으로 들어오고 나가는 HTTP/S 트래픽을 필터링, 모니터링 및 차단하기 위해 웹 애플리케이션 방화벽(WAF)이 가장 일반적으로 사용됩니다.