0. 방화벽의 정의
방화벽( Firewall )은 미리 정의된 보안 규칙에 기반한, 들어오고 나가는 네트워크 트래픽을 모니터링하고
제어하는 네트워크 보안 시스템.
일반적으로 신뢰할 수 있는 내부 네트워크와 신뢰할 수 없는 외부 네트워크 간의 장벽을 구성하여,
서로 다른 네트워크를 지나는 데이터를 허용 및 거부, 검열, 수정하는 등의 기능을 갖춘
소프트웨어 또는 그러한 소프트웨어를 구동시키는 하드웨어 장치를 말한다.
1. 방화벽의 기능
① 접근 통제 ( Access Control )
- 허용된 서비스나 전자우편 서버, 공개정보 서버와 같은 특정 호스트를 제외하고는, 외부에서
내부 네트워크에 접속하는 것을 패킷 필터링( Packet Filtering ), 프록시 ( Proxy ) 방식 등으로
접근을 통제하는 기능.
② 인증 ( Authentication )
- 메시지 인증: VPN 과 같은 신뢰할 수 있는 통신선을 통해 전송되는 메시지, 신뢰성 보장
- 사용자 인증: 방화벽을 지나가는 트래픽에 대한 사용자가 누군지에 대해 증명하는 기능
( OTP, 토큰기반 인증, 패스워드 인증 등 )
- 클라이언트 인증: 모바일 사용자처럼 특수한 경우에 접속을 요구하는 호스트에 대해
인가된 호스트인지 확인
③ 감사 및 로그 기능 ( Auditing / Logging )
- 정책 설정 및 변경, 관리자 접근, 네트워크 트래픽 허용 또는 차단과 관련된 사항 등
접속 정보를 로그로 남김
④ 프라이버시 보호 ( Privacy Protection )
- 2중 DNS( Dual Domain Name System ), 프록시 ( Proxy ) 기능, NAT 기능 등을 제공하여
내부 네트워크와 외부 네트워크 간의 중개자 역할을 하여 내부 네트워크의 정보 유출을 방지함.
⑤ 서비스 통제 ( Service Control )
- 안전하지 못하거나 위험성이 존재하는 서비스를 필터링함으로써 내부 네트워크의 호스트가 가지고 있는
취약점을 감소시킴.
⑥ 데이터 암호화 ( Data Encryption )
- 방화벽에서 다른 방화벽까지 전송되는 데이터를 암호화하여 보내는 것으로, 보통 VPN의 기능을 이용.
2. 방화벽의 한계점
① 악성 소프트웨어 침투 방어에 대한 한계
일반적으로 방화벽은 패킷의 IP 주소와 포트 번호로 접근 제어를 하므로, 바이러스, 웜(Warm), XSS 코드와 같이
문서 또는 프로그램 내부에 포함된 악성 소프트웨어를 탐지하여 방어하는 데에는 한계점을 지닌다.
이는 두 네트워크 사이에 존재함으로써 높은 트래픽을 처리해야 하므로, 큰 오버헤드를 감수하면서까지
데이터의 내용까지 검사한다면 네트워크 대역폭의 큰 손실을 가져올 수 있기 때문이다.
② 악의적인 내부 사용자의 공격에 대한 한계
내부 사용자가 방화벽을 통과하는 통신 선로가 아닌 셀룰러 망이나 사설 통신 선로를 이용하여 통신을 한다면
공격자는 방화벽을 우회하여 내부 네트워크로 접속할 수 있는 경우가 있는데, 내부자가 이를 악용하면 막을 방법이 없다.
③ 전혀 새로운 형태의 공격에 대한 한계
방화벽은 예측된 접속에 대한 규칙을 세우고 이에 대해서만 방어하므로
새로운 형태의 공격에는 능동적으로 적용하기 어려움
3. 방화벽의 동작 방식
① 패킷 필터링 ( Packet Filtering ) 방식
- 데이터 링크 계층(OSI Layer 2)에서 네트워크 계층으로 전달되는 패킷을 가로채서
해당 패킷 안의 주소 ( IP ) 와 서비스 포트를 검색하여 정의된 보안 규칙에 따라 서비스의 접근 허용 여부를 결정.
- 가장 기초적인 방화벽 방식으로, 네트워크 계층 ( OSI Layer 3 ) , 전송 계층 ( OSI Layer 4 ) 에서 동작하는 방식.
- 다른 방식에 비해 빠른 속도
- 비교적 낮은 레이어에서 동작하기 때문에 기존 애플리케이션과 연동 용이
- 하드웨어에 의존적이지 않으나, 강력한 로깅 기능 및 사용자 인증을 기대하기는 어려움.
- 패킷 내의 데이터를 활용한 공격 차단 불가.
② 상태추적 ( Stateful Inspection ) 방식
- 2세대 방화벽으로, 패킷 필터링 방식의 내부 데이터를 이용한 공격 취약성을 보완.
- 네트워크 계층에서 패킷을 처리하면서도 프로토콜의 상태 정보 테이블을 유지하여,
프로토콜 특성에 따른 변화를 동적으로 대응해 주는 방화벽.
- 기존 패킷 필터링 기능에 Session 추적 기능을 추가하여 일련의 네트워크 서비스의 순서를 추적하고,
순서에 위배되는 패킷들은 모두 차단.
- 모든 통신 채널에 대해 추적이 가능하며, UDP와 RPC 패킷 또한 추적이 가능.
- 상태 목록 (State Table)에 DoS나 DDoS 공격으로 인한 거짓 정보가 가득 차게 되면, 장비가 일시적으로 다운될 수 있음.
- 방화벽을 재구동시, 현재 연결에 대한 모든 정보를 잃어버려 정당한 패킷에 대한 엑세스 거부가 발생할 수 있음.
③ 어플리케이션 게이트웨이 ( Application Gateway ) 방식
- 3세대 방화벽으로, 어플리케이션 계층(OSI Layer 7)까지 동작하여 통과하는
패킷의 헤더( Header ) 안의 Data 영역까지도 체크하여 통제할 수 있음.
- 해당 서비스별로 프록시( Proxy )가 구동되어 각 서비스 요청에 대하여 방화벽의 접근 규칙을 적용시키고
연결을 대신하는 역할을 수행.
- 패킷 필터링 방식보다 높은 보안 설정 가능하며, 일회용 패스워드를 이용한 강력한 사용자 인증 제공.
- Session에 대한 정보를 추적할 수 있으며, Content Security가 가능.
(HTTP, NNTP, FTP 등의 경우, Command level -put, get, post 등까지 제어가 가능.)
- 네트워크에 많은 부하를 주며, 하드웨어에 의존적.
- 미리 정의된 어플리케이션만 수용 가능하므로, 다양하고 빠르게 발전하는 인터넷 어플리케이션에 대응하지는 못함
④ 서킷 게이트웨이 ( Circuit Gateway ) 방식
- 세션 계층( OSI Layer 5 )과 어플리케이션 계층( OSI Layer 7 ) 사이에서 접근 제어를 실시하는 방화벽.
- 사용자측 PC에는 방화벽의 대표 프록시와 통신하기 위한 수정된 클라이언트 프로그램이 필요함.
- 각 서비스별로 프록시가 존재하는 것이 아닌, 대표 프록시를 이용하므로,
어느 서비스 프로토콜도 방화벽을 적용시킬 수 있음.
- 수정된 클라이언트 프로그램이 설치된 사용자에 대해서는 별도의 인증 절차 없이 투명한 서비스 제공.
- 단, 사용자들에게 수정된 클라이언트 프로그램을 배포하거나 사용중인 어플리케이션을 수정해야 하는 번거로움이 있음.
⑤ 하이브리드 방식
- 패킷 필터링 방식과 어플리케이션 방식을 혼합.
- 어플리케이션 방식의 최대 단점인 다양한 응용 서비스의 수용을 패킷 필터링 방식으로 제공.
- 내부 보안 정책 및 어플리케이션 등에 맞춰 선택적인 보안 설정 가능.
- 여러 유형의 방화벽 특징을 보유하므로, 커버할 수 있는 범위가 큼.
- 관리가 복잡하며, 설치시 전문적인 네트워크 컨설팅이 필요.
참고
'IT 지식 > IT 정보' 카테고리의 다른 글
해시 ( Hash ) 개념 (0) | 2022.12.15 |
---|---|
방화벽 ( Firewall ) 의 구성 형태 (0) | 2022.12.14 |
SEED 암호화 개념 (0) | 2022.12.12 |
RSA 공개키 암호화 알고리즘 (0) | 2022.12.09 |
웹사이트와 브라우저 (0) | 2022.10.18 |