[사이버 보안] 방화벽(Firewall)에 대해 알아보자
코로나로 인한 펜데믹은 우리에게 언텍트 시대를 강제하게 되었습니다.
우리는 이제 업무와 경제생활, 교육 등을 포함한 많은 활동들을 온라인으로 대체하고 있는데, 변화하는 온라인 위주의 생활 환경에 맞춰 대두되는 문제가 바로 온라인 보안 영역입니다.
전 세계적으로 하루에 약 10,000건 이상의 보안 이벤트가 발생하며, 백만개 이상의 멀웨어(Malware), 6만개 이상의 신규 악성 도메인이 생성됩니다.
우리는 휴대폰과 노트북, 타블렛과 같이 온라인에 연결된 개인 디바이스를 평균 2개 이상 사용하고 있으며 IoT 제품의 사용량도 폭발적으로 늘어났습니다.
하지만 갑작스럽게 노출된 온라인 환경에 맞춰 보안의 중요성을 의식하지 못해 피해를 입는 경우가 많이 발생합니다.
그에 따라 인포라드는 사이버 보안과 그에 관련된 여러가지 정보들을 정리 해보겠습니다.
이번 시간에는 방화벽에 대해 알아보겠습니다.
방화벽(Firewall)
방화벽이라는 단어는 원래 건물에서 발생한 화재가 더 이상 번지지 않게 하기 위해 불에 타지 않는 재료로 만든 벽이나 시설물을 의미합니다.
초기 컴퓨터들은 다른 컴퓨터와 연결하지 않고 단독으로 동작하도록 구성됐지만 인터넷이 전 세계적으로 등장하기 시작한 1980년대 말 부터 컴퓨터 네트워크 분야에서 방화벽이라는 단어를 사용하기 시작했습니다.
초기에는 네트워크 사이를 분리해 한 네트워크 안의 문제가 다른 네트워크로 전파되는 것을 막을 수 있는 라우터(Router)가 방화벽의 역할을 대신했습니다.
네트워크 분야에서의 방화벽은 네트워크 상에서 공격자의 침입이나 바이러스 등으로부터 발생하는 보안 사고 및 문제가 더 이상 확대되는 것을 차단하고 격리하는 벽의 역할을 하는 하드웨어나 소프트웨어를 뜻합니다.
네트워크의 방화벽은 인터넷과 같은 외부망으로부터 들어오는 접근 시도를 1차로 제어하고 통제함으로써 내부 네트워크를 보호하는 역할을 합니다.
즉, 신뢰할 수 있는 네트워크와 신뢰할 수 없는 네트워크 사이에 위치해 출입하는 데이터를 검열하고 불법적인 트래픽을 차단하는 가장 최전방의 보호벽이라고 볼 수 있습니다.
네트워크 상에 설치된 방화벽 모형
출처 : Wikipedia
https://en.wikipedia.org/wiki/Firewall_(computing)
방화벽의 유형
방화벽은 호스트 기반 방화벽과 네트워크 기반 방화벽으로 분류할 수 있습니다.
호스트 기반 방화벽
호스트 기반 방화벽은 컴퓨터와 같은 디바이스에 소프트웨어 또는 응용 프로그램의 형태로 설치되며, 일반적으로 Windows와 Mac과 같은 운영 체제 제조업체는 시스템의 일부로 방화벽 소프트웨어를 포함시켜 출시합니다.
호스트 기반의 방화벽은 방화벽이 설치된 디바이스에서 관리되는데, 일반적으로 사용되는 Windows의 경우 간단한 소프트웨어 형식의 방화벽이 포함되어 있으며, 백신 소프트웨어에도 방화벽 기능이 포함되어 있는 경우가 많습니다.
네트워크 기반 방화벽
네트워크 기반의 방화벽은 집과 사무실 같은 건물 규모의 제한 지역에서 사용되는 LAN(Local Area Netwrok - 로컬 영역 네트워크)과 광범위한 지역에서 사용되는 WAN(Wide Area Network - 광역 네트워크) 내의 모든 위치에 배치할 수 있습니다.
네트워크 기반의 방화벽은 하드웨어와 소프트웨어의 조합으로 네트워크 상에서 작동합니다.
네트워크 전체에 적용되는 관리 규칙을 통해 유해한 활동이 보호하고자 하는 안전한 네트워크에 도달하기 전에 차단하는 역할을 합니다.
네트워크 기반의 방화벽은 자체적인 서버를 보유하고 있는 대규모 조직에서 독립적으로 사용될 수 있으며, 최근에는 클라우드 서비스와 접목해 서비스 제공 업체의 클라우드 인프라에 배포되어 클라우드 데이터를 보호하는데 사용되기도 합니다.
방화벽의 발전 역사
방화벽은 작동 방식에 따라 초창기에 사용된 1세대부터 현재 주로 사용되고 있는 3세대 방화벽으로 나뉩니다.
1세대 패킷 필터 방식 방화벽
가장 일반적인 유형인 1세대 방화벽은 패킷 필터(Packet Filter)방식의 방화벽으로 각각 패킷의 원본 소스 및 대상, 사용 중인 포트나 프로토콜과 같은 기본 정보를 미리 정의된 정책과 비교해 일치하면 전송을 허용하고, 일치하지 않는 경우 차단합니다.
패킷 필터 방식의 방화벽은 특정한 IP 주소나 포트를 허용하거나 차단할 수 있습니다.
패킷 필터 방식의 1세대 방화벽은 효과적일 수 있지만 궁극적으로 매우 기본적인 보호 기능을 제공하기 때문에 제한적일 수 있습니다.
전송 중인 데이터가 응용 프로그램에 부정적인 영향을 미칠지 여부를 미리 정의된 정책이 없다면 확인할 수 없습니다.
신뢰할 수 있는 소스 주소에서 허용된 악의적인 행위로 인해 데이터베이스가 삭제되더라도 방화벽은 확인할 방법이 없습니다.
또한 패킷 필터 방식의 1세대 방화벽은 전송되는 모든 패킷을 정책과 비교해야 하기 때문에 전송 속도가 느려지고, 패킷의 헤더를 조작하는 방식으로 우회로 접근할 수 있는 단점이 있습니다.
2세대 상태 분석 방식 방화벽
1세대 패킷 필터 방식 방화벽의 단점을 해결하기 위해 고안된 것이 패킷 단위의 검사가 아닌 세션 단위의 검사를 하는 상태 분석(stateful Inspection)방식의 방화벽입니다.
세션이란 네트워크 각 노드가 통신을 위해 만드는 논리적인 통신 선로로, 이 선로를 통해 패킷을 주고 받는 것입니다.
2세대 방화벽은 1세대 방화벽에 비해 패킷에 대해 더 많은 정보뿐만 아니라 세션의 생성에서 종료까지 오가는 패킷을 별도로 모니터링할 수 있습니다.
따라서 각각의 세션에 대한 정책을 만들면 개별적인 패킷에 대해 신경쓰지 않아도 된다는 점에서 보다 강력한 보안 기능을 제공합니다.
하지만 2세대 방화벽도 미리 설정된 정책에 따라 모니터링과 제어를 하는 방식이기 때문에 정책이 많아질수록 성능 저하가 발생할 수 있으며, 일반 사용자가 정책을 관리하기에는 어려운 단점이 있습니다.
또한 DDoS(Distributed Denial of Service)와 같은 대규모 공격은 수많은 세션을 생성하기 때문에 각각 세션에 대한 모니터링을 수행하는 2세대 방화벽은 성능이 매우 저하되거나 무력화되어 연결이 단절될 수 있습니다.
3세대 애플리케이션 방화벽
초창기 네트워크를 기반으로 하던 공격 패턴은 점차 발달해 일반적인 트래픽과 같은 특성을 가지고 시스템을 공격하는 형태로 발전됐습니다.
패킷 필터나 상태 분석 기반의 방화벽으로는 이런 공격을 방어하기 어려워졌기 때문에 패킷의 내용을 검사하고, 나아가서는 애플리케이션에 어떤 영향을 미칠지 분석하는 방화벽이 출현하기 시작했는데 이것이 바로 애플리케이션 방화벽(Application Layer Firewall)이라고 불리는 3세대 방화벽 입니다.
3세대 방화벽은 애플리케이션과 프로토콜에 대한 이해를 통해 허가받지 않은 애플리케이션이나 서비스를 확인하고 제어할 수 있으며, 심지어 잘 알려진 프로토콜이나 포트를 통해 유입되는 패킷의 비정상적인 행동까지도 확인할 수 있습니다.
이런 애플리케이션 방화벽은 패킷의 내용을 검사하는 것은 물론이고, 애플리케이션에 어떤 영향을 줄 수 있는지까지 확인할 수 있습니다.
또한 3세대 방화벽은 정책을 수립하는데 있어, 기존의 IP 주소와 같은 기억하기 힘든 기준 대신 사용자에게 친숙한 문자 기준으로 정책을 수립할 수 있기 때문에 접근성이 좋을 뿐만 아니라, 좀 더 세밀하고 명확한 정책을 수립할 수 있습니다.
출처
Comments