본문 바로가기
  • AI (Artificial Intelligence)
Security

침입 차단 시스템( Firewall System )

by 로샤스 2014. 4. 9.


   목차

1. Firewall이란 무엇인가?

 

Firewall 시스템이란 인터넷과 같은 공중망으로부터 기업내부의 사설망을 보호하는 보안장치로 사설망과 공중망 사이의 경계에 위치하여 내부에서 외부로 또는 외부에서 내부로 흘러다니는 네트워크 트래픽을 제어하는 시스템을 말한다.

 

Firewall 시스템은 내부 사설망과 외부망을 논리적, 물리적으로 분리하게 하며 외부망과 통신하는 모든 트래픽들은 반드시 이 Firewall 시스템을 통과하게 되며 Firewall에 정의된 보안 정책에 따라 사내 네트워크 접근제어, 사용자 접근제어를 수행하게 된다.  이러한 보안 정책은 기본적으로 외부 공중망에서 내부 사설망으로의 불법적 침입을 막는 것과 내부 사용자에 의한 불법 정보 유출 방지로 정해진다.

 

Firewall 시스템의 보안 정책 기법으로 크게 모든 서비스를 허용한 후 불필요한 서비스를 차단하는 방법과 모든 서비스를 불허한 후 필요한 서비스를 허용하는 정책으로 구분될 수 있다. 가장 안전한 Firewall의 보안 정책기법은 후자이지만 기업의 네트워크 사용형태에 따라 지속적인 보안 정책이 반영되어야 한다.

 

Firewall 시스템은 기업내부의 네트워크 자원에 대해 외부망의 노출을 막게 되므로 기업 내부의 관리 부재와 운영 문제로 야기될 수 있는 호스트 시스템의 보안 취약점들을 많은 부분 보완할 수 있다.

2. Firewall의 기능

 

외부 공격의 노출정도를 "위험 존"이라고 한다. Firewall이 없이 인터넷과 같은 외부 네트워크에 내부 네트워크가 노출되어 있는 경우 내부 네트워크에 있는 모든 서버와 시스템들은 외부 인터넷으로부터 공격에 무방비 상태가 된다. 따라서 이러한 "위험 존"을 줄일 필요가 있는데 이를 제공하는 것이 Firewall이다. 일단 Firewall이 설치되면 위험 존은 firewall 자체가 된다. 따라서 Firewall은 위험 존을 줄이는 기능을 하고 모든 보안 정책을 구현할 수 있게 한다. 이렇게 통합된 보안 정책을 구현하게 하는 firewall은 일반적으로 다음의 세가지 기능을 제공하게 된다.

 

Authentication : 사용자 인증
Authorization(Access Control) : Packet의 source, destination, port/protocol/content를 검증
Encryption : 암호화 (User ID/Password, Data)

3. Firewall 시스템의 종류

 

Firewall은 그 동작 원리에 근거하여 두 가지로 분류할 수 있다.

하나는 Packet Filtering Firewall이고 다른 하나는 Application Gateway인데, 최근의 제품들은 대부분 이 두 가지 기능을 결합한 형태로 되어가는 추세이다.

3.1  패킷 필터링 Firewall (Packet Filtering Firewall)

 

 

패킷 필터링 Firewall은 위의 그림과 같이 OSI 7계층에서 3 계층인 네트워크 레이어와 4 계층인 트랜스포트 레이어에서 동작한다. 패킷 필터링 Firewall은 데이터 링크 레이어에서 네트워크 레이어로 전달되는 패킷을 가로채서 해당 패킷안의 주소와 서비스 포트를 검색하여 정의된 보안 규칙에 따라 서비스의 접근 허용 여부를 결정하게 된다. 이러한 패킷 필터링 Firewall은 다음과 같은 장 단점을 가지고 있다.

 

장점

네트워크와 트랜스 포트 레이어에서 동작하므로 Application에 구애 받지 않아 다양한 Internet Application을 수용할 수 있다.

단점

단순히 Firewall을 통과하는 패킷의 근원지/목적지 주소와 서비스 포트만을 검색하므로 Session에 대한 정보를 추적하지 못하며 Data Content에 대한 제어가 불가능하다.

3.2 서킷 레벨 Firewall (Circuit Level Firewall)

 

서킷 레벨 게이트웨이는 방화벽으로 동작하는 시스템에 내부 시스템이 외부망과의 접속을 의뢰하고, 방화벽 시스템은 요구에 따라 외부망과의 접속을 수행한다.

방화벽과의 통신을 위해 클라이언트는 특별한 프로토콜(예를 들면, SOCKS)을 사용해야 한다.즉 TCP 서비스에 관련된 프로그램들이 다시 컴파일되어야 하며, 보통은 내부망에서 외부망 접속을 통제한다. 그러나 비표준 포트로 우회 접근해오는 접근에 대해서는 방어를 못한다는 단점이 있다. 비교적 방화벽 초기에 사용되던 방식으로 현재는 거의 사용되지 않는 방식이다.

3.3 응용 게이트웨이 Firewall (Application Gateway Firewall)

 

 

응용 게이트웨이 Firewall은 다른 말로 Proxy 서버 방식이라고도 한다. 
응용 게이트웨이 Firewall(일반적으로 Bastion 호스트)은 위의 그림과 같이 OSI 7계층에서 상위 계층인 응용계층에서 동작한다.

Application Gateway Firewall은 Client로부터 Request를 접수한 후, 자기의 Rulebase에 비추어 보아 허용할 것인지를 결정한다. Request가 받아들여진 경우 Firewall이 Client 대신 Destination Server에게 Request를 전송하고, Server로부터 Reply를 받아 이를 다시 해당 Client에게로 보낸다 (Proxy로 동작). 이 때 Client-Firewall-Server로 이어지는 Session이 형성된다. Application gateway Firewall은 사용자 및 응용 서비스에서 접근제어를 제공하며 응용 서비스 프로그램의 사용을 기록하여 감시 추적을 위해 사용될 수 있다. Application Gateway Firewall은 다음과 같은 장단점이 있다.

 

장점

Session에 대한 정보를 추적할 수 있고, Content Security가 가능하다. (http, nntp, ftp등의 경우 command level -put, get, post등- 까지 제어가 가능하다.)

단점

Forwarder, Proxy로서만 동작하며, 미리 정의된 Application만 수용 가능하므로 다양하고 빠르게 발전하는 Internet Application에 대응하지 못한다. 새로운 Application의 추가는 새로운 Firewall의 gateway 프로그램을 요구하게 된다.

3.4 하이브리드 게이트웨이 Firewall (Hybrid Gateway Firewall)

 

하이브리드 게이트웨이는 패킷 필터링 방식과 애플리케이션 방식을 혼합한 것이다. 패킷 필터링의 장점과 애플리케이션 방식이 장점을 결합한 방식으로 패킷 레벨의 접근 제어뿐만 아니라 응용 프로그램의 사용자 제어의 장점을 가지고 있고 애플리케이션 방식의 최대 단점인 다양한 응용 서비스의 수용은 패킷 필터링 방식으로 제공하게 된다.

3.5 State Inspection Firewall

 

패킷 필터링의 단점인 session에 대한 추적기능을 보완한 Firewall 시스템이다. 이 시스템은 기존 피킷 필터링 기능에 session 추적 기능을 추가하여 일련의 네트워크 서비스의 순서를 추적하여 순서에 위배되는 패킷들은 모두 차단되게 된다.

예를 들어, 내부 사용자가 인터넷으로 ping이 허용된 경우 내부자의 정상적인 ping request에 대해 인터넷으로부터 들어오는 ping reply는 허용되지만 인터넷으로부터 내부자의 request 가 존재하지 않은 상태에서 불법적인 ping reply 패킷들은 차단되게 된다.

4. Firewall 시스템 구축 형태

 

방화벽 시스템의 구성은 단일 firewall 전용 제품의 구성을 말하기 보다는 침입차단 네트워크를 구축하기 위한 각각의 시스템 구성 형태를 말한다.

4.1 Screening Router

 

 

외부 네트워크와 내부 네트워크 사이의 경계에  위치하여 외부와 내부간의 트래픽들에 대하여 OSI참조 모델의 네트워크 계층과 트랜스포트 계층 프로토콜인 IP와 TCP, 그리고 UDP의 헤더의 정보를 분석하여 동작하는 라우터를 이용한 구성이다.

스크리닝 라우터는 정의된 패킷 필터 규칙에 따라 해당 패킷을 폐기하거나 전달하게 된다. 일반적으로 라우터에 ACL(Access Control List)를 적용하는 방법이다. 패킷 필터링 규칙은 IP의 근원지/목적지 주소 그리고 TCP/UDP의 근원지/목적지 포트에 따라 정의된다.

스크리닝 라우터는 들어오고 나가는 패킷에 대하여 정의된 ACL를 순차 비교하여 최종 ACL까지 점검하여 최종적으로 해당 패킷을 폐기할 지 아니면 전달할 지를 결정하게 된다. 따라서 ACL 정의 순서는 매우 중요하다.

스크리닝 라우터로 Firewall 시스템을 구축하는 경우 네트워크와 트랜스포트 계층에서 동작하게 되므로 기존의 사용자의 응용프로그램의 환경변화가 필요없어 사용자에게 투명한 구성이 가능하며 빠른 처리가 가능한 반면 패킷 데이터 공격을 차단할 수 없다는 것과 실제 라우터의 패킷 전달 능력을 저하시켜 인터넷 접속 성능을 떨어뜨린다는 점 그리고 로그기록이 약하다는 단점이 있다.

4.2 Bastion 호스트

 

 

Bastion 호스트는 그 말이 의미하는 것처럼 외부와 내부 네트워크를 방어하는 요새 역할을 담당하는 호스트를 말한다. 어떤 특정 제품을 말한다기보다는 일반적인 호스트 시스템에다 방어기능을 강화한 시스템을 말한다. 해커 또는 불법 침입자의 시스템 악용을 막기 위해 bastion 호스트는 불필요한 사용자 계정과 유틸리티. 명령들을  삭제하며 라우팅 기능을 올리지 않아야 한다. Bastion 호스트는 사용자에 대한 강화된 인증기능을 가져야 하며 모든 사용자에 대한 접근 기록과 모니터링 기능을 가지고 있어야 한다. 외부에서 내부 접속 사용자나 내부에서 외부 네크워크 접속 사용자 모두 bastion 호스트의 인증과정을 거쳐 통신을 하게 된다. 인터넷과 같은 외부 네트워크와 직접 통신할 수 있는 호스트는 bastion 호스트만 가능하게 구성된다.

스크리닝 라우터가 네트워크와 트랜스포트 계층만을 담당하는 것과 달리 Bastion 호스트는 application 계층에서 동작하므로 사용자 인증의 구현과 데이터 공격에 대해 방어할 수 있고 각종 로그기록의 생성이 쉽다는 장점이 있으나 해당 호스트가 공격에 침해를 당한 경우는 모든 내부 네트워크 자원들이 보호받지 못하는 단점이 있다.

4.3 Dual-Homed 게이트웨이

 

 

두개의 네트워크 인터페이스를 가진 Bastion 호스트를 이용한 구성으로 단순한 Bastion 호스트 구성이 외부 네트워크와 내부 네트워크를 논리적으로 구분하는 것과 달리 해당 Bastion 호스트를 기준으로 물리적인 네트워크의 구분을 만들어 낸다.

Dual-homed 게이트웨이 구성은 하나의 네트워크 인터페이스는 인터넷 등 외부 네트워크에 연결되며, 다른 하나의 네트워크 인터페이스는 보호하고자 하는 내부 네트워크에 연결되어 물리적 구분을 만들고 bastion 호스트는 라우팅 기능을 제공하지 않아 내/외부 네트워크 간 직접적인 연결을 막는다.

내 외부 통신을 제공하는 방법은 응용프로그램에 따라 Proxy 서버를 이용하는 방법과 Dual-Homed 게이트웨이에 사용자가 login한 후 해당 서버에서 제공하는 서비스를 이용하여 다시 내부 네트워크로 접근하는 방법이 있다.

Proxy 방법은 제공되는 서비스에 따라 별도의 전용 proxy 서버가 필요하게 된다. 즉, WEB을 사용하기 위해서, WEB proxy가 FTP를 사용하기 위해서는 FTP proxy 서버가 필요하게 된다. 사용자가 login하는 방식은 말 그대로 사용자에게 Dual-Homed 게이트웨이 자체 시스템 login을 허용하는 것으로 보다 강화된 사용자 관리와 불필요한 서비스의 제거, 불필요한 개발 도구와 명령어,유틸리티들이 제거되어야 한다. login 정보 및 서비스 사용에 대한 강력한 로그기록과 유지가 필요하다.

단순한 스크리닝 라우터와 Bastion 호스트에 비해 각각 응용 계층을 감시한다는 것과 물리적으로 네트워크가 분리된다는 점에서 보다 안전한 구성이며 설치 유지보수가 쉽다. 그러나 제공되는 서비스가 증가할수록 필요한 proxy 서버가 증가하여야 하고 다양한 응용 서비스 제공에 제한이 있으며 마찬가지로 Dual-homed 게이트웨이가 해커에 점령당하는 경우 내부 네트워크 자원들이 모두 노출되는 위험이 있다.

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

 

 

Screened Host Gateway는 스크리닝 라우터와 Bastion 호스트를 혼합하여 구성하는 시스템이다. 인터넷과 같은 외부 네트워크에서 내부 네트워크로 들어오는 트래픽에 대해서 스크리닝 라우터는 정해진 패킷 필터링 규칙에 따라 허용 네트워크 주소와 서비스 포트를 검사하고 허용되지 않은 패킷들은 일차 폐기하게 된다. 그리고 허용된 패킷들은 라우터에 모두 bastion 호스트로 전달되도록 정의된 라우팅 정보에 따라 bastion 호스트로 전달되며 bastion 호스트에서 정의된 proxy 서비스에 따라 2차로 네트워크 접속을 차단하게 된다.

내부에서 외부 네트워크로 가는 트래픽들은 먼저 bastion 호스트를 거쳐 서비스 제어를 받게되고 그 다음 bastion 호스트에 의해 전달된 트래픽에 대해 스크리닝 라우터는 해당 트래픽을 전달할 것인지를 판단하게 된다. 스크리닝 라우터에서 내부 네트워크에 대한 라우팅 정보는 모두 bastion 호스트로 가게끔 정의하여야 하며 반대로 내부에서 인터넷으로 가는 라우팅 정보는 모두 bastion 호스트로 전달하게 끔 구성하여야 한다. 경우에 따라서는 내부 사용자의 특정 서비스에 대한 외부 트래픽 요청에 대해서는 직접 스크리닝 라우터를 통과하여 제공받도록 구성할 수도 있다. 이 경우는 proxy 서비스 제공이 불가능한 응용 서비스를 이용할 수 있게 된다. 이 구성에서 주의할 점은 라우팅 정보가 외부 불법 침입자에게 노출되지 않아야 한다는 것이다.

이 구성은 모든 트래픽에 대해 네트워크와 트랜스포트 계층에서 1차 방어를 하고 응용 계층에서 2차로 방어한다는 점에서 매우 안전하며 해커가 공격하기가 더욱 어려워 진다. 하지만 스크리닝 라우터의 부담이 커지고 구축 비용이 커진다는 단점이 있다.

4.5 Screened Subnet Gateway (스크린된 서브네트 게이트웨이)

 

 

Firewall 시스템을 통하여 인터넷과 같은 외부망에서 내부망으로 접속을 제한하게 되지만 인터넷의 불특정 다수에게 내부망의 정보를 공개할 필요가 있는 경우 기존의 내부 접속 기준에 구분이 요구된다. 이 경우 내부 네트워크와 공개용 네트워크를 구분해야 한다. 이러한 필요에 따라 외부 네트워크에 연결된 스크리닝 라우터와 내부 네트워크에 연결된 스크리닝 라우터 사이에 별도의 Subnet을 만들어 외부와 내부 네트워크 간 트래픽을 감시하는 안전지대를 설정하여 다중의 보안성을 확보할 수 있다. 이를 Screened Subnet이라 한다. 해당 Screened Subnet에는 공개용 서버들이 위치하고 더불어 bastion 호스트들이 설치되어 내부 네트워크로 허용된 서비스에 대해 gateway 역할을 담당하게 된다. 결국 외부에서 내부로 접속은 먼저 외부 관문에 놓인 스크리닝 라우터의 정의된 패킷 필터에 따라 screened subnet상의 공개 서버와 bastion 호스트로만 허용이 되며 내부 스크리닝 라우터는 bastion 호스트 자체와 bastion 호스트에서 허용하는 서비스에 대해서만 내부 네트워크로 접속을 허용하게 된다. 외부의 침입자는 직접적으로 screened subnet을 통과하여 내부 네트워크에 접근하는 것이 매우 어렵게 된다. 설혹 bastion 호스트들이 해커에 의해 손상되었다 하더라도 명백히 허용된 서버와 서비스에 대해서만 내부 네트워크와 연결된 스크리닝 라우터를 통과되므로 보다 안전할 수 있다.

다중의 보안시스템들을 통과하여야 하기 때문에 침입이 어려우며 다양한 보안 정책구현이 가능하여 융통성이 뛰어나다. 그러나 설치 및 관리가 어렵고 시스템 구축비용이 많이 든다는 점과 여러군데의 패킷 통과점이 존재하여 모든 트래픽들이 보안 rule 처리를 받는 관계로 서비스 속도가 느려질 수 있다는 단점이 있다.

5. Firewall이 할 수 없는 것

 

Firewall은 항상 외부 네트워크와 내부 네트워크 중간에서 트래픽을 제어하게 된다. 따라서 Firewall을 통과하지 않는 트래픽에 대해서는 전혀 대응할 수 없다. 즉, 공중전화망을 통한 네트워크 접속이 firewall을 거치지 않도록 허용되어있거나 내부자에 의해 무단으로 터미널 서버가 설정된 경우는 전혀 무방비 상태가 된다. 이는 정문을 튼튼히 잠궈 놓고 뒷문을 열어놓은 것과 같은 것이다. 또한 허용된 서비스에 대해서 허용된 패킷안의 데이터를 변조하여 공격하는 기법에 무방비 상태가 된다.

6. Firewall의 추가 기능

 

Firewall 제품들은 기본적인 패킷 필터링과 proxy 서비스 외에 NAT(network address translation)기능을 제공하여 보호되는 내부 네트워크에는 사설을 사용하고 해당 Firewall에서 공인 IP로 변환되도록 할 수 있다. 이는 인터넷과 같은 외부망에서는 알 수 없는 IP address이므로 직접적인 네트워크 접근을 어렵게 하는 보안 장점과 더불어 부족한 IP address를 효과적으로 사용할 수 있도록 하는 장점을 제공한다. 그리고 인터넷의 어디든지 접근 가능하다는 장점을 이용하여 원격지간 안전하게 통신을 보장하는 VPN(Virtual Private Network) 기능을 제공한다. 이 기능은 Firewall 간 IP tunnel을 형성하고 쌍방간 데이터 통신 시 암호화함으로써 안전한 원격통신을 제공하게 된다.

 

 

 

 

 

출처 : http://www.enclue.com/library/system_firewall.html

 

 

 

 

 

댓글