본문 바로가기
서버 및 보안

(번역) Firewall (computing)

by 다움위키 2025. 2. 21.

원문 보기: https://dawoum.duckdns.org/wiki/Firewall_(computing)

 

Original article: w:Firewall (computing)

컴퓨팅에서, 방화벽은 구성 가능한 보안 규칙을 기반으로 들어오고 나가는 네트워크 트래픽모니터링하고 제어하는 ​​네트워크 보안 시스템입니다. 방화벽은 전형적으로 신뢰할 수 있는 네트워크와 신뢰할 수 없는 네트워크, 예를 들어, 인터, 또는 여러 VLAN 사이에 장벽을 설립합니다.

History

방화벽이라는 용어는 원래 인접한 건물로 이루어진 선 내에서 화재를 한정하기 위해 의도된 벽을 지칭했습니다. 나중에 차량이나 항공기의 엔진실과 승객실을 분리하는 금속판과 같은 유사한 구조물을 지칭하기 위해 사용되었습니다. 그 용어는 1980년대에 인터넷이 전 세계적으로 사용되고 연결성이 매우 낮았던 시기에 등장한 네트워크 기술에 적용되었습니다. 네트워크 보안을 위한 방화벽의 전신은 1980년대에 사용된 라우터였습니다. 그것들은 이미 네트워크를 분리했기 때문에, 라우터는 네트워크를 통과하는 패킷에 필터링을 적용할 수 있었습니다.

방화벽이 실제 컴퓨팅에 사용되기 전에, 그 용어는 1983년 John Badham의 컴퓨터-해킹 영화 WarGames에 수염을 기르고 안경을 쓴 Paul Richter라는 프로그래머가 대사를 말하면서 등장했는데, 이것이 나중에 이 용어가 사용되게 된 계기가 되었을 가능성이 있습니다.

가장 초기의 상업적으로 성공한 방화벽 및 네트워크 주소 변환 (NAT) 제품 중 하나는 John Mayes에 의해 설립되고 운영되는 신생 기업, Network Translation Inc.에 의해 1994년에 발명한 PIX (Private Internet eXchange) 방화벽이었습니다. PIX 방화벽 기술은 컨설턴트 소프트웨어 개발자로 Brantley Coile에 의해 코딩되었습니다. 새로운 IPv4 주소 고갈 문제를 인식한 그들은 제한된 수의 등록된 IP 주소를 사용하여, 조직이 개인 네트워크를 공용 인터넷에 안전하게 연결할 수 있도록 PIX를 설계했습니다. 혁신적인 PIX 해결책은 빠르게 업계의 찬사를 받았으며, 1995년 1월 Data Communications Magazine에서 권위 있는 "올해의 인기 제품" 상을 수상했습니다. 빠르게 성장하는 네트워크 보안 시장으로 확장하고자 했던 Cisco Systems는 이후 1995년 11월에 Network Translation Inc.를 인수하여 PIX 기술에 대한 권리를 획득했습니다. PIX는 결국 2005년에 도입된 Adaptive Security Appliance (ASA) 플랫폼으로 대체되기 전에 Cisco의 주력 방화벽 제품군 중 하나가 되었습니다.

Types of firewall

방화벽은 네트워크-기반 또는 호스트-기반 시스템으로 분류됩니다. 네트워크-기반 방화벽은 전형적으로 Local Area Network (LAN)과 Wide Area Network (WAN) 사이에 두 개 이상의 네트워크 사이에 배치되며, 기본 기능은 연결된 네트워크 사이의 데이터 흐름을 제어하는 ​​것입니다. 그것들은 일반적인-목적 하드웨어에서 실행되는 소프트웨어 어플라이언스, 특수-하드웨어에서 실행되는 하드웨어 어플라이언스, 또는 하이퍼바이에 의해 제어되는 ​​가상 호스트에서 실행되는 가상 어플라이언스입니다. 방화벽 어플라이언스는 DHCP 또는 VPN 서비스와 같은 비-방화벽 기능을 제공할 수도 있습니다. 호스트-기반 방화벽은 네트워크 트래픽 또는 기타 컴퓨팅 자원을 제어하기 위해 호스트 자체에 직접 배포됩니다. 이것은 운영 시스템의 일부로 데몬 또는 서비스이거나 보호를 위한 에이전트 응용 프로그램일 수 있습니다.

Packet filter

보고된 첫 번째 유형의 네트워크 방화벽은 패킷 필터라고 불리며, 컴퓨터 사이에 전송되는 패킷을 검사합니다. 방화벽은 어떤 패킷이 조사되고 어떤 조치가 적용되어야 하는지를 지시하는 접근-제어 목록을 유지하며, 어떤 것이라도 있다면, 기본 조치는 자동 삭제로 설정되어 있습니다. 패킷과 관련된 세 가지 기본 조치는 자동 삭제, 보낸 사람에게 인터넷 제어 메시지 프로토콜 또는 TCP 재설정 응답을 갖는 삭제, 및 다음 홉으로 전달로 구성됩니다. 패킷은 소스 및 대상 IP 주소, 프로토콜, 또는 소스 및 대상 포트로 필터링될 수 있습니다. 20세기와 21세기 초의 대부분의 인터넷 통신은 -알려진 포트와 함께 전송 제어 프로토콜 (TCP) 또는 사용자 데이터그램 프로토콜 (UDP)을 사용하여 당시 방화벽이 웹 브라우징, 원격 인쇄, 이메일 전송, 및 파일 전송과 같은 특정 유형의 트래픽을 구별할 수 있도록 했습니다.

방화벽 기술에 대한 최초의 논문은 1987년에 Digital Equipment Corporation (DEC)의 엔지니어들이 패킷 필터 방화벽이라고 알려진 필터 시스템을 개발했을 때 발표되었습니다. AT&T Bell Labs에서, Bill CheswickSteve Bellovin은 패킷 필터링 연구를 계속했고 원래의 1세대 아키텍처를 기반으로 자체 회사를 위한 작업 모델을 개발했습니다. 1992년에, Steven McCanne과 Van Jacobson은 Lawrence Berkeley Laboratory에 있는 동안 BSD 패킷 필터 (BPF)에 대한 논문을 발표했습니다.

Connection tracking

1989–1990로부터, AT&T Bell Laboratories에서 세 명의 동료, Dave Presotto, Janardan Sharma, 및 Kshitij Nigam이 2세대 방화벽을 개발하여, 이를 회로-수준 게이트웨이라고 불렀습니다.

2세대 방화벽은 1세대 방화벽의 임무를 수행하지만 OSI 모델의 4계층 (전송 계층)에서 두 IP 주소가 대화를 위해 사용하는 포트 번호를 기억함으로써 엔드포인트 사이의 특정 대화의 지식도 유지하여, 노드 사이의 전체 교환을 검사할 수 있습니다.

Application layer

Main article: Application firewall

Marcus Ranum, Wei Xu, 및 Peter Churchyard는 1993년 10월 Firewall Toolkit (FWTK)이라는 응용 프로그램 방화벽을 출시했습니다. 이것은 Trusted Information Systems에서 Gauntlet 방화벽에 대한 기반이 되었습니다.

응용 계층 필터링의 주요 이점은 File Transfer Protocol (FTP), Domain Name System (DNS), 또는 Hypertext Transfer Protocol (HTTP)와 같은 특정 응용 프로그램과 프로토콜을 이해할 수 있다는 것입니다. 이것은 비-표준 포트를 사용하여 원치 않는 응용 프로그램이나 서비스를 식별하거나, 허용된 프로토콜이 남용되고 있는지 감지할 수 있습니다. 그것은 역시 강제 암호화된 DNS가상 사설망을 포함한 통합 보안 관리를 제공할 수도 있습니다.

2012년 기준, 차세대 방화벽은 응용 계층에서 더 광범위한 검사를 제공하여, 심층 패킷 검사 기능을 확장하여 다음을 포함하되 이에 국한되지 않습니다:

Endpoint specific

엔드포인트-기반 응용 프로그램 방화벽은 프로세스가 주어진 임의의 연결을 수락해야 하는지 여부를 결정함으로써 기능합니다. 응용 프로그램 방화벽은 데이터 전송에 관련된 지역 프로세스에 대해 규칙 모음에 대해 데이터 패킷의 프로세스 ID를 검사함으로써 연결을 필터링합니다. 응용 프로그램 방화벽은 소켓 호출에 연결하여 응용 계층과 하위 계층 사이의 연결을 필터링함으로써 기능을 수행합니다. 소켓 호출에 연결되는 응용 프로그램 방화벽은 소켓 필터라고도 참조됩니다.

Firewall Policies

방화벽의 운영의 핵심은 의사-결정 프로세스를 제어하는 ​​정책입니다. 이들 정책은, 집합적으로 방화벽 규칙이라고도 하며, 네트워크 경계를 가로질러 허용되거나 차단되는 트래픽을 결정하는 특정 지침입니다.

방화벽 규칙은 미리 정해진 보안 기준에 대한 네트워크 패킷의 평가를 기반으로 합니다. 네트워크를 통해 데이터를 전달하는 네트워크 패킷은 방화벽을 통과하도록 허락되는 규칙에 정의된 특정 속성과 일치해야 합니다. 이들 속성에는 공통적으로 다음이 포함됩니다:

  • Direction: 인바운드 또는 아웃바운드 트래픽
  • Source: 트래픽이 발생한 위치 (IP 주소, 범위, 네트워크, 또는 존)
  • Destination: 트래픽이 향하는 위치 (IP 주소, 범위, 네트워크, 또는 존)
  • Port: 다양한 서비스에 특화된 네트워크 포트 (예를 들어, HTTP에 대해 포트 80)
  • Protocol: 네트워크 프로토콜의 유형 (예를 들어, TCP, UDP, ICMP)
  • Applications: L7 검사 또는 그룹화 av 서비스.
  • Action: 트래픽에 대해 허용, 거부, 삭제, 또는 추가 검사를 요구할지 여부

Zones

존은 네트워크 내에서 유사한 보안 요구 사항을 가진 장치를 그룹화하는 논리적 분할입니다. 네트워크를 "기술", "WAN", "LAN", "공용", "개인", "DMZ", 및 "무선"과 같은 존으로 분할함으로써, 관리자는 이들 사이의 트래픽 흐름을 제어하는 ​​정책을 시행할 수 있습니다. 각 존은 고유한 신뢰 수준을 가지고 데이터의 유입 및 유출을 규제하는 특정 방화벽 규칙에 의해 관리됩니다.

전형적으로 기본값은 LAN에서 WAN으로의 모든 트래픽을 허용하고 WAN에서 LAN으로의 모든 트래픽을 버리는 것입니다.

Services

네트워킹 용어로, 서비스는 전형적으로 네트워크 포트와 프로토콜로 식별되는 특정 기능입니다. 공통적인 예로는 포트 80 및 443의 HTTP/HTTPS (웹 트래픽), 포트 21의 FTP (파일 전송), 및 포트 25의 SMTP (이메일)가 있습니다. 서비스는 사용자가 의존하는 응용 프로그램의 엔진입니다. 보안 측면에서, 서비스에 대한 접근을 제어하는 ​​것은 서비스가 공통적인 악용 대상이기 때문에 매우 중요합니다. 방화벽은 어떤 서비스에 접근할 수 있는지, 누가, 어떤 상황에서 접근할 수 있는지 규정하는 규칙을 사용합니다. 예를 들어, 방화벽은 승인되지 않은 파일 업로드를 방지하기 위해 들어오는 FTP 요청을 차단하지만 웹 브라우징을 위해 나가는 HTTPS 요청을 허용하도록 구성될 수 있습니다.

Applications

응용 프로그램은 사용자가 네트워크에 있는 동안 상호 작용하는 소프트웨어 시스템을 말합니다. 그것들은 웹 브라우저와 이메일 클라이언트부터 복잡한 데이터베이스 시스템과 클라우드-기반 서비스에 이르기까지 다양합니다. 네트워크 보안에서, 응용 프로그램은 다양한 유형의 트래픽이 다양한 보안 위험을 초래할 수 있기 때문에 중요합니다. 따라서, 방화벽 규칙은 트래픽을 생성하거나 수신하는 응용 프로그램에 따라 트래픽을 식별하고 제어하도록 만들 수 있습니다. 응용 프로그램 인식을 사용함으로써, 방화벽은 조직의 정책 및 규정 준수 요구 사항에 따라 특정 응용 프로그램에 대한 트래픽을 허용, 거부, 또는 제한할 수 있으므로, 취약하거나 원치 않는 응용 프로그램의 잠재적 위협을 완화할 수 있습니다.

신청은 서비스 그룹이 될 수도 있고 L7 검사가 될 수도 있습니다.

USER ID

IP 주소에만 기반한 방화벽 규칙을 구현하는 것은 사용자 위치와 장치 사용법의 동적 특성으로 인해 종종 충분하지 않습니다. 사용자 ID는 IP 주소로 변환될 것입니다.

이것은 "사용자 ID"의 개념이 상당한 영향을 만드는 곳입니다. 사용자 ID는 방화벽 규칙을 고정된 소스 또는 대상 IP 주소가 아닌 개별 사용자 신원을 기반으로 만드는 것을 허용합니다. 이것은 연결 위치나 사용 기기에 관계없이 특정 네트워크 자원에 접근할 수 있는 사람에 대한 보다 세부적인 제어를 활성화함으로써 보안을 강화합니다.

사용자 ID 기술은 전형적으로 Active Directory, LDAP, RADIUS 또는 TACACS+와 같은 디렉터리 서비스의 사용을 통해 방화벽 시스템에 통합됩니다. 이들 서비스는 사용자의 로그인 정보를 네트워크 활동에 연결합니다. 이렇게 함으로써, 방화벽은 네트워크 토폴로지에 순수히 의존하는 대신 사용자 그룹, 역할, 또는 개별 사용자 계정에 해당하는 규칙과 정책을 적용할 수 있습니다.

Example of Using User ID in Firewall Rules

학생으로부터 소셜 미디어 서버에 대한 접근을 제한하기를 원하는 학교를 생각해 보십시오. 그들은 방화벽에서 사용자 ID 정보를 이 정책을 강제하기 위해 활용하는 규칙을 만들 수 있습니다.

  1. 디렉터리 서비스 구성 — 먼저, 방화벽은 사용자 그룹 멤버십을 저장하는 디렉터리 서비스와 통신하도록 구성되어야 합니다. 이 경우에서, 활성 디렉토리 서버입니다.
  2. 사용자 식별 — 방화벽은 인증 로그를 해석함으로써 네트워크 트래픽을 특정 사용자 ID에 매핑합니다. 사용자가 로그인할 때, 방화벽은 해당 로그인을 사용자의 IP 주소와 연결합니다.
  3. 사용자 그룹 정의 — 방화벽의 관리 인터페이스 내에서, 디렉토리 서비스를 기반으로 사용자 그룹을 정의합니다. 예를 들어, "학생"과 같은 그룹을 만듭니다.
  4. 방화벽 규칙을 만듭니다:
    • Source: 사용자 ID (예를 들어, 학생)
    • Destination: IP 주소의 목록
    • Service/Application: 허가된 서비스 (예를 들어, HTTP, HTTPS)
    • Action: 거부
  5. 기본 허가 규칙을 구현:
    • Source: LAN
    • Destination: WAN
    • Service/Application: Any
    • Action: 허가

이 설정과 함께, 인증을 받고 "학생"의 멤버로 식별된 사용자만 소셜 미디어 서버에 접근을 거부합니다. LAN 인터페이스에서 시작하는 다른 모든 트래픽은 허용됩니다.

Most common firewall log types

Traffic Logs:

  • Description: 트래픽 로그는 네트워크를 통과하는 데이터에 대한 포괄적인 세부 정보를 기록합니다. 여기에는 소스 및 대상 IP 주소, 포트 번호, 사용된 프로토콜, 및 방화벽에 의해 수행된 작업 (예를 들어, 허용, 버림, 또는 거부)이 포함됩니다.
  • Significance: 네트워크 관리자가 장치 사이의 통신 패턴을 분석하고 이해하여, 문제 해결과 네트워크 성능 최적화에 도움이 되는 데 필수적입니다.

Threat Prevention Logs:

  • Description: 보안 위협과 관련된 정보를 수집하기 위해 특별히 설계된 로그입니다. 여기에는 침입 방지 시스템 (IPS), 바이러스 백신 이벤트, 봇 방지 탐지, 및 기타 위협-관련 데이터의 경고가 포함됩니다.
  • Significance: 잠재적인 보안 침해를 식별하고 대응하는 데 필수적이며, 보안팀이 네트워크를 보호하기 위해 적극적으로 나설 수 있도록 지원합니다.

Audit Logs:

  • Description: 방화벽 구성에 대한 관리 작업 및 변경 사항을 기록하는 로그입니다. 이들 로그는 보안 및 규정 준수 목적으로 관리자에 의해 변경된 사항을 추적하는 데 중요합니다.
  • Significance: 관리 활동에 대한 자세한 역사를 제공하고, 조사를 돕고, 보안 정책을 준수하도록 보장함으로써 감사 및 규정 준수 노력을 지원합니다.

Event Logs:

  • Description: 방화벽에서 발생하는 다양한 이벤트를 포획하는 일반 이벤트 로그로, 관리자가 문제를 모니터링하고 해결하는 데 도움이 됩니다.
  • Significance: 방화벽 활동에 대한 전체적인 관점을 제공하여, 네트워크 인프라 내의 모든 이상이나 성능 문제를 식별하고 해결하는 데 도움이 됩니다.

Session Logs:

  • Description: 세션 시작 및 종료 시간, 데이터 전송 속도, 및 관련 사용자 또는 장치 정보를 포함하여 설정된 네트워크 세션에 대한 정보를 제공하는 로그입니다.
  • Significance: 실-시간으로 네트워크 세션을 모니터링하고, 비정상적인 활동을 식별하고, 네트워크 성능을 최적화하는 데 유용합니다.

DDoS Mitigation Logs:

  • Description: 방화벽에 의해 네트워크를 보호하기 위해 취해진 완화 조치를 포함하여 분산 서비스 거부 (DDoS) 공격과 관련된 이벤트를 기록하는 로그입니다.
  • Significance: DDoS 공격을 신속하게 식별하고 완화하고, 네트워크 자원을 보호하고, 중단 없는 서비스 가용성을 보장하는 데 중요합니다.

Geo-location Logs:

  • Description: 네트워크 연결의 지리적 위치에 대한 정보를 캡처하는 로그입니다. 이것은 지리적 지역에 따라 접근을 모니터링하고 제어하는 ​​데 유용할 수 있습니다.
  • Significance: 특정 지리적 위치에서 발생하는 의심스러운 활동을 탐지하고 방지하여 보안을 강화하고, 잠재적 위협에 대한 보다 강력한 방어에 기여합니다.

URL Filtering Logs:

  • Description: 웹 트래픽 및 URL 필터링과 관련된 데이터를 기록합니다. 여기에는 차단 및 허용된 URL에 대한 세부 정보와 사용자에 의해 접근된 웹사이트 카테고리가 포함됩니다.
  • Significance: 조직이 웹 활동을 모니터링하고 제어하여 인터넷 접근을 관리하고, 허용 가능한 사용 정책을 시행하고, 전반적인 네트워크 보안을 강화할 수 있도록 지원합니다.

User Activity Logs:

  • Description: 인증 이벤트, 사용자 로그인/로그아웃 세부 정보, 사용자별 트래픽 패턴 등 사용자별 정보를 수집하는 로그입니다.
  • Significance: 사용자 행동 추적, 책임성 보장, 및 특정 사용자와 관련된 잠재적 보안 사고에 대한 통찰력 제공에 도움이 됩니다.

VPN Logs:

  • Description: 연결 및 연결 해제, 터널 정보, VPN 관련 오류 등의 이벤트를 포함하여 가상 사설망 (VPN) 연결과 관련된 정보입니다.
  • Significance: VPN 연결의 무결성과 성능을 모니터링하고 원격 사용자와 회사 네트워크 사이의 안전한 통신을 보장하는 데 중요합니다.

System Logs:

  • Description: 방화벽 시스템의 전반적인 건강, 상태, 및 구성 변경에 대한 정보를 제공하는 로그입니다. 여기에는 고가용성 (HA), 소프트웨어 업데이트, 및 기타 시스템-수준 이벤트와 관련된 로그가 포함될 수 있습니다.
  • Significance: 방화벽 인프라 유지 관리, 문제 진단, 및 시스템의 최적 작동을 보장하는 데 필수적입니다.

Compliance Logs:

  • Description: 규정 준수 요구 사항과 관련된 이벤트를 기록하는 데 특별히 초점을 맞춘 로그입니다. 여기에는 업계 표준 또는 법적 의무 준수를 보장하는 활동이 포함될 수 있습니다.
  • Significance: 특정 규정을 준수해야 하는 조직에 필수적이며, 규정 준수 기준을 준수하고 감사 프로세스를 원활하게 하는 데 도움이 됩니다.

Configuration

방화벽을 설정하는 것은 복잡하고 오류가 발생하기 쉬운 임무입니다. 네트워크는 구성 오류로 인해 보안 문제에 직면할 수 있습니다.

방화벽 정책 구성은 특정 네트워크 유형 (예를 들어, 공용 또는 개인)을 기반으로 하고, 해커나 맬웨어로부터 잠재적 공격을 방지하기 위해 접근을 차단하거나 허용하는 방화벽 규칙을 사용하여 설정될 수 있습니다.