"접근차단"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(원리)
15번째 줄: 15번째 줄:
 
====원리====
 
====원리====
 
네트워크 방화벽은 기본적으로 네트워크를 통해 들어오는 패킷에 대해 사전에 관리자가 설정해 놓은 보안 규칙(ACL, Access Control List, 접근 제어 목록)에 따라 허용 또는 차단하는 기능을 수행하며 일반적으로 내부 네트워크와 외부 네트워크(인터넷) 중간에 위치하여 이러한 패킷 제어 기능을 수행하고 필요에 따라 여러 개를 배치하여 보안성을 강화할 수 있고 인터넷(외부 네트워크)으로부터 방화벽으로 들어오는 모든 접근 시도는 방화벽 내부에 사전 설정된 보안 규칙인 접근 제어 목록에 따라 내부 통과 여부가 결정된다. 기본적으로 방화벽은 모든 접근을 거부(deny)한 후 허용할 접근만 단계적으로 허용(allow/permit)하는 방식을 따른다. 예를 들어, 네트워크를 통해 데이터가 이동하는 통로를 [[포트]](port)라 하는데, 방화벽은 기본적으로 약 65,000여 개의 통신 포트 모두를 차단한 후 접근을 허용하는 특정 포트만을 열어 둔다 즉 홈페이지 운영을 위한 웹 [[서비스]](http)를 제공한다면 80 포트를, [[FTP]] 서비스(ftp)를 제공한다면 20/21 포트 등을 접근 허용해야 하며 통신 포트뿐 아니라 외부로부터 접근하는 IP 주소나 특정 프로그램에 따라 접근/거부 여부를 결정할 수 있다. 이러한 보안 규칙 설정이 모두 접근 제어 목록에 포함되어 일괄 적용되며 방화벽의 접근 제어 목록은 대개 관리자가 구성, 설정하기 편하도록 직관적인 형태로 출력되며, 보안 규칙 적용 즉시 결과를 확인할 수 있도록 제공한다만 접근 제어 목록 및 방화벽 설정에는 보안과 관련된 상당한 지식과 경험이 필요하므로 보안 전문가를 통해 정확하고 체계적으로 이루어져야 한다.<ref name="역사"></ref>
 
네트워크 방화벽은 기본적으로 네트워크를 통해 들어오는 패킷에 대해 사전에 관리자가 설정해 놓은 보안 규칙(ACL, Access Control List, 접근 제어 목록)에 따라 허용 또는 차단하는 기능을 수행하며 일반적으로 내부 네트워크와 외부 네트워크(인터넷) 중간에 위치하여 이러한 패킷 제어 기능을 수행하고 필요에 따라 여러 개를 배치하여 보안성을 강화할 수 있고 인터넷(외부 네트워크)으로부터 방화벽으로 들어오는 모든 접근 시도는 방화벽 내부에 사전 설정된 보안 규칙인 접근 제어 목록에 따라 내부 통과 여부가 결정된다. 기본적으로 방화벽은 모든 접근을 거부(deny)한 후 허용할 접근만 단계적으로 허용(allow/permit)하는 방식을 따른다. 예를 들어, 네트워크를 통해 데이터가 이동하는 통로를 [[포트]](port)라 하는데, 방화벽은 기본적으로 약 65,000여 개의 통신 포트 모두를 차단한 후 접근을 허용하는 특정 포트만을 열어 둔다 즉 홈페이지 운영을 위한 웹 [[서비스]](http)를 제공한다면 80 포트를, [[FTP]] 서비스(ftp)를 제공한다면 20/21 포트 등을 접근 허용해야 하며 통신 포트뿐 아니라 외부로부터 접근하는 IP 주소나 특정 프로그램에 따라 접근/거부 여부를 결정할 수 있다. 이러한 보안 규칙 설정이 모두 접근 제어 목록에 포함되어 일괄 적용되며 방화벽의 접근 제어 목록은 대개 관리자가 구성, 설정하기 편하도록 직관적인 형태로 출력되며, 보안 규칙 적용 즉시 결과를 확인할 수 있도록 제공한다만 접근 제어 목록 및 방화벽 설정에는 보안과 관련된 상당한 지식과 경험이 필요하므로 보안 전문가를 통해 정확하고 체계적으로 이루어져야 한다.<ref name="역사"></ref>
 +
 +
====종류====
 +
*패킷 필터링(Packet Filtering) 방식 : 가장 초기적인 방화벽 방식으로 네트워크 계층과 전송계층에서 동작하는 방식이다. 패킷 필터링 방식은 데이터 링크 계층에서 네트워크 계층으로 전달되는 패킷을 가로채서 해당 패킷 안의 주소와 서비스 포트를 검색하여 정의된 보안 규칙에 따라 서비스의 접근 허용 여부를 결정하게 되며 다른 방식에 비해 속도가 빠른 장점이 있으며, 낮은 레이어에서 동작하기 때문에 기존 애플리케이션과 연동이 용이하다. 하드웨어에 의존적이지 않으나 강력한 로깅 기능 및 사용자 인증을 기대하기 어렵다. 1세대 방화벽에 속한다.
 +
*장점 : 다른 방식에 비해 처리 속도가 빠르고 비용이 적게 든다.
 +
*하드웨어에 의존하지 않는다.
 +
*기존 프로그램과 연동이 쉽다. 네트워크 계층에서 동작하기 때문에 클라이언트와 서버에 변화가 없어도 된다.
 +
*사용자에게 투명성을 제공한다.
 +
*단점 : [[TCP]]/[[IP]] 프로토콜의 구조적 문제로 인하여 패킷 헤더의 조작이 가능하다.
 +
*패킷 내의 데이터에 대한 공격을 차단하지 못한다. 바이러스에 감염된 파일 전송시 데이터 분석이 불가능하다.
 +
*패킷 필터링 규칙을 검증하기 어려우며, 접근통제 리스트와 접근 통제 순서에 따라 방화벽에 부하를 줄 수 있다.
 +
*2, 3 세대 방화벽에 비해 로깅 기능 및 사용자 인증 기능 제공이 미미하다.
 +
*어플리케이션 게이트웨이(Application Gateway) 방식 : OSI 7계층 모델 중 어플리케이션(Application) 계층까지 동작하며 통과하는 패킷의 [[헤더]](Header)안의 Data 영역까지도 체크하여 통제하며 해당 서비스별로 [[프락시]](Proxy)라는 통신 중계용 데몬이 구동되어 각 서비스 요청에 대하여 방화벽이 접근 규칙을 적용하고 연결을 대신하는 역할을 수행해서 이와 같은 이유로 어플리케이션 게이트웨이 방화벽을 어플리케이션 프락시 방화벽이라고도 하며 2세대 방화벽에 속한다.
 +
*장점 : 외부 네트워크와 외부 네트워트가 프록시 서버를 통해만 연결되고, 직접 연결은 허용되지 않기 때문에 내부 네트워크에 대한 경계선 방어 및 내부 네트워크에 대한 정보를 숨길 수 있다.
 +
*패킷 필터링 방화벽 보다 높은 보안 설정이 가능하다.
 +
*일회용 패스워드를 이용한 강력한 인증 기능을 제공할 수 있다.
 +
*Session 에 대한 정보를 추적할 수 있고, Content Security가 가능하다. (http, nntp, ftp등의 경우 command level -put, get, post등- 까지 제어가 가능하다.)
 +
*단점 : 응용 계층에서 동작하므로 네트워크에 많은 부하를 줄 수 있다.
 +
*일부 서비스에 대해 투명성을 제공하기 어렵다.
 +
*하드웨어에 의존적이다.
 +
*새로운 서비스를 제공하기 위하여 새로운 데몬이 있어야 한다.
 +
*미리 정의된 Application 만 수용 가능하므로 다양하고 빠르게 발전하는 Internet Application 에 대응하지 못한다.
 +
*프록시 서버 방화벽 개념 : 프록시(Proxy)는 중개인의 개념으로 네트워크에 진입하는 혹은 나가는 패킷을 응용프로그램 수준까지 검토하여 악의적인 정보가 있는지 검사하고 이상이 없으면 그 패킷을 목적지 시스템까지 전달하는 역할을 하는 방화벽이다.
 +
*프록시 서버 방화벽 동작원리는 다음과 같다.
 +
#외부 사용자가 서버에 접근하고자 할 때 사용자의 서비스 요청은 프락시 서버가 대신 접수한다.
 +
#콘텐츠 서버는 방화벽 안쪽에 위치하고 프록시 서버가 사용자에게는 진짜 서버처럼 인식될 수 있도록 설정한다.
 +
#사용자가 서비스를 요청하면 그 요청은 프락시 서버에 전달되고 프락시 서버는 사용자의 요청을 방화벽의 특정 경로를 통해 콘텐츠 서버에 전달한다.
 +
#1콘텐츠 서버에서 수행된 요청 결과는 다시 방화벽의 특정 경로를 통해 프락시 서버에 전달되고 프락시 서버는 사용자에게 전달하게 됨으로써 프락시 서버가 마치 콘텐츠 제공 서버처럼 보이게 된다.
 +
#만약 콘텐츠 서버가 에러 메시지를 전달하게 되면 프락시 서버는 이를 가로채어 사용자에게 보내기 전에 헤더에 포함되는 URL 을 바꿈으로써 외부 사용자가 콘텐츠 서버의 Redirection URL 획득을 방지할 수 있다.
 +
*캐시 기능 : 사용자가 한번 방문한 사이트 정보를 미리 저장하여 원하는 사용자에게 제공
 +
*방화벽 구성 시 속도나 성능이 저하됨을 막기 위한 기능
 +
*서킷 게이트웨이(Circult Gateway) 방식 : [[OSI]] 7계층 구조에서 5계층(세션계층)에서 7계층(응용계층) 사이에서 접근제어를 실시하는 방화벽을 지칭하며, 어플리케이션 게이트웨이와는 달리 각 서비스별로 프락시가 존재하는 것이 아니고, 어느 서비스 프로토콜도 이용할 수 있는 일반적인 대표 프락시를 이용하며 서킷 게이트웨이 방화벽을 통해서 내부 시스템으로 접속하기 위해서는 사용자측 PC에 방화벽에 위치한 대표 프락시와 통신하기 위한 수정된 클라이언트 프로그램이 필요한데 클라이언트 프로그램은 모든 통신에서 방화벽에 있는 프락시와 연결을 맺고 안전한 통신채널인 회로(Circuit)을 구성한 후 이 회로를 통해 내부 시스템과 통신을 한다.
 +
장점 : 내부의 IP 주소를 숨길 수 있다.
 +
*첫 패킷 검사 후 다음 패킷은 전달만 한다.
 +
*수정된 클라이언트 프로그램이 설치된 사용자에게 별도의 인증 절차 없이 투명한 서비스를 제공할 수 있다.
 +
*각 서비스별로 프록시가 존재하지 않고, 모든 서비스가 이용 가능한 일반적인 [[프록시]]가 존재한다.
 +
*단점: 방화벽에 접속을 위해서 [[서킷]] [[게이트웨이]]를 인식할 수 있는 수정된 클라이언트 프로그램이 필요하므로 사용자들에게 프로그램을 배포해야 하거나 사용 중인 응용프로그램을 수정해야 하는게 번거롭다.
 +
*하이브리드(Hybrid) 방식 : 하이브리드 방식은 패킷 필터링 방식과 어플리케이션 방식을 혼합한 것으로 패킷 필터링의 장점과 어플리케이션 방식의 장점을 결합한 방식으로 패킷 레벨의 접근 제어뿐만 아니라 응용 프로그램의 사용자 제어의 장점을 가지고 있으며 애플리케이션 방식의 최대 단점인 다양한 응용 서비스의 수용은 패킷 필터링 방식으로 제공하게 된다.
 +
*장점 : 내부 보안 정책 및 어플리케이션 등에 맞추어 선택적인 보안 설정이 가능하다.
 +
여러 유형의 방화벽 특징을 보유하기 때문에 새로이 등장하는 인터넷상의 모든 서비스에 가장 유동적으로 대처 가능하다.
 +
*단점 : 관리가 복잡하다.
 +
*설치 시 전문적인 네트워크 컨설팅(Network Consulting )이 필요하다.
 +
*상태추적(State Inspection) 방식: 방화벽의 초기 개념은 크게 두 가지 방식 즉, 패킷 필터링 방화벽과 어플리케이션 [[게이트웨이]] 방화벽으로 분류되었다. 하지만 이 두 가지 방식의 방화벽은 완벽한 방화벽 기능을 수행하지 못하거나 속도가 저하되는 등의 여러 가지 단점을 가지고 있었다. 상태추적 방화벽은 이러한 두 가지 방화벽의 단점을 극복하고 장점만을 구현한 새로운 개념의 방화벽이다. 이스라엘의 방화벽 업체인 [[체크포인트]]사가 최초로 사용한 용어로 네트워크 계층(3계층)에서 패킷을 처리하면서도 프로토콜의 상태정보 테이블을 유지하여 프로토콜 특성에 따른 변화를 동적으로 대응해 주는 방화벽으로 최근의 거의 모든 방화벽 시스템에서 채용되어 사용되고 있다. 3세대 방화벽에 속한다. 기존 패킷 필터링 기능에 세션(session) 추적 기능을 추가하여 일련의 네트워크 서비스의 순서를 추적하여 순서에 위배되는 패킷들은 모두 차단되게 된다. 즉 내부 사용자가 인터넷으로 필(ping) 이 허용된 경우 내부자의 정상적인 핑 요구(ping request) 에 대해 인터넷으로부터 들어오는 핑 대답(ping reply) 는 허용되지만 인터넷으로부터 내부자의 요구(request) 가 존재하지 않은 상태에서 불법적인 핑 대답 패킷들은 차단되게 된다.
 +
상태추적 동작원리
 +
#클라이언트 A 는 특정 웹(web) 서버(B) 연결을 방화벽에 요구한다.
 +
#방화벽은 상태목록(state table)에 출발지, 도착지, 포트 서비스 및 되돌아오는 패킷 여부 기록 후 ACL  을 검토한다.
 +
#ACL 목록에서 해당 패킷 통과가 허용되는지 검토한다.
 +
#해당 패킷 통과가 허용된다면 외부 web 서버 B 에 연결한다.
 +
#웹 서버 B 의 응답 패킷이 방화벽에 진입한다.
 +
#방화벽은 해당 응답 패킷을 ACL 에서 검토한다.
 +
#허용된 패킷일 경우 상태 목록에서 기존 패킷에 대한 응답 패킷인지를 확인한다.
 +
#정상적인 응답 패킷인 경우 클라이언트 A 에게 연결한다.
 +
*장점 : 모든 통신채널에 대해 추적 가능하다.
 +
*한 차원 높은 패킷 필터링 기능을 제공한다.
 +
*응용프로그램 방화벽과 같은 성능 감소가 발생하지 않는다.
 +
*UDP 와 RPC 패킷 추적이 가능하다.
 +
*패킷 내의 데이터 상태와 정황(context)이 저장되고 지속적으로 갱신된다.
 +
* 단점 : 상태목록(state table)에 도스(DOS) 나 디도스(DDOS) 공격으로 인해 거짓 정보가 가득 차게 되면 장비가 일시적으로 정지하거나 재가동해야 한다.
 +
*어떠한 이유로 방화벽을 재구동시 현재 연결에 대한 모든 정보를 잃어버리게 되고 정당한 패킷에 대해 거부가 발생할 수 있다.<ref> 별의수다, 〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=wnrjsxo&logNo=221066364387 침입차단시스템(방화벽, Firewall)의 종류]〉, 《네이버 블로그》, 2017-08-03 </ref>
  
 
{{각주}}
 
{{각주}}
21번째 줄: 79번째 줄:
 
* 〈[https://ko.wikipedia.org/wiki/%EC%B9%A8%EC%9E%85_%EC%B0%A8%EB%8B%A8_%EC%8B%9C%EC%8A%A4%ED%85%9C 침입 차단 시스템]〉, 《위키백과》
 
* 〈[https://ko.wikipedia.org/wiki/%EC%B9%A8%EC%9E%85_%EC%B0%A8%EB%8B%A8_%EC%8B%9C%EC%8A%A4%ED%85%9C 침입 차단 시스템]〉, 《위키백과》
 
* 〈[https://it.donga.com/8810/ 네트워크를 지키는 최후의 보루 - 방화벽]〉, 《IT동아》
 
* 〈[https://it.donga.com/8810/ 네트워크를 지키는 최후의 보루 - 방화벽]〉, 《IT동아》
 +
*〈[https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=wnrjsxo&logNo=221066364387 침입차단시스템(방화벽, Firewall)의 종류]〉, 《네이버 블로그》
  
 
==같이보기==
 
==같이보기==
 +
*[[체크포인트]]
 +
*[[OSI]]

2021년 8월 13일 (금) 16:21 판

접근차단이란 어느 대상에 접근하는 것 을 막는거다.

개요

어떤 대상(시스템, 시설)에 누군가(사람, 바이러스)가 들어오는 오는 것 을 막기 위해 경로등을 막는거다.

종류

접근차단하는 종류는 여러가지가 있지만 인터넷, SNS, 네트워크에서 쓰는 침입차단시스템(방화벽)이 대표이다.

침입차단시스템

방화벽(Firewall)으로도 불리는 침입차단시스템(侵入遮斷 - , 영어: Intrusion Prevention Systems (IPS), Intrusion Detection and Prevention Systems (IDPS))은 외부 네트워크로부터 내부 네트워크로 침입하는 네트워크 패킷을 찾아 제어하는 기능을 가진 소프트웨어 또는 하드웨어이다.[1]

역사

방화벽은 인터넷이 태동되기 시작한 1980년대부터 본격적으로 도입됐으며, 초기에는 네트워크 장비 중 하나인 라우터(router)가 방화벽 역할을 전담했으며 그 후 외부 공격 형태가 다양하고 치밀해 짐에 따라 방화벽 기술도 그에 맞춰 진화했으며 80년대 말경에 등장한 1세대 방화벽은 외부로부터 들어오는 패킷(packet, 네트워크 내 데이터 이동 최소 단위)의 형태를 분석하여, 사전에 설정해 둔 보안 정책(rule)에 허용되는 패킷 만을 통과시키는 역할을 하지만 이러한 패킷분석형 방화벽은 네트워크 내 모든 패킷을 대상으로 검사 작업을 수행해야 하니 처리 속도가 느린 단점을 비롯해 여러 가지 문제점이 있어서 이에 따라 네트워크 연결 상태를 분석함으로써 보다 정교하고 효과적인 보안 정책을 적용할 수 있는 상태 분석형(stateful inspection) 방화벽이 등장했다. 이를 2세대 방화벽으로 보는 것이 보편적이며 2000년대 초까지 활발하게 사용됐다. 이후 인터넷 시대가 대중화되면서 웹 브라우저를 통한 다양한 네트워크 서비스가 제공됨에 따라 외부로부터의 침입 또는 공격방법도 다양해졌다. 이에 패킷 내용뿐 아니라 특정 애플리케이션(웹 브라우저, FTP 클라이언트 프로그램 등)을 통한 네트워크 접근을 제어하기 위한 애플리케이션(application layer) 방화벽이 2세대 방화벽을 이어 각광을 받기 시작했다.[2]

원리

네트워크 방화벽은 기본적으로 네트워크를 통해 들어오는 패킷에 대해 사전에 관리자가 설정해 놓은 보안 규칙(ACL, Access Control List, 접근 제어 목록)에 따라 허용 또는 차단하는 기능을 수행하며 일반적으로 내부 네트워크와 외부 네트워크(인터넷) 중간에 위치하여 이러한 패킷 제어 기능을 수행하고 필요에 따라 여러 개를 배치하여 보안성을 강화할 수 있고 인터넷(외부 네트워크)으로부터 방화벽으로 들어오는 모든 접근 시도는 방화벽 내부에 사전 설정된 보안 규칙인 접근 제어 목록에 따라 내부 통과 여부가 결정된다. 기본적으로 방화벽은 모든 접근을 거부(deny)한 후 허용할 접근만 단계적으로 허용(allow/permit)하는 방식을 따른다. 예를 들어, 네트워크를 통해 데이터가 이동하는 통로를 포트(port)라 하는데, 방화벽은 기본적으로 약 65,000여 개의 통신 포트 모두를 차단한 후 접근을 허용하는 특정 포트만을 열어 둔다 즉 홈페이지 운영을 위한 웹 서비스(http)를 제공한다면 80 포트를, FTP 서비스(ftp)를 제공한다면 20/21 포트 등을 접근 허용해야 하며 통신 포트뿐 아니라 외부로부터 접근하는 IP 주소나 특정 프로그램에 따라 접근/거부 여부를 결정할 수 있다. 이러한 보안 규칙 설정이 모두 접근 제어 목록에 포함되어 일괄 적용되며 방화벽의 접근 제어 목록은 대개 관리자가 구성, 설정하기 편하도록 직관적인 형태로 출력되며, 보안 규칙 적용 즉시 결과를 확인할 수 있도록 제공한다만 접근 제어 목록 및 방화벽 설정에는 보안과 관련된 상당한 지식과 경험이 필요하므로 보안 전문가를 통해 정확하고 체계적으로 이루어져야 한다.[2]

종류

  • 패킷 필터링(Packet Filtering) 방식 : 가장 초기적인 방화벽 방식으로 네트워크 계층과 전송계층에서 동작하는 방식이다. 패킷 필터링 방식은 데이터 링크 계층에서 네트워크 계층으로 전달되는 패킷을 가로채서 해당 패킷 안의 주소와 서비스 포트를 검색하여 정의된 보안 규칙에 따라 서비스의 접근 허용 여부를 결정하게 되며 다른 방식에 비해 속도가 빠른 장점이 있으며, 낮은 레이어에서 동작하기 때문에 기존 애플리케이션과 연동이 용이하다. 하드웨어에 의존적이지 않으나 강력한 로깅 기능 및 사용자 인증을 기대하기 어렵다. 1세대 방화벽에 속한다.
  • 장점 : 다른 방식에 비해 처리 속도가 빠르고 비용이 적게 든다.
  • 하드웨어에 의존하지 않는다.
  • 기존 프로그램과 연동이 쉽다. 네트워크 계층에서 동작하기 때문에 클라이언트와 서버에 변화가 없어도 된다.
  • 사용자에게 투명성을 제공한다.
  • 단점 : TCP/IP 프로토콜의 구조적 문제로 인하여 패킷 헤더의 조작이 가능하다.
  • 패킷 내의 데이터에 대한 공격을 차단하지 못한다. 바이러스에 감염된 파일 전송시 데이터 분석이 불가능하다.
  • 패킷 필터링 규칙을 검증하기 어려우며, 접근통제 리스트와 접근 통제 순서에 따라 방화벽에 부하를 줄 수 있다.
  • 2, 3 세대 방화벽에 비해 로깅 기능 및 사용자 인증 기능 제공이 미미하다.
  • 어플리케이션 게이트웨이(Application Gateway) 방식 : OSI 7계층 모델 중 어플리케이션(Application) 계층까지 동작하며 통과하는 패킷의 헤더(Header)안의 Data 영역까지도 체크하여 통제하며 해당 서비스별로 프락시(Proxy)라는 통신 중계용 데몬이 구동되어 각 서비스 요청에 대하여 방화벽이 접근 규칙을 적용하고 연결을 대신하는 역할을 수행해서 이와 같은 이유로 어플리케이션 게이트웨이 방화벽을 어플리케이션 프락시 방화벽이라고도 하며 2세대 방화벽에 속한다.
  • 장점 : 외부 네트워크와 외부 네트워트가 프록시 서버를 통해만 연결되고, 직접 연결은 허용되지 않기 때문에 내부 네트워크에 대한 경계선 방어 및 내부 네트워크에 대한 정보를 숨길 수 있다.
  • 패킷 필터링 방화벽 보다 높은 보안 설정이 가능하다.
  • 일회용 패스워드를 이용한 강력한 인증 기능을 제공할 수 있다.
  • Session 에 대한 정보를 추적할 수 있고, Content Security가 가능하다. (http, nntp, ftp등의 경우 command level -put, get, post등- 까지 제어가 가능하다.)
  • 단점 : 응용 계층에서 동작하므로 네트워크에 많은 부하를 줄 수 있다.
  • 일부 서비스에 대해 투명성을 제공하기 어렵다.
  • 하드웨어에 의존적이다.
  • 새로운 서비스를 제공하기 위하여 새로운 데몬이 있어야 한다.
  • 미리 정의된 Application 만 수용 가능하므로 다양하고 빠르게 발전하는 Internet Application 에 대응하지 못한다.
  • 프록시 서버 방화벽 개념 : 프록시(Proxy)는 중개인의 개념으로 네트워크에 진입하는 혹은 나가는 패킷을 응용프로그램 수준까지 검토하여 악의적인 정보가 있는지 검사하고 이상이 없으면 그 패킷을 목적지 시스템까지 전달하는 역할을 하는 방화벽이다.
  • 프록시 서버 방화벽 동작원리는 다음과 같다.
  1. 외부 사용자가 서버에 접근하고자 할 때 사용자의 서비스 요청은 프락시 서버가 대신 접수한다.
  2. 콘텐츠 서버는 방화벽 안쪽에 위치하고 프록시 서버가 사용자에게는 진짜 서버처럼 인식될 수 있도록 설정한다.
  3. 사용자가 서비스를 요청하면 그 요청은 프락시 서버에 전달되고 프락시 서버는 사용자의 요청을 방화벽의 특정 경로를 통해 콘텐츠 서버에 전달한다.
  4. 1콘텐츠 서버에서 수행된 요청 결과는 다시 방화벽의 특정 경로를 통해 프락시 서버에 전달되고 프락시 서버는 사용자에게 전달하게 됨으로써 프락시 서버가 마치 콘텐츠 제공 서버처럼 보이게 된다.
  5. 만약 콘텐츠 서버가 에러 메시지를 전달하게 되면 프락시 서버는 이를 가로채어 사용자에게 보내기 전에 헤더에 포함되는 URL 을 바꿈으로써 외부 사용자가 콘텐츠 서버의 Redirection URL 획득을 방지할 수 있다.
  • 캐시 기능 : 사용자가 한번 방문한 사이트 정보를 미리 저장하여 원하는 사용자에게 제공
  • 방화벽 구성 시 속도나 성능이 저하됨을 막기 위한 기능
  • 서킷 게이트웨이(Circult Gateway) 방식 : OSI 7계층 구조에서 5계층(세션계층)에서 7계층(응용계층) 사이에서 접근제어를 실시하는 방화벽을 지칭하며, 어플리케이션 게이트웨이와는 달리 각 서비스별로 프락시가 존재하는 것이 아니고, 어느 서비스 프로토콜도 이용할 수 있는 일반적인 대표 프락시를 이용하며 서킷 게이트웨이 방화벽을 통해서 내부 시스템으로 접속하기 위해서는 사용자측 PC에 방화벽에 위치한 대표 프락시와 통신하기 위한 수정된 클라이언트 프로그램이 필요한데 클라이언트 프로그램은 모든 통신에서 방화벽에 있는 프락시와 연결을 맺고 안전한 통신채널인 회로(Circuit)을 구성한 후 이 회로를 통해 내부 시스템과 통신을 한다.

장점 : 내부의 IP 주소를 숨길 수 있다.

  • 첫 패킷 검사 후 다음 패킷은 전달만 한다.
  • 수정된 클라이언트 프로그램이 설치된 사용자에게 별도의 인증 절차 없이 투명한 서비스를 제공할 수 있다.
  • 각 서비스별로 프록시가 존재하지 않고, 모든 서비스가 이용 가능한 일반적인 프록시가 존재한다.
  • 단점: 방화벽에 접속을 위해서 서킷 게이트웨이를 인식할 수 있는 수정된 클라이언트 프로그램이 필요하므로 사용자들에게 프로그램을 배포해야 하거나 사용 중인 응용프로그램을 수정해야 하는게 번거롭다.
  • 하이브리드(Hybrid) 방식 : 하이브리드 방식은 패킷 필터링 방식과 어플리케이션 방식을 혼합한 것으로 패킷 필터링의 장점과 어플리케이션 방식의 장점을 결합한 방식으로 패킷 레벨의 접근 제어뿐만 아니라 응용 프로그램의 사용자 제어의 장점을 가지고 있으며 애플리케이션 방식의 최대 단점인 다양한 응용 서비스의 수용은 패킷 필터링 방식으로 제공하게 된다.
  • 장점 : 내부 보안 정책 및 어플리케이션 등에 맞추어 선택적인 보안 설정이 가능하다.

여러 유형의 방화벽 특징을 보유하기 때문에 새로이 등장하는 인터넷상의 모든 서비스에 가장 유동적으로 대처 가능하다.

  • 단점 : 관리가 복잡하다.
  • 설치 시 전문적인 네트워크 컨설팅(Network Consulting )이 필요하다.
  • 상태추적(State Inspection) 방식: 방화벽의 초기 개념은 크게 두 가지 방식 즉, 패킷 필터링 방화벽과 어플리케이션 게이트웨이 방화벽으로 분류되었다. 하지만 이 두 가지 방식의 방화벽은 완벽한 방화벽 기능을 수행하지 못하거나 속도가 저하되는 등의 여러 가지 단점을 가지고 있었다. 상태추적 방화벽은 이러한 두 가지 방화벽의 단점을 극복하고 장점만을 구현한 새로운 개념의 방화벽이다. 이스라엘의 방화벽 업체인 체크포인트사가 최초로 사용한 용어로 네트워크 계층(3계층)에서 패킷을 처리하면서도 프로토콜의 상태정보 테이블을 유지하여 프로토콜 특성에 따른 변화를 동적으로 대응해 주는 방화벽으로 최근의 거의 모든 방화벽 시스템에서 채용되어 사용되고 있다. 3세대 방화벽에 속한다. 기존 패킷 필터링 기능에 세션(session) 추적 기능을 추가하여 일련의 네트워크 서비스의 순서를 추적하여 순서에 위배되는 패킷들은 모두 차단되게 된다. 즉 내부 사용자가 인터넷으로 필(ping) 이 허용된 경우 내부자의 정상적인 핑 요구(ping request) 에 대해 인터넷으로부터 들어오는 핑 대답(ping reply) 는 허용되지만 인터넷으로부터 내부자의 요구(request) 가 존재하지 않은 상태에서 불법적인 핑 대답 패킷들은 차단되게 된다.

상태추적 동작원리

  1. 클라이언트 A 는 특정 웹(web) 서버(B) 연결을 방화벽에 요구한다.
  2. 방화벽은 상태목록(state table)에 출발지, 도착지, 포트 서비스 및 되돌아오는 패킷 여부 기록 후 ACL 을 검토한다.
  3. ACL 목록에서 해당 패킷 통과가 허용되는지 검토한다.
  4. 해당 패킷 통과가 허용된다면 외부 web 서버 B 에 연결한다.
  5. 웹 서버 B 의 응답 패킷이 방화벽에 진입한다.
  6. 방화벽은 해당 응답 패킷을 ACL 에서 검토한다.
  7. 허용된 패킷일 경우 상태 목록에서 기존 패킷에 대한 응답 패킷인지를 확인한다.
  8. 정상적인 응답 패킷인 경우 클라이언트 A 에게 연결한다.
  • 장점 : 모든 통신채널에 대해 추적 가능하다.
  • 한 차원 높은 패킷 필터링 기능을 제공한다.
  • 응용프로그램 방화벽과 같은 성능 감소가 발생하지 않는다.
  • UDP 와 RPC 패킷 추적이 가능하다.
  • 패킷 내의 데이터 상태와 정황(context)이 저장되고 지속적으로 갱신된다.
  • 단점 : 상태목록(state table)에 도스(DOS) 나 디도스(DDOS) 공격으로 인해 거짓 정보가 가득 차게 되면 장비가 일시적으로 정지하거나 재가동해야 한다.
  • 어떠한 이유로 방화벽을 재구동시 현재 연결에 대한 모든 정보를 잃어버리게 되고 정당한 패킷에 대해 거부가 발생할 수 있다.[3]

각주

  1. 침입 차단 시스템〉, 《위키백과》
  2. 2.0 2.1 이문규, 〈네트워크를 지키는 최후의 보루 - 방화벽〉, 《IT동아》, 2012-04-13
  3. 별의수다, 〈침입차단시스템(방화벽, Firewall)의 종류〉, 《네이버 블로그》, 2017-08-03

참고자료

같이보기