침입 차단 시스템
(방화벽, Firewall)
방화벽(防火璧)은 일반적으로 화재 발생 시 불이 더 이상 번지지 않도록 불연재(불에 타지 않는 재료)로 만든 벽(또는 시설물)을 의미한다. 컴퓨터 네트워크 분야에서는 해커나 크래커의 불법 침입을 차단하여 정보 유출, 시스템 파괴 등의 보안 문제를 사전에 방지하는 소프트웨어, 혹은 그 소프트웨어가 탑재된 하드웨어로 통용된다. 네트워크 방화벽은 일반적으로 네트워크 구조의 최상단에 위치하며 인터넷과 같은 외부망으로부터 들어오는 접근 시도를 1차로 제어, 통제(허용/거부) 함으로써 내부 네트워크를 보호하는 역할을 한다.
방화벽의 목적
외부 네트워크와 내부 네트워크 사이에 일종의 보호막(방화벽)을 제공하여 내부의 네트워크가 안전하게 유지될 수 있도록 보장.
침입 차단 시스템은 접근제어목록(ACL, Access Control List)을 통해 네트워크에 전송되는 트래픽에 대한 보안정책을 설정한다.
방화벽의 기능
1. 접근통제
외부에서 내부로 통과시킬 접근과 차단할 접근을 결정해서 접근을 허용할지 차단할지 결정한다. 접근 제어 방식은 구현 방법에 따라서 패킷 필터링 방식과, 프록시 방식으로 나뉜다.
2. 인증
방화벽에서 가능한 인증으로 메시지 인증, 사용자 인증, 클라이언트 인증이 있다.
- 메시지 인증 : VPN과 같은 신뢰하는 통신선
- 사용자 인증 : 패스워드, OTP, 토큰 기반
- 클라이언트 인증 : 모바일 사용자 같은 특수한 접속 요구 호스트 자체가 정당한 접속 호스트인지 확인
3. 로깅과 감사추적
허용 또는 거부된 접근에 대한 기록
4. 데이터 암호화
방화벽에서 다른 방화벽까지 전송되는 데이터를 암호화해서 보낸다.
5. NAT
내부 네트워크에서 사설 주소를 소유하고 있다가 이 주소 접근할 때 라우팅이 가능한 외부 공인 주소를 NAT 규칙에 따라 할당받아서 접속
[ NAT의 종류 ]
Normal NAT : 사설 IP 주소를 가진 클라이언트가 외부로 접속할 때 사용
Reverse NAT : 내부에 서버를 운영할 때 사용
Redirect NAT : 목격지 주소를 재지정할 때 사용
Exclude NAT : Normal NAT를 적용받지 않고, 공인 IP 주소를 클라이언트 IP 주소로 쓸 때 사용
6. 프록시 기능
프록시란 대리인이라는 뜻을 가지고 있다. 클라이언트 서비스 요청을 받아, 사이트 보안 정책에 따라서 실제 서비스를 수행하는 서버로 그 요청을 전달하고, 실제 서버로부터 실행 결과를 수행하려 마치 자신이 수행한 것처럼 사용자에게 전달하는 기능
방화벽의 단점 및 한계
1. 바이러스 차단 불가
2. 악의적인 내부 사용자의 공격 차단 불가
3. 자신을 통하지 않는 통신에 대한 제어 불가
4. 새로운 형태의 공격 차단 불가
방화벽의 구조
차단 방법에 따른 분류 ( 계층에 따른 분류 )
1. 패킷 필터링 시스템
1) 패킷 필터링 시스템의 보안 정책
(1) 디폴트 허용 정책 : 나머지 정의되어 있지 않은 모든 패킷을 허용
(2) 디폴트 거부 정책 : 기본적으로 수신된 패킷은 거부하고 허용할 패킷을 정의
동작 계층 : 3, 4 계층
- 로깅과 인증 기능 사용 불가능
2. 스테이트풀 패킷 검사 방화벽 (Statefull packet inspection Firewall)
패킷 필터링 기능 + 상태 테이블(state table; TCP 연결 상태)에 기반을 둔 애플리케이션 접근 제어 수행
동작 계층 : 4계층
3. 회로 레벨 게이트웨이 방화벽
종단 간 TCP 연결을 허용하지 않고 두 개의 TCP 연결을 설정
공용 프락시를 사용
동작 계층 : 5계층
4. 응용 게이트웨이 방화벽
개별 프락시 서비스 사용
사용자 인증
하드웨어에 의존적
동작 계층 : 7계층
구성 방법에 따른 분류
1. 듀얼 홈드 게이트웨이
2. 스크린 호스트 게이트웨이
3. 스크린 서브넷 게이트웨이
*스크리닝 라우터
IP, TCP, 헤더 부분에 포함된 내용만 분석하여 동작하며 내부 네트워크와 외부 네트워크 사이의
패킷 트래픽을 Perm/Drop 하는 라우터이다.
*베스천호스트
내부 네트워크 전면에서 내부 네트워크 전체를 보호하며 외부 인터넷과 내부 네트워크를 연결하는 라우터 뒤에 위치한다. Lock down 된 상태에 있으며 인터넷에서 접근이 가능한 서버이다.
배스천 호스트는 방화벽 시스템이 가지는 기능 중 가장 중요한 기능을 제공하게 된다. 원래 배스천(bastion)은 중세 성곽의 가장 중요한 수비 부분을 의미하는데, 방화벽 시스템 관리자가 중점 관리하게 될 시스템이 된다. 방화벽 시스템의 중요 기능으로서 접근 제어와 응용 시스템, 게이트웨이로서 가상 서버(proxy server)의 설치, 인증, 로그 등을 담당하게 된다. 그러므로 이 호스트는 외부의 침입자가 노리는 시스템이 되므로 일반 사용자의 계정을 만들지 않고 해킹의 대상이 될 어떠한 조건도 두지 않는 가장 완벽한 시스템으로서 운영되어야 한다. 보통 판매되는 방화벽 시스템은 이러한 배스천 호스트를 제공하는 것이라고 보면 된다.
*듀얼 홈드 호스트
2개의 네트워크 인터페이스(NIC)를 가진 배스천호스트로서 하나의 NIC는 내부 네트워크와 연결하고 다른 NIC는 외부 네트워크와 연결한다.
방화벽은 하나의 네트워크에서 다른 네트워크로 IP 패킷을 라우팅하지 않기 때문에 프록시 기능을 부여한다.
*스크린드 호스트
패킷 필터링 호스트(스크린 라우터)와 배스천호스트로 구성되어 있다.
- 패킷 필터링 라우터(스크린 라우터)는 외부 및 내부 네트워크에서 발생하는 패킷을 통과시킬 것인지를 검사하고 외부에서 내부로 유입되는 패킷에 대해서는 배스천호스트로 검사 된 패킷을 전달한다.
- 배스천호스트는 내부 및 외부 네트워크 시스템에 대한 인증을 담당한다.
*스크린드 서브넷(Screened Subnet)
스크린드 호스트의 보안상 문제점을 보완한 모델이다.
스크린 호스트 게이트웨이와 듀얼 홈드 게이트웨이의 변형으로 외부 네트워크와 내부 네트워크 사이에 하나 이상의 네트워크를 두어 내부 네트워크를 외부 네트워크로 분리하기 위한 도구이다.
- 외부 네트워크와 내부 네트워크 사이에 DMZ(Demilitarized Zone)라는 네트워크 완충지역인 서브넷 운영하는 방식으로 볼 수 있다. 이메일 서버, 웹 서버, DNS 서버 등 외부와 내부에서 보호되어야 할 시스템은 주로 DMZ 네트워크에 위치시킨다. (DB 서버는 내부 네트워크에 설치)
[참조]
양대일, 네트워크 해킹과 보안: 정보 보안 개론과 실습, 한빛아카데미
[사진]
http://www.jidum.com/jidums/view.do?jidumId=592
https://ko.m.wikipedia.org/wiki/비무장지대_(컴퓨팅)#/media/파일%3ADemilitarized_Zone_Diagram.png