방화벽이란?

: 방화벽(防火壁, Firewall)은 미리 정의된 보안 규칙에 기반한, 들어오고 나가는 네트워크 트래픽모니터링하고 제어하는 네트워크 보안 시스템.
일반적으로 신뢰할 수 있는 내부 네트워크와 신뢰할 수 없는 외부 네트워크 간의 장벽을 구성하여, 서로 다른 네트워크를 지나는 데이터를 허용 및 거부, 검열, 수정하는 등의 기능을 갖춘 소프트웨어 또는 그러한 소프트웨어를 구동시키는 하드웨어 장치를 말한다.

방화벽 이미지 (위키백과 참조)


방화벽의 기능

 

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

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

  3. 감사 및 로그 기능(Auditing / Loggging)
    - 정책 설정 및 변경, 관리자 접근, 네트워크 트래픽 허용 또는 차단과 관련한 사항 등 접속 정보를 로그로 남김

  4. 프라이버시 보호 (Privacy Protection)
    - 이중DNS(Dual Domain Name System), 프록시(Proxy) 기능, NAT 기능 등을 제공함으로써 내부 네트워크와 외부 네트워크 간의 중개자 역할을 함으로써 내부 네트워크의 정보 유출을 방지함

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

  6. 데이터 암호화(Data Encryption)
    - 방화벽에서 다른 방화벽까지 전송되는 데이터를 암호화하여 보내는 것으로, 보통 VPN의 기능을 이용

방화벽의 한계점

  1. 악성 소프트웨어 침투 방어에 대한 한계
     일반적으로 방화벽은 패킷의 IP 주소와 포트 번호로 접근 제어를 하므로, 바이러스, 웜(Warm), XSS 코드와 같이 문서 또는 프로그램 내부에 포함된 악성 소프트웨어를 탐지하여 방어하는 데에는 한계점을 지닌다.
    이는 두 네트워크 사이에 존재함으로써 높은 트래픽을 처리해야 하므로, 큰 오버헤드를 감수하면서까지 데이터의 내용까지 검사한다면 네트워크 대역폭의 큰 손실을 가져올 수 있기 때문이다.

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

  3. 전혀 새로운 형태의 공격에 대한 한계
     방화벽은 예측된 접속에 대한 규칙을 세우고 이에 대해서만 방어하므로 새로운 형태의 공격에는 능동적으로 적용하기 어려움

방화벽 동작 방식

 

  1. 패킷 필터링(Packet Filtering) 방식
    - 데이터 링크 계층(OSI Layer 2)에서 네트워크 계층으로 전달되는 패킷을 가로채서 해당 패킷 안의 주소(IP)와 서비스 포트를 검색하여 정의된 보안 규칙에 따라 서비스의 접근 허용 여부를 결정.
    - 가장 기초적인 방화벽 방식으로, 네트워크 계층(OSI Layer 3), 전송 계층(OSI Layer 4)에서 동작하는 방식.
    - 다른 방식에 비해 빠른 속도
    - 비교적 낮은 레이어에서 동작하기 때문에 기존 애플리케이션과 연동 용이
    - 하드웨어에 의존적이지 않으나, 강력한 로깅 기능 및 사용자 인증을 기대하기는 어려움.
    - 패킷 내의 데이터를 활용한 공격 차단 불가.


  2. 상태추적(Stateful Inspection) 방식
    - 2세대 방화벽으로, 패킷 필터링 방식의 내부 데이터를 이용한 공격 취약성을 보완.
    - 네트워크 계층에서 패킷을 처리하면서도 프로토콜의 상태 정보 테이블을 유지하여, 프로토콜 특성에 따른 변화를 동적으로 대응해 주는 방화벽.
    - 기존 패킷 필터링 기능에 Session 추적 기능을 추가하여 일련의 네트워크 서비스의 순서를 추적하고, 순서에 위배되는 패킷들은 모두 차단.
    - 모든 통신 채널에 대해 추적이 가능하며, UDP RPC 패킷 또한 추적이 가능.
    - 상태 목록(State Table)에 DoS나 DDoS 공격으로 인한 거짓 정보가 가득 차게 되면, 장비가 일시적으로 다운될 수 있음.
    - 방화벽을 재구동시, 현재 연결에 대한 모든 정보를 잃어버려 정당한 패킷에 대한 엑세스 거부가 발생할 수 있음.

  3. 어플리케이션 게이트웨이(Application Gateway) 방식
    - 3세대 방화벽으로, 어플리케이션 계층(OSI Layer 7)까지 동작하여 통과하는 패킷의 헤더(Header) 안의 Data 영역까지도 체크하여 통제할 수 있음.
    - 해당 서비스별로 프록시(Proxy)가 구동되어 각 서비스 요청에 대하여 방화벽의 접근 규칙을 적용시키고 연결을 대신하는 역할을 수행. 
    - 패킷 필터링 방식보다 높은 보안 설정 가능하며, 일회용 패스워드를 이용한 강력한 사용자 인증 제공.
    - Session에 대한 정보를 추적할 수 있으며, Content Security가 가능.
    (HTTP, NNTP, FTP 등의 경우, Command level -put, get, post 등까지 제어가 가능.)
    - 네트워크에 많은 부하를 주며, 하드웨어에 의존적.
    - 미리 정의된 어플리케이션만 수용 가능하므로, 다양하고 빠르게 발전하는 인터넷 어플리케이션에 대응하지는 못함.

  4. 서킷 게이트웨이(Circuit Gateway) 방식
    - 세션 계층(OSI Layer 5)과 어플리케이션 계층(OSI Layer 7) 사이에서 접근 제어를 실시하는 방화벽.
    - 사용자측 PC에는 방화벽의 대표 프록시와 통신하기 위한 수정된 클라이언트 프로그램이 필요함.
    - 각 서비스별로 프록시가 존재하는 것이 아닌, 대표 프록시를 이용하므로, 어느 서비스 프로토콜도 방화벽을 적용시킬 수 있음.
    서킷 게이트웨이(Circuit Gateway) 방식의 개념도
    - 수정된 클라이언트 프로그램이 설치된 사용자에 대해서는 별도의 인증 절차 없이 투명한 서비스 제공.
    - 단, 사용자들에게 수정된 클라이언트 프로그램을 배포하거나 사용중인 어플리케이션을 수정해야 하는 번거로움이 있음.

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


참고

https://webstone.tistory.com/136

 

침입차단시스템(Firewall) 개념 및 구성요소

침입차단시스템은 접근제어목록(ACL, Access Control List)을 통해 네트워크에 전송되는 트래픽에 대한 보안 정책을 설정한다. 침입차단시스템의 기본 목적은 네크워크 사용자에게 가능한 한 투명성

webstone.tistory.com

https://m.blog.naver.com/wnrjsxo/221066364387

 

침입차단시스템(방화벽, Firewall)의 종류

1. 패킷 필터링(Packet Filtering) 방식 가장 초기적인 방화벽 방식으로 네트워크 계층과 전송계층에서 ...

blog.naver.com

https://horototo.tistory.com/5?category=228683 

 

ACL (access control list) 접근제어목록 2

이번에도 ACL에 대해서 알아보겠습니다 저번시간에는 Standard 방식의 ACL적용을 알아보았다면 이번에는 Extended 방식의 ACL을 적용시키는 방법을 알아보겠습니다 간단한 토폴로지를 구성하였습니다

horototo.tistory.com

https://prinha.tistory.com/entry/%EB%B0%A9%ED%99%94%EB%B2%BD

 

[Network] Windows 방화벽 - 인바운드 / 아웃바운드

1. 방화벽(Firewall)이란? 네트워크를 통과하는 통신을 허용/거부/검열/수정하는 모듈이다. 네트워크 단계의 인터넷 보안 시스템 중 가장 널리 쓰이는 방법으로, 외부로부터 침입을 막는 벽으로 표

prinha.tistory.com

https://jwprogramming.tistory.com/273

 

방화벽(firewall) 소개 및 정의

오늘은 보안장비중 가장 기본적인 방화벽에 대해 다루며 간만의 포스팅을 올려볼까합니다. 방화벽은 침입차단시스템으로 부르기도 하는데, 우선 사전적 정의로는 '미리 정의된 보

jwprogramming.tistory.com

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기