[정보보안기사 PART 05] 네트워크 보안 - 침입차단시스템(Firewall)


Section 29 침입차단시스템(방화벽, Firewall) 개요

 

1. 침입차단시스템(방화벽, Firewall) 개요

 

(1) 기본 개념

1) 정의

 사설 네트워크를 외부로부터 보호하기 위해 공중 네트워크와 사설 네트워크 사이에 설치된 일종의 벽

 인터넷 기반 공격으로부터 내부 네트워크를 보호하고 보안과 감사를 할 수 있는 길목을 한군데로 모은다.

 

2) 특징

 접근제어 목록(ACL)을 통해 네트워크에 전송되는 트래픽에 대한 보안 정책 설정

 사용자에게 가능한 한 투명성을 보장하면서 위험 지대를 줄이고자 하는 적극적인 보안 대책 제공

 기업의 네트워크 보안 정책을 지원하고 집행하는 장비

 특별한 형태의 참조 모니터

 

(2) 방화벽의 기능 및 역할

1) 개요

 내/외부 네트워크 사이에서 접근제어 정책을 구현하는 시스템

 내부 네트워크를 보호하는 역할을 충족시키기 위해서 침입차단시스템은 여러 기능을 제공하기 위한 보안 정책 설정해야 한다.

 

2) 방화벽의 기능

 - 접근 통재

 - 사용자 인증

 - 감사 및 로그 기능

 - 프라이버시 보호

 - 서비스 통제

 - 데이터 암호화

 

3) 방화벽의 역할

 - 취약한 서비스로부터의 보호

 - 집중된 보안

 - 비밀성 향상

 

(3) 방화벽의 한계점

 - 방화벽은 악성 소프트웨어 침투 방어에 한계가 있다.

 - 방화벽은 악의적인 내부 사용자의 공격을 막을 수 없다.

 - 방화벽은 자신을 통화하지 않은 통신에 대한 제어 역시 불가능하다.

 - 방화벽은 전혀 새로운 형태의 공격을 막을 수 없다.

 

 

2. 침입차단시스템의 유형 분류

 

(1) 개요

 네트워크 계층과 전송 계층에서 수행되는 패킷 필터링 시스템과 응용 계층에서 수행되는 응용 게이트웨이 방식의 침입차단시스템으로 구분된다.

 패킷 필터링 시스템은 수신된 패킷의 TCP/IP 헤더 부분만을 이용하여 침입 차단 기능을 수행하는 수동적인 침입차단시스템이라 할 수 있다.

 응용 게이트웨이 방식의 침입차단시스템은 수신된 패킷을 응용 계층의 서비스 단위로 프락시 기능을 이용하여 침입 차단 기능을 수행하는 능동적인 침입차단시스템이라 할 수 있다. 

 

(2) 패킷 필터링 시스템

1) 기본 개념

 일반적으로 패킷 필터링 침입차단시스템에서 사용되는 라우터는 일반적인 라우터에 패킷 필터링 기능을 구현한 것으로서 스크린 라우터 혹은 패킷 필터링 라우터라고 불린다.

 패킷 필터링 시스템은 발신지 주소와 목적지 주소, 그리고 사용하고 있는 세션과 애플리케이션 프로토콜에 기반 해서 데이터의 흐름을 통제한다.

 

2) 패킷 필터링 방법

 패킷의 IP 주소와 서비스 종류에 대한 정보르 이용하여 설정된 보안 규칙에 의해 내부 네트워크를 보호하는 방법

 - 패킷 필터링을 위하여 사용되는 정보

    발신지 IP 주소와 목적지 IP 주소

    발신지 포트 번호와 목적지 포트 번호

    트래픽의 방향(인바운드 혹은 아웃바운드)

    프로토콜의 형태(IP, TCP, UDP, IPX 등)

    패킷의 상태(SYN 혹은 ACK)

 

- IP 주소를 이용한 패킷 필터링

- 서비스를 이용한 패킷 필터링

 

3) 패킷 필터링의 장점

 - 단순성(simplicity)

 - 고속 처리(Fast Processing)

 - 투명성(transparency)

 

4) 패킷 필터링의 단점

 - 응용 서비스별로 정교한 제어가 불가능

 - 로그 기능과 감사 기능 부족

 - 고급 사용자 인증 구조 지원하지 않는다.

 - 네트워크 계층구조 스푸핑 같은 TCP/IP 명세와 프로토콜 스택 안의 문제점을 이용하는 공격이나 그것을 악용하는 공격에 취약하다.

 - 패킷 단편화 공격을 탐지할 수 없다.

 

5) NAT(Network Address Translation)

 패킷 필터링과 상태 유지 방화벽은 NAT라 불리는 제2의 보안체계를 제공

 사설 주소와 범용 주소의 매핑을 제공하고 동시에 가상 사설 네트워크를 지원하는 기술

 

- Static NAT

 사설 주소와 외부주소 2개의 열만 가지는 것

 나가는 패킷의 목적지 주소를 변경할 때 라우터는 패킷이 어디로 가는지 목적지 주소를 표기

 

- Dynamic NAT

 하나의 범용 주소만 사용한다면 하나의 외부 호스트에 하나의 사설 네트워크 호스트만 접속

 

- Port Address Translation

 외부 서버 프로그램과 사설 네트워크의 호스트 간에 다중 연결을 설정하기 위해서는 변환 데이터에 더 많은 정보 필요

 변환 테이블에 2개 대신 5개의 열이 있다면 근원지와 수신지의 포트 주소와 전송 계층 프로토콜을 포함하여 모호성을 제거

 

(3) 스테이트풀 패킷 검사 침입차단시스템

1) 개요

 TCP 연결에 관한 정보 기록

 TCP 순서번호를 추적해서 순서번호를 이용한 세션 하이재킹 같은 공격 막는다.

 네트워크와 전송 계층에서 동작

 

 특징

   각각의 그리고 모든 통신 채널을 추적하는 상태 테이블을 관리

   UDP와 ICMP와 같은 비연결지향적 프로토콜을 추적하는 데이터 제공

   패킷 안의 데이터 상태와 문맥을 갱신하고 저장

 

2) 장단점

 상태 조사 방화벽은 패킷 필터링 방화벽과 동일한 성능을 수행하고 패킷 상태 정보에 대한 보안성을 높일 수 있다.

 또한, 네트워크 계층 이하에서 동작하는 Stateful Packet Inspector 모듈을 통하여 전체 계층에 대한 상태를 조사할 수 잇으며 사용자의 특별한 설정 없이 투명성 제공

 그러나 SYN 패킷의 검사를 시작으로 상태 테이블을 유지시키는 방법을 사용하기 대문에 연결 요청의 첫 패킷 헤더가 공격당할 경우에는 잘못된 상태 테이블을 구성할 수 있는 단점이 있다.

 

(4) 프락시 방화벽(Proxy)

1) 프락시(Proxy) 서비스

장점 단점
- 가능하면 응용프로그램 계층까지 전체적으로 패킷 안의 정보를 검사
- 패킷 필터링보다 나은 보안을 제공
- 보호되는 시스템과 보호되지 않는 시스템 사이의 연결을 차단
- 몇몇 프락시 방화벽은 제한된 응용프로그램 번호만을 지원한다.
- 트래픽 성능이 저하된다.
- 응용프로그램 기반 프락시 방화벽은 확장성과 성능에 대한 논점을 일으킨다.
- 클라이언트/서버 모델을 깨뜨리며, 보안을 위해서는 바람직하지만 몇몇의 경우 기능상의 단점이 있다.

 

2) 배스천 호스트(Bastion Host)

 침입차단 S/W가 설치되어 내, 외부 네트워크 사이에서 게이트웨이 역할을 수행하며 철저한 보안 방어기능이 구축되어 있는 컴퓨터시스템을 말한다.

 

3) 배스천 호스트 설계와 구축의 기본 원리

 - 단순한 구조

 - 비상 대비책 강구

 - 로그 백업 기능

 

4) 응용프로그램 수준 프락시 방화벽(Application Level Proxy, 응용계층 게이트웨이)

 패킷을 응용프로그램 계층까지 검사

 패킷 전체를 이해하고 패킷 내의 내용에 기반을 두어 접근 결정을 내린다.

 FTP GET 명령어와 FTP PUT 명령어를 구분하며, 이렇게 세분화된 수준의 정보를 바탕으로 점근 결정을 내린다.

 

 특징

   응용 서비스마다 각각 다른 응용 게이트웨이를 구현하여 보다 안전하게 내부 네트워크의 시스템을 보호할 수 있다.

   응용 서비스 사용에 따른 기록 및 감사 추적 가능, 강력한 인증 서비스 제공, 융통성 좋음

   스푸핑 공격과 다른 정교한 공격에 대해 대응할 수 있다.

 

 장단점

   높은 대역폭 혹은 실시간 응용프로그램에 일반적으로 적합하지 않다.

   새로운 네트워크 응용프로그램과 프로토콜의 지원에 제한적이다.

   응용 서비스별로 별도의 프락시를 필요로 한다.

 

5) 회선 레벨 게이트웨이(circuit-level gateway)

 SOCKS 프로토콜을 사용하는 프락시 서버

 외부와 내부 네트워크 사이에 안전한 프락시 데이터 채널을 설정하기 위해 메커니즘을 구축하고, 내부 네트워크에 있는 호스트를 보호하는 목적으로 사용

 내부 네트워크의 호스트 보호를 목적으로 한다.

 서비스에 대하여 유연하게 대처할 수 있으며 실제 클라이언트 요청이 전송 또는 세션 계층에서 이루어지므로 서비스마다 개별 프락시 서버를 둘 필요가 없다.

 

 장단점

   장점은 응용 트래픽에 대한 조사가 필요 없으므로 응용 게이트웨이 방화벽에 비해 처리 속도가 빠르다

   높은 수준의 보안 서비스를 제공

   응용 트래픽을 조사하지 않으므로 응용 서비스를 사용하여 공격용 트래픽을 전송할 수 있는 신뢰할 수 없는 사용자에 대해 사용할 경우 위험이 따른다.

 

 

 

3. 침입차단시스템의 종류(구축 형태)

 

1) 스크리닝 라우터 구조(Screening Router Architecture)

 각 인터페이스에 들어오고 나가는 패킷을 필터링하여 내부 서버로의 접근을 가려내는 역할

 연결에 대한 요청이 입력되면 IP, TCP/UDP의 패킷 헤더를 분석하여 송신지/목적지의 주소와 포트번호, 제어필드의 내용을 분석하고 패킷 필터 규칙에 적용하여 트래픽을 통과시킬 것인지 아니면 차단할 것인지를 판별하는 방법이다.

장점 단점
- 구조가 간단하고, 장비 추가비용 소요가 없다.

- 네트워크 계층에서 동작하므로 클라이언트와 서버에 변화가 없어도 된다.

- 하나의 스크리닝 라우터로 보호하고자 하는 네트워크 전체를 동일하게 보호할 수 없다.

- 네트워크 계층과 트랜스포트 계층에 입각한 트래픽만을 방어할 수 있다.
- 세부적인 규칙 적용이 어렵고 많은 규칙을 적용할 경우 라우터에 부하가 걸려 대역폭을 효과적으로 이용할 수 없다
.
- 인증기능 수행은 불가능하며 내부구조를 숨기기 어렵고, 1개의 장애물밖에 없어 방어의 깊이가 약하다.

- 실패한 접속에 대한 로깅을 지원하지 않으며, 패킷 필터링 규칙에 대한 검증이 어렵다.

 

2) 이중 네트워크 호스트 구조(Dual-Homed Host Architecture)

 듀얼홈드는 두 개의 인터페이스를 가지는 장비를 말하며, 하나의 인터페이스는 외부 네트워크와 연결되고 다른 인터페이스는 내부 네트워크로 연결되며, 라우팅 기능이 없는 방화벽을 설치하는 형태

 듀얼홈드 게이트웨이가 배스천호스트 역할을 수행하며 네트워크들이 서로 데이터를 공유할 수 있게 도와줌으로써, 여러 개의 네트워크가 동시에 통신할 수 있도록 지원하는 변환기 역할을 한다.

 네트워크의 모든 패킷을 검사 및 필터링해야하기 때문에 상당히 높은 성능의 시스템이 요구되며 소규모 네트워크에 적합하다.

 

3) 스크린드 호스트 게이트웨이 구조(Screened Host Gateway)

 듀얼-홈드 게이트웨이와 스크리닝 라우터를 결합한 형태로 내부 네트워크에 놓여 있는 배스천호스트와 외부 네트워크 사이에 스크리닝 라우터를 설치하여 구성

 패킷 필터링 또는 스크리닝 라우터의 한 포트를 외부 네트워크에 연결, 다른 포트는 내부 네트워크에 연결하는 구조

 

4) 스크린드 서브넷 구조(Screened Subnet Architecture)

 스크리닝 라우터들 사이에 듀얼 홈드 게이트웨이가 위치하는 구조로 인터넷과 내부 네트워크 사이에 DMZ라는 네트워크 완충지역 역할을 하는 서브넷을 운영하는 방식

 

 

4. iptables

 

1) 개요 및 주요 기능

 리눅스 커널에 내장된 netfilter 기능을 관리하기 위한 툴이며, rule 기반의 패킷 필터링 기능을 제공

 connection tracking(상태 추적) 기능을 제공

 NAT기능 제공

 패킷레벨에서의 로깅기능을 제공

 확장모듈을 통한 다양한 기능 제공

 

 

 

 

 

 

*출처:[알기사] 2019 정보보안기사&산업기사

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

+ Recent posts