[정보보안] 방화벽이란?

[정보보안] 방화벽이란?

방화벽의 정의 : 기업이나 조직의 모든 정보가 컴퓨터에 저장되면서, 컴퓨터의 정보 보안을 위해 외부에서 내부, 내부에서 외부의 정보통신망에 불법으로 접근하는 것을 차단하는 시스템이다.



방화벽의 종류

1. 패킷 필터링(Packet Filtering)


패킷필터링 방식의 방화벽은 OSI 7 Layer에서 Layer3(네트워크계층)과 Layer4(전송계층)단에서 패킷을 검사하여 출발지 및 목적지 IP 주소 정보, 각 서비스에 port 번호를 이용해 접속제어를 하는 방화벽입니다.
하지만 TCP/IP 프로토콜의 구조적인 문제 때문에 TCP/IP 패킷의 헤더는 쉽게 조작 가능하고 ftp, mail에 바이러스가 감염된 파일 전송시 위험한 Data에 대한 분석이 불가능합니다.
또 접속제어 규칙의 갯수 및 접속제어 규칙 순서에 따라 방화벽에 부하를 많이 줄 수 있습니다.

2. 어플리케이션 방식(Application Gateway)

어플리케이션방식의 방화벽은 OSI 7 Layer에서 Layer7(어플리케이션계층)에서 동작을 합니다.
서비스마다 별도의 프록시(Proxy)가 구동되어 서버와 클라이언트 사이에서 관리를 하게 됩니다.
Proxy의 역할은 무조건 중앙에서 Proxy를 통해서만 연결이 될 수 있게 하기 때문에 내부와 외부의 완벽한 경계선이 생기는 샘입니다.
패킷 필터링보다 우수하지만 처리속도가 떨어진다는 단점이 있습니다.


3. 상태 추적 (Stateful Inspection)

상태 추적방식의 방화벽은 OSI 7 Layer에서 Layer2(데이터링크 계층)과 Layer3(네트워크계층)단에서 패킷들을 상태정보 테이블에 일정시간 저장하여 빠른속도로 처리하고 패킷변조를 막을 수 있습니다.
패킷 필터링과 어플리케이션방식의 단점을 보완하여 빠르고 보안성이 뛰어납니다.
리눅스의 iptables가 사용하는 방식이기도 합니다.

4. 서킷 게이트웨어 ( Circuit Gateway )

서킷 게이트웨이는 OSI 7 Layer에서 Layer5(세션계층)과 Layer7(어플리케이션계층) 사이에 존재하며 어플리케이션방식과는 달리 각 서비스별로 프록시(proxy)가 있는것이 아니라 프록시를 하나로 묶어서 사용하는 방식입니다.
각 클라이언트들은 서킷의 Proxy를 인식할 수 있는 클라이언트 프로그램이 필요합니다.
내부의 IP를 숨길 수 있어서 보안성이 좋지만 사용하기 위해선 모두 클라이언트 프로그램을 깔아야 하기 때문에 불편할 수 없습니다.


방화벽의 구조


우선 사전지식!

병화벽의 구조에 대해 설명하기전에 먼저 베스천호스트(Bastion Host)의 개념에 대해 설명하고 시작하겠습니다.
베스천호스트란 완벽에 가깝도록 방어정책이 구현되어 있는 시스템이라고 할 수 있겠습니다.
로깅, 모니터링, 접근제어 등 일반적인 방화벽의 기능을 합니다.
그렇다고 베스천호스트랑 방화벽이랑 같지는 않습니다.
꼭 하나가 아닐수도 있고 베스천호스트의 위치중 한곳에 방화벽이 놓이게 됩니다.

1. 스크리닝 라우터(Screening router)

스크리닝 라우터외부(인터넷)과 내부망의 가운데서 패킷필터링 규칙을 적용해서 방화벽의 역할을 수행하는 구조입니다. 하지만 이걸로 방화벽의 기능을 다 수행할 수 있다면 따로 방화벽을 쓸 이유가 없겠죠?
3계층과 4계층에서 IP와 Port에 대해 접근제어를 하는 스크리닝 라우터는 매우 저렴하게 병화벽의 역할을 수행할 순 있지만 세부적인 규칙을 적용하기 어렵고 만약에 접속이 폭주할 경우 부하가 걸려 효과적이지 못합니다.
주로 방화벽을 따로 설치하기 힘든 중소기업들이 많이 이용하게 됩니다.
스크리닝 라우터

2. 단일 홈 게이트웨어(Single-Homed Gateway)

단일 홈 게이트웨이는 스크리닝 라우터와 구조는 비슷하지만 좀 더 제대로된 방화벽입니다.
접근제어, 프록시, 인증, 로깅 등 방화벽의 기본 기능을 수행합니다.
보다 강력한 보안 정책을 실행할 수 있지만 방화벽이 손상되면 내부의 공격에 대해 무방비 상태가 돼 버리고 2계층에서 우회를 통한 공격이 가능하게 됩니다.
일반적으로 이 구조를 베스천호스트라고 부릅니다.

3. 이중 홈 게이트웨이(Dual-Homed Gateway)

이중 홈 게이트웨이는 네트워크 카드가 두개이상 갖춰져있는 방화벽입니다.
하나는 내부, 또 하나는 외부(인터넷)에 대해 각각 운영합니다. 내부에서 외부로 갈려면 반드시 이중 홈 게이트웨이를 지나가야 하므로 좀 더 효율적으로 트래픽을 관리할 수 있습니다.


4. 스크린된 호스트 게이트웨이(Screened Host Gateway)


스크린이란 즉, '숨겨진'이라는 뜻으로 방화벽이 숨겨져 있다는 뜻입니다.
스크리닝 라우터와 단일 혹은 듀얼 홈게이트웨이와 조합해서 사용하는 방식입니다.
패킷 필터링으로 1차 방어, 베스천 호스트에서 프록시 등을 통해 2차 방어를 하게 됩니다.
스크리닝 라우터에서 3계층과 4계층에 대해서 접근 제어를 해주고 베스천 호스트에서 7계층에 대한 접근 제어를 하게 되므로 무척 안전한 편입니다.
대신 구축비용은 위의 방식들보다 많이 비싼 편입니다.

5. 스크린된 서브넷 게이트웨이(Screened Subnet Gateway)

스크린된 서브넷 게이트웨이 방식은 외부와 내부의 가운데서 DMZ(DeMilitarized Zone)을 위치시켜 완충지대를 구성하게 됩니다. 방화벽도 DMZ부분에 위치하고 주로 프록시가 설치됩니다. 다른 방화벽들의 장점을 모두 갖고 있으며 상당히 안전한 편입니다.
그만큼 설치 및 관리가 어렵고 속도도 느려지게 됩니다. 비용도 가장 많이 듭니다.
단일 홈 게이트웨이보다는 이중 홈 게이트웨이로 구성할 경우 서비스 속도가 좀 더빠르고 보안도 강력한 편 입니다.


출처

댓글

이 블로그의 인기 게시물

[Python] # -*- coding: utf-8 -*-를 쓰는 이유

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?