침입차단시스템(F/W, Firewall)
1. 방화벽 개념
- 인터넷과 같은 외부 네트워크로부터 기업의 내부 네트워크를 보호하는 보안 장치로 외부 네트워크와 내부 네트워크 사이의 유일한 연결점에 위치해 트래픽을 제어하는 시스템을 말한다
- 장점단점
•보안 취약점을 가지고 있는 서비스의 보호
•보안의 집중
•암호를 이용한 데이터의 기밀성과 무결성 제공
•네트워크 사용에 대한 통계자료 제공
•보안 정책 구현•방화벽을 거치지 않은 연결에 대한 무방비
•내부 공격에 대한 무방비
•서비스의 제한
•단일 지점에서의 실패(Single Point of Failure)
•바이러스와 같은 악성 프로그램에 대한 무방비
2. 방화벽의 기능
- 보안 취약점을 지닌 서비스의 보호
- 방화벽은 네트워크 보안을 크게 증대시키고 원천적으로 불안전한 서비스를 필터링함으로써 인트라넷 상에 있는 호스트의 위험은 감소시킨다
- NAT(NetWork Address Translation) 기능
- 방화벽 구축 시 내부 네트워크와 외부 네트워크를 분리시킨 후 내부 네트워크에 존재하는 사용자와 공개용 서버를 위해 가상 Network IP주소를 부여한다
- 패킷 필터링, 접근 제어, 접근 감시, 사용자 인증 및 패킷 암호화, 트래픽 로그 기록 및 감시
3. 방화벽 구성방식
1. Packet Filtering
- 특정한 프로토콜이나 IP 주소, 포트 번호 등을 이용하여 접근을 통제하도록 구성된 형태이다
- 들어오는 IP 패킷에 규칙 모음을 적용하고 전달할 것은 전달하고 폐기할 것은 폐기
- 침입차단시스템은 양쪽 방향에서 들어오는 패킷 모두를 필터링
- 필터링 규칙은 네트워크 패킷에 포함된 정보에 기초
- 발신지 IP 주소(Source IP address)
- 목적지 IP 주소(Destination IP address)
- 발신지와 목적지 전송 계층 주소(Source and destination transport-level address)
- IP 프로토콜 필드(IP protocol field)
- 접근 제어
- 관리자는 방화벽에 통과시킬 접근과 그렇지 않은 접근을 명시
- 방화벽의 가장 기본적인 기능인 접근 제어는 룰셋(Rule Set)을 통해서 수행됨
- ➢ 룰셋은 방화벽을 기준으로 보호하고자 하는 네트워크의 외부와 내부에 존재하는 시스템들의 IP와 포트 단위로 이루어짐
- 번호외부(From)내부(To)동작
1 IP: External
Port: AnyIP: 147.168.100.100
PORT: 80Allow 2 IP: Any
Port: AnyIP: Any
Port: AnyDeny
- 패킷 필터링 방식의 장단점
- 장점단점
•TCP/IP 프로토콜의 인터넷 계층과 전송 계층에서 동작하므로, 기존 응용 프로그램과 연동이 쉽다
•다른 방식에 비해 처리 속도가 빠르다
•하드웨어에 의존하지 않는다
•사용자에게 투명성을 제공한다•패킷을 조작하는 공격(IP 스푸핑, 소스 라우팅 등)에는 매우 취약
•TCP/IP 프토콜의 구조적인 문제 때문에 TCP/IP 프로토콜의 패킷 헤더는 쉽게 조작이 가능하다
•바이러스가 감염된 파일 전송 시 위험한 데이터에 대한 분석이 불가능하다
•접근 통제 리스트의 개수 및 접근 통제 리스트의 순서에 따라 방화벽에 많은 부하를 줄 수 있다
•타 세대 방화벽에 비해 강력한 로깅(Logging) 및 사용자 인증 기능을 제공하지 않는다
2. 응용레벨 게이트웨이(Application Level Gateway)
- 응용-레벨 게이트웨이(Application-Level Gateway)는 프록시 서버라고 한다
- 응용-레벨 트래픽의 중개자 역할을 한다
- 패킷 필터보다 더 안전
- 응용 레벨에서 들어오는 모든 트래픽을 로깅하고 감사하는 것이 용이함
- 응용 별로 프록시 서버를 구축해야 함
- 내부와 외부 2개의 연결이 요구되며 그에 따른 처리량 증가
- 응용별 프록시 서버 기능을 제공하여 패킷 필터링 방식과는 달리 외부와 내부 네트워크 간의 직접적인 패킷 교환을 허용하지 않는다
- 장점단점
•외부 시스템과 내부 시스템은 프록시 서버를 통해서만 연결이 되며, 직접 연결은 허용되지 않기 때문에 내부 네트워크에 대한 경계선 방어 및 내부 네트워크에 대한 정보를 숨기는 것도 가능하다
•패킷 필터링 방화벽보다 높은 수준의 보안 설정이 가능하다
•강력한 로깅 및 감사 기능을 제공한다
•일회용 패스워드를 이용한 강력한 인증 기능을 제공할 수 있다•TCP/IP 프로토콜의 상위 계층인 응용 계층에서 동작하므로 네트워크에 많은 부하를 유발할 수 있다
•일부 서비스에 대해 사용자에게 투명성을 제공하기 어렵다
•하드웨어에 의존적이다
3. 회선레벨 게이트웨이(Circuit Level Gateway)
- 응용-레벨 게이트웨이의 특별한 기능이나 독립적인 시스템으로 운용
- 응용-레벨 게이트웨이에 구현할 경우 한 방향은 응용레벨 게이트웨이로, 다른 방향은 회선레벨 게이트웨이로 스크리닝 하도록 설정하여 사용
- 두 개의 TCP 연결을 설정
- 자신과 내부 호스트의 사용자 사이의 연결
- 자신과 외부 호스트 TCP 사용자 간 연결
- 장점
- 내부 호스트를 숨길 수 있다
- 응용-레벨 게이트웨이보다 비용이나 부하가 낮다
- 단점
- 컨텐트 필터링을 못한다
- 전송 기능과 관련한 소프트웨어 수정이 필요하다
- 전송계층(또는 세션계층) 수준의 프록시 서버를 이용하여 외부와 내부 네트워크 사이의 안전한 데이터 채널을 제공
4. 방화벽 구축 형태
1. Bastion Host
- 침입차단시스템 관리자가 중점 관리하는 핵심 보안 시스템으로서 응용-레벨, 또는 회선-레벨 게이트웨이를 위한 플랫폼으로 이용
- 외부에 노출되어 방어를 담당하는 보안 상의 전략 지점
- 일반 계정을 만들지 않고 해킹의 대상이 될 어떠한 조건도 두지 않는 완벽한 시스템으로 구성
- 관리자가 필수라고 생각하는 서비스만 설치(DNS, FTP, SMTP와 같은 프록시 응용 등)
- 프록시 서비스에 사용자 접근을 허용하기 전에 자체 인증을 요구
- 각 프록시는 모든 연결과 트래픽을 로깅하여 상세한 감사 정보를 유지
- Single-homed Gateway
장점단점
•스크리닝 라우터 방식보다 안전하다 •정보 지향적인 공격을 방어할 수 있다 •각종 기록 정보 생성 및 관리가 쉽다 |
•Bastion 호스트가 손상되면 내부 네트워크를 보호할 수 없다 •로그인 정보가 누출되면 내부 네트워크를 보호할 수 없다 |
2. Secreening Router
- 필터링 기능이 추가된 라우터
- 3계층과 4계층에서 실행되며 IP주소와 포트에 대한 접근 통제가 가능
- 네트워크 수준의 IP 데이터그램에서는 출발지 주소 및 목적지 주소에 의한 스크린 기능
- TCP/UDP 수준의 패킷에서는 포트 번호에 의한 스크린, 프로토콜별 스크린 기능
장점단점
•필터링 속도가 빠르고, 비용이 적게든다 •네트워크 계층에서 동작하므로 클라이언트와 서버에 변화가 없어도 된다 •하나의 스크리닝 라우터로 보호하고자 하는 네트워크 전체를 동일하게 보호할 수 있다 •네트워크 계층과 트랜스포트 계층에 입각한 트래픽만을 방어할 수 있다 |
•패킷 필터링 규칙을 구성하여 검증하기 어렵다 •패킷 내외 데이터에 대한 공격을 차단하지 못한다 •스크리닝 라우터를 통과 혹은 거절당한 패킷에 대한 기록(log)을 관리하기 힘들다 |
3. Dual Homed Gateway
- 두 개의 NIC를 가진 베스천 호스트를 말하며, 하나의 NIC는 외부 네트워크에 연결되고 다른 하나의 NIC는 보호하고자 하는 내부 네트워크에 연결된다
장점단점
•스크리닝 라우터 방식보다 안전하다 •정보 지향적인 공격을 방어할 수 있다 •각종 기록 정보를 생성 및 관리하기 쉽다 •설치 및 유지보수가 쉽다 |
•제공되는 서비스가 증가할수록 proxy 소프트웨어 가격이 상승한다 •게이트웨이가 손상되면 내부 네트워크를 보호할 수 없다 •로그인 정보가 누출되면 내부 네트워크를 보호할 수 없다 |
4. Screened Host Gateway
- 베스천 호스트(Bastion Host)와 스크린 라우터(Screened Router)를 혼합하여 사용한 방화벽이다
- 외부 네트워크와 내부 네트워크 사이에 스크린 라우터를 설치하고, 스크린 라우터와 내부 네트워크 사이에 베스천 호스트를 설치한다
장점단점
•다른 방화벽에 있는 모든 장점이 있으며 융통성도 뛰어나다 •해커들이 침입하려면 통과해야 하는 것이 많아 매우 안전하다 |
•single point of failure, Network delay가 발생할 수 있다 •일반적인 웹 서버로 사용하는 것은 부적절하다 |
5. Screened Subnet Gateway
- 스크린 호스트 게이트웨이의 변형으로, 두 개 이상의 스크린 라우터의 조합을 이용하며 베스천 호스트는 격리된 네트워크인 스크린 서브넷(DMZ) 상에 위치하게 된다
- 비록 베스천 호스트를 통과하여 스크린 서브넷에 접근하였다 할지라도 내부의 스크린 라우터를 통과하여야 하므로 내부 네트워크는 매우 안정적이다
장점단점
•다른 방화벽에 있는 모든 장점이 있으며 융통성도 뛰어나다 •해커들이 침입하려면 통과해야 하는 것이 많아 매우 안전하다 |
•다른 방화벽 시스템들보다 설치하기 어렵고, 관리하기 어렵다 •방화벽 시스템 구축비용이 많다 •서비스 속도가 느리다 |
❖ DMZ 네트워크
- 내부 침입차단시스템과 외부 침입차단시스템 사이에는 DMZ(demilitarized zone) 네트워크라고 하는 영역 안에 한 개 이상의 네트워크에 연결된 장치가 존재
- 외부에서 접속할 수 있어야 하며 보호되어야 할 시스템은 주로 DMZ 네트워크에 배치
- 보통 DMZ 안에 있는 시스템은 회사의 웹사이트, 이메일 서버 또는 DNS 서버와 같이 반드시 외부로 연결할 수 있어야 함
5. 고 가용성(HA, High Availability)
- 가용성을 증대시키기 위한 물리적인 방법을 의미함
1. 일차 백업(Primary Backup) 구조
- Primary Backup 구조는 동일한 기능을 하는 두 개의 방화벽을 네트워크 상에 설치하여 장애에 대비하는 형태이다
- 백업 시스템은 Primary System의 Session 정보들을 넘겨받게 된다
장점단점
•구축이 비교적 용이하며 추가 장비 없이도 구성이 가능하다 •Primary System이 장애를 유발하는 경우 서비스가 중지되지 않고 서비스를 제공할 수 있다 |
•시스템 내부의 특정한 서비스만 중단되는 경우 이를 감지하지 못한다 •시스템의 과부화로 사실상의 서비스가 멈추어 있는 경우 이에 대응하지 못한다 |
2. 부하 분단(Load Sharing) 구조
- 2개 이상의 방화벽이 부하를 분담하는 구조로서 하나의 시스템에 장애가 발생하는 경우 다른 시스템을 통해 지속적인 서비스 제공이 가능
① Dynamic Routing을 이용한 방법
- 비교적 지능적인 OSPF Routing Protocol을 이용하여 지능적으로 Routing 경로를 지정하게 되는 것이다
- 장점단점
•외부 전용선에 대한 대역폭을 비교적 균등하게 나누어서 사용하는 것이 가능하다
•별도의 장비나 추가비용 없이 손쉽게 구축이 가능하다•Router 등의 장비에 설정이 잘못되는 경우 전체 Network의 장애로 유발될 수 있다
•특정 FIREWALL의 장애 시 이와 관련이 있는 내부의 Network 전체의 장애가 발생할 수 있다
•관리자가 원하는 만큼 효과적인 Load Sharing이 구현되지 않는다
② L4 Switch, Load Balancer를 이용한 방법
- Load Sharing 기능을 가지는 전용장비를 이용하는 방법이다
- 장점단점
•내부의 정책에 따라서 여러 가지 형태의 Load 분산 및 공유가 가능하다
•부하 분산에 따른 전체 Network의 성능이 향상된다
•Primary-Backup 시스템 구성에 따른 무정지 시스템의 구축이 가능하다•구성에 따른 추가 비용이 많이 소요된다
•L4 Switch 구성 특성상 Network 전체가 복잡해질 수 있으며 구성이 용이하지 않다
③ Service Sharing
- Service Sharing 구조는 방화벽에 집중되는 Service 요구 중에서 특별히 접속에 대한 요구가 많거나 이로 인해 부하를 유발시키는 경우 이러한 형태의 Service만을 방화벽에서 분리하는 것을 의미한다
6. 방화벽 구축시 고려사항
① 보호하고자 하는 하드웨어, 소프트웨어, 각종 중요한 정보, 시스템 사용자, 시스템 관리에 대한 도큐먼트 등을 정의하고, 방화벽 시스템 구축 시 이를 고려하여야 한다
② 보호하고자 하는 자원 및 정보들에 대한 위협이 어떤 것들이 있는지 분석한다
③ 보호하고자 하는 자원의 중요성이 어느 정도인가를 분석한다
④ 사용자 계정을 가진 사용자만이 네트워크를 사용하도록 할 것인지 비인가자라도 제한된 자원에만 사용하도록 할 것인지를 결정한다
⑤ 보호하고자 하는 네트워크에서 사용 가능한 응용 및 서비스들이 어떤 것들이 존재하는지를 분석한다
⑥ 파일이나 디렉토리 등은 액세스 제어에 의해 보호하고, 네트워크 장비 및 호스트의 보호는 방화벽 시스템 사용 등의 보호 기법을 고려한다.
⑦ 해커 등과 같은 불법 침입자가 시스템 내부에 침입했을 때 취해야 할 대응책을 마련해야 한다
⑧ 보호하고자 하는 네트워크 및 자원들에 변화가 일어났는지 정기적으로 점검하고 기록한다