본문 바로가기
cs

방화벽(Firewall)의 동작 원리

by 이쟝 2023. 4. 10.

방화벽(Firewall)

외부로부터 내부망을 보호하기 위한 네트워크 구성요소의 하나
컴퓨터의 정보보안을 위해 정보통신망 외부 -> 내부, 내부->외부로의 불법 접근을 차단하는 시스템

https://velog.io/@choco_sister/%EB%B0%A9%ED%99%94%EB%B2%BD

방화벽의 기능

  • 접근 제어, 사용자 인증, 감사/로깅, 프록시 기능, 주소변환(NAT), 데이터 암호화 등

1. 접근 통제(Access Control)

  • 허용된 서비스나 전자우편 서버, 공개정보 서버와 같은 특정 호스트를 제외하고는, 외부에서 내부 네트워크에 접속하는 것을 패킷 필터링(Packet Filtering), 프록시(Proxy) 방식 등으로 접근을 통제하는 기능

2. 인증(Authentication)

  • 트래픽에 대한 사용자의 신분을 증명하는 기술
  • 메시지 인증 : VPN과 같은 신뢰할 수 있는 통신선을 통해 전송되는 메시지 신뢰성 보장
  • 사용자 인증 : 방화벽을 지나가는 트래픽에 대한 사용자가 누군지에 대해 증명하는 기능(OTP, 토큰기반 기능, 패스워드 인증 등)
  • 클라이언트 인증 : 모바일 사용자처럼 특수한 경우에 접속을 요구하는 호스트에 대해 인가된 호스트인지 확인

3. 감사 및 로그 기능(Auditing / Logging)

  • 트래픽에 대한 접속 정보 기록, 네트워크 사용에 대한 통계 제송
  • 정책 설정 및 변경, 관리자 접근, 네트워크 트래픽 허용 또는 차단과 관련한 사항 등 접속 정보를 로그로 남김

4. 프라이버시 보호(Privacy protection)

  • 이중DNS(Dual Domain Name System), 프록시(Proxy) 기능, NAT 기능 등을 제공함으로써 내부 네트워크와 외부 네트워크 간의 중개자 역할을 함으로써 내부 네트워크의 정보 유출을 방지함
    • Proxy 기능 : Client 요청을 받아 보안 정책에 따라 서비스를 수행하는 서버로, 서비스 요청을 전달하고 실행 결과를 수신해 사용자에게 전달함 
    • NAT(Network Address Translation) : 사설 주소와 범용 주소를 매핑 시켜서 가상 사설 네트워크를 지원하는 기술
      • 발신지 호스트의 IP주소나 목적지 호스트의 IP주소를 전송단계에서 변경해 전달하는 기능

5. 서비스 통제(Service Control)

  • 안전하지 못하거나 위험성이 존재하는 서비스를 필터링함으로써 내부 네트워크의 호스트가 가지고 있는 취약점을 감소시킴

6. 데이터 암호화(Data Encryption)

  • 방화벽에서 다른 방화벽까지 전송되는 데이터를 암호화해 보내는 것으로, 보통 VPN의 기능을 이용

  네트워크(일반) 방화벽 웹 방화벽
 판단
여부
네트워크에 돌아다니고 있는 패킷이 정상인지 아닌지를 판단 패킷이 아닌 사용자의 URL이 정상이고 올바른 요청인지 판단
OSI 7 Layer 패킷이 돌아다니게 되는 L3~L4(Network layer)레벨에 동작 HTTP/HTTPS 요청이 있는 L7(Application Layer)레벨에서 동작

일반(네트워크) 방화벽의 기본동작방식과 웹 방화벽의 동작 방식

응용계층(5), 표현계층(6), 세션계층(7) HTTP
전송계층(4) TCP/UDP 패킷 필터링 방화벽 제어 영역
네트워크 계층(3) IP
데이터링크 계층(1), 물리 계층(2) 이더넷

1. 패킷 필터링(Packet Filtering) 방식

  • 가장 기초적인 방화벽 방식으로, 동작 구간은 OSI Layer3(네트워크 계층), Layer4(전송계층)
  • 내부망, 외부망 사이에 존재해 특정 트래픽을 허용/차단하는 단순한 형태의 방화벽
  • 패킷의 수신측 IP주소와 웹 서버의 IP 주소에 일치하는 패킷을 통과시킨다. 
  • 패킷 헤더정보 조사 : TCP 또는 UDP 헤더의 포트를 이용해 수신측과 송신측의 포트번호가 일치하는 경우 통과한다.
장점 단점
다른 방식에 비해 빠른 속도  패킷 내의 데이터를 활용한 공격 차단 불가함
낮은 레이어에서 동작하기 때문에 비교적 속도가 빠르고, 기존 애플리케이션과 연동이 용이함 하드웨어에 의존적이지 않으나 강력한 로깅 기능/사용자 인증 불가

2. 상태 추적(분석 : Stateful Inspection) 방식

  • 2세대 방화벽으로, 패킷 필터링 방식의 내부 데이터를 이용한 공격 취약성을 보완, 패킷이 아닌 네트워크 연결 상태를 분석함
  • 네트워크 계층에서 패킷을 처리하면서도 프로토콜의 상태 정보 테이블을 유지해, 프로토콜 특성에 따른 변화를 동적으로 대응해 주는 방화벽
  • 기존 패킷 필터링 기능 + 세션 추적 기능 => 일련의 네트워크 서비스의 순서를 추적하고, 순서에 위배되는 패킷들은 차단함
  • 모든 통신 채널에 대해 추적이 가능하고, UDP와 RPC 패킷 또한 추적 가능
  • 세션 단위로 모니터링하여 패킷을 필터링하게 되며 패킷의 정보뿐만 아니라 세션의 생성이후 종료까지 전송되는 패킷을 별도로 관리할 수 있어 세션에 대한 보안규칙을 정하면 개별 패킷을 신경쓰지 않아도된다.
  • 미리 정한 보안규칙이 많아질수록 성능 저하가 발생할 수 있으며 수만 개의 세션을 생성하는 대규모 공격(Dos, DDos)같은 경우에 성능 저하 또는 무력화될 수 있다는 단점이 존재한다.
  • 방화벽을 재구동시, 현재 연결에 대한 모든 정보를 잃어버려 정당한 패킷에 대한 엑세스 거부가 발생할 수 있다.

3. 웹 방화벽(Web Application Firewall) - Application Gateway

  • 3세대 방화벽으로, 어플리케이션 계층(OSL Layer 7)까지 동작해 패킷의 헤더(Header)안의 Data 영역까지도 체크해 통제 할 수 있음
  • 해당 서비스 별로 프록시(Proxy)가 구동되어 각 서비스 요청에 대해 방화벽의 접근 규칙을 적용시키고 연결을 대신하는 역할을 수행함
    • 프록시 서버는 클라이언트와 서버간의 통신을 중계하고 응답하는 역할을 하는데, 웹 방화벽의 원리는 웹 서버에 들어오고 나가는 모든 패킷을 Proxy Server 원리를 적용해 패킷을 내용하고 검사하고 차단
  • 패킷 필터링 방식보다 높은 보안 설정이 가능하고, 일회용 패스워드를 이용한 강력한 사용자 인증 제공 가능
  • 세션에 대한 정보를 추적할 수 있고, Content Security가능

단점

  • 네트워크에 많은 부하를 주고, 하드웨어에 의존적
  • 미리 정의된 어플리케이션만 수용 가능하기 때문에 다양하고 빠르게 발전하는 인터넷 어플리케이션에 대응하지는 못함

웹 방화벽의 동작원리

웹 서버쪽으로 전송되는 모든 HTTP Request Packet을 검사해 Web Application에게 의도하지 않은 내용들을 전송하지 못하도록 막는 역할
웹 서버에서 통과하는 HTTP Reply Packet 내용을 감시해 특정 정보의 유출을 막는 역할

웹 사이트의 구조와 동작원리

  • Web Application : 일상 생활에서 홈페이지나 대부분의 서비스
  • 웹 공격의 대부분은 Web Application을 구축할 때 생겨나는 취약점을 이용해서 웹 서버를 공격하거나(1) DB의 내용을 악용해 정보를 탈취하거나 노출(2)을 시킨다. 
  • 공격자는 HTTP Request에 특정 공격코드 또는 특정 Web Application만이 가지고 있는 취약점을 우회하는 코드를 삽입해 웹 서버에 전송한다.
  • 여기서 Web Application은 의도하지 않은 동작을 하게 되는데 그 결과를 HTTP Reply를 통해 공격자에게 다양한 정보들을 전송하게 된다. => 이 때 필요한 것이 웹 방화벽

4. 서킷 게이트웨이(Circuit Gateway) 방식

  • 세션 계층(OSI Layer 5)과 어플리케이션 계층(OSI Layer 7) 사이에서 접근 제어를 실시하는 방화벽
  • 사용자측 PC에는 방화벽의 대표 프록시와 통신하기 위한 수정된 클라이언트 프로그램이 필요
  • 각 서비스별로 프록시가 존재하는 것이 아닌, 대표 프록시를 이용하기 떄문에 어느 서비스 프로토콜도 방화벽을 적용시킬 수 있음

서킷 게이트웨이(Circuit Gateway) 방식의 개념도

장점 단점
수정된 클라이언트 프로그램이 설치된 사용자에 대해서는 별도의 인증 절차 없이 투명한 서비스 제공 사용자들에게 수정된 클라이언트 프로그램을 배포하거나 사용중인 어플리케이션을 수정해야 하는 번거로움이 있음 

5. 하이브리드 방식

  • 패킷 필터링 방식 + 애플리케이션 방식 
  • 애플리케이션 방식의 최대 단점인 다양한 응용 서비스의 수용을 패킷 필터링 방식으로 제공
  • 내부 보안 정책 및 애플리케이션 등에 맞춰 선택적인 보안 설정 가능
  • 여러 유형의 방화벽 특징을 보유하기에, 커버할 수 있는 범위 큼
  • 관리가 복잡, 설치 시 전문적인 네트워크 컨설팅 필요

방화벽의 한계점

1. 악성 소프트웨어 침투 방어에 대한 한계

  • 일반적으로 방화벽은 패킷의 IP주소와 포트 번호의 접근 제어를 하기 때문에 바이러스, 웜(Warm), XSS 코드와 같이 문서 또는 프로그램 내부에 포함된 악성 소프트웨어를 탐지해 방어하는 데에는 한계점을 지닌다. 

2. 악의적인 내부 사용자의 공격에 대한 한계

  • 내부 사용자가 방화벽을 통과하는 통신 선로가 아닌 셀룰러 망이나 사설 통신 선로를 이용해 통신을 한다면 공격자는 방화벽을 우회해 내부 네트워크로 접속할 수 있는 경우가 있는데, 내부자가 이를 악용하면 막을 방법이 없다

3. 전혀 새로운 형태의 공격에 대한 한계

  • 방화벽은 예측된 접속에 대한 규칙을 세우고 이에 대해서만 방어하기 때문에 새로운 형태의 공격에는 능동적으로 적용하기 어렵다.

방화벽

 

 

 

 

 

 

 

 

 

 


[네트워크] 방화벽의 동작원리

웹 방화벽의 개념과 원리

[네트워크] 방화벽(Firewall) (1) - 개념, 기능, 동작방식

[네트워크 - 방화벽(Firewall)]