Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

방화벽은 네트워크의 유입·유출 트래픽을 어떻게 제어할까?

방화벽(Firewall)이란?

방화벽은 미리 정의된 보안 규칙에 따라 네트워크로 들어오고 나가는 트래픽을 모니터링하고 필터링하는 특수한 네트워크 보안 장치 또는 소프트웨어 프로그램입니다. 내부 사설 네트워크와 외부 소스(공용 인터넷 포함) 사이에서 방어벽 역할을 수행합니다.

방화벽의 핵심 목적은 위협이 없는 정상 트래픽은 허용하고, 악성 또는 불필요한 데이터 트래픽은 차단하여 컴퓨터를 바이러스와各종 공격으로부터 보호하는 것입니다. 즉, 방화벽은 네트워크 트래픽을 필터링하고, 감염된 컴퓨터에 있는 악성 애플리케이션이 웹에 접근하지 못하도록 막아주는 사이버 보안 도구라고 할 수 있습니다.

방화벽은 하드웨어와 소프트웨어 형태 모두로 구현될 수 있으며, 일반적으로 인터넷에 연결된 사설 네트워크, 특히 인트라넷에 무단으로 접근하려는 외부 사용자를 차단하는 데 활용됩니다. 인트라넷에 들어오거나 나가는 모든 메시지는 반드시 방화벽을 거치게 되며, 방화벽은 각 메시지를 검사해 지정된 보안 기준을 충족하지 못하는 메시지는 차단합니다.

방화벽의 트래픽 제어 방식 3가지

방화벽은 네트워크内外로 흐르는 트래픽을 제어하기 위해 다음과 같은 다양한 방법을 사용합니다.

1. 패킷 필터링(Packet Filtering)

패킷 필터링은 들어오고 나가는 패킷을 분석하여, 출발지와 목적지의 IP 주소를 기준으로 패킷의 통과 여부를 결정하는 방식으로 네트워크 접근을 제어합니다. 이는 방화벽 보안을 구현하는 여러 방법 중 하나입니다.

패킷 필터링은 네트워크 보안의 기본적인 빌딩 블록으로서, 하나의 '도구'이자 동시에 하나의 '기법'입니다. 도구로서는 서비스 수행을 돕는 수단이 되고, 기법으로서는 과제를 수행하는 방법론이 됩니다.

구체적으로, 작은 데이터 조각인 패킷들은 설정된 필터 규칙 집합과 대조하여 분석됩니다. 필터를 통과한 패킷만 요청한 시스템으로 전달되며, 나머지 패킷은 폐기(discard)됩니다.

2. 프록시 서비스(Proxy Service)

프록시 서비스 방화벽은 애플리케이션 계층에서 메시지를 필터링하여 네트워크 보안을 보호하는 시스템입니다. 내부 네트워크와 웹상의 외부 서버 사이에서 게이트웨이 또는 중개자(middle man) 역할을 수행합니다.

게이트웨이 방화벽이라고도 불리는 이 방식은 상태 기반(stateful) 검사와 딥 패킷 검사(deep packet inspection) 기술을 활용해 유입 트래픽을 분석하기 때문에 더욱 높은 수준의 보안성을 제공합니다.

3. 상태 기반 검사(Stateful Inspection)

패킷 헤더만 확인하는 정적 필터링과 달리, 상태 기반 검사 방화벽은 각 데이터 패킷의 여러 요소를 검사한 뒤 신뢰할 수 있는 데이터베이스와 비교합니다. 여기서 검사 대상 요소에는 출발지·목적지 IP 주소, 포트, 애플리케이션 정보 등이 포함됩니다.

유입되는 데이터 패킷이 방화벽을 통과하려면 신뢰 데이터와 충분히 일치해야 합니다. 상태 기반 검사는 각 패킷의 전체 내용을 일일이 살펴보는 대신, 패킷의 핵심 요소들만 추출해 신뢰 데이터베이스와 비교하는 최신 방화벽 필터링 방식입니다.