1. 정의
- 수신/발신 네트워크 트래픽을 모니터링하고, 정의된 보안 규칙 집합을 기준으로 하여 특정 트래픽의 허용 또는 차단을 결정하는 네트워크 보안 시스템
- 신뢰할 수 있는 내부 네트워크, 신뢰할 수 없는 외부 네트워크(예: 인터넷) 간의 장벽 구성
- 서로 다른 네트워크를 지나는 데이터를 허용·거부·검열·수정하는 하드웨어 또는 소프트웨어 장치
2. 역할
- 신뢰 수준이 다른 네트워크 구간들 사이에서 신뢰 수준이 낮은 네트워크(인터넷 구간 또는 외부 네트워크 구간)로부터 오는 해로운 트래픽이 신뢰 수준이 높은 네트워크(내부 네트워크 구간)로 오지 못하게 방어
- DMZ 존재
- 외부에 서비스를 제공하는 서버들을 위한 구간
- 인터넷으로부터 내부 네트워크로의 침입 방지
- 내부 네트워크에서 인터넷과 자유롭게 통신
3. 정책
- 일반 수준 : 외부에서 내부로 전송되는 모든 트래픽 차단 또는 허용
- 고급 수준 : 복잡한 정책
ex) 외부의 경쟁회사.com으로부터 내부 서버 가짜정보.net으로 오는 길이 500바이트 이상의 http 트래픽을 허용하되 로그를 남긴다.
4. 분류
4.1 기능
4.1.1 접근 제어
- 외부에서 내부 네트워크에 접속하는 패킷 필터링 이용 통제
4.1.2 프록시(Proxy)
세션에 포함되어 있는 정보의 유해성을 검사하기 위해 방화벽에서 세션을 종료하고 새로운 세션을 형성하는 방식의 방화벽
- 출발지에서 목적지로 가는 세션을 명시적 또는 암시적으로 가로챔
→ 두 세션으로 생성(출발지 → 방화벽
, 방화벽 → 목적지
)
→ 하나의 세션에서 다른 세션으로 정보를 넘겨주기 전 검사 수행
- 패킷 필터에 비해 방화벽에 더 많은 부하 가중
- 속도 느림
- 더 많은 검사 수행
- 추가적인 기능 수행 가능 ex) 프로토콜 변경 등
4.1.3 네트워크 주소 변환(NAT, Network Address Translation)
- 내부 네트워크에 대한 보안 기능
- 내부 네트워크 사용 IP 주소와 외부 네트워크 IP 주소를 다르게 유지 가능
- 사용 가능한 IP 주소 수 : 내부 사용 IP > 외부 IP
- 인터넷 통신을 위해 사용하는 모든 컴퓨터 수 만큼의 IP 주소 구매 필요 x → 경제적
- 포트 주소 변환(PAT, Port Address Translation)
- 외부 IP 주소(1) : 내부 IP 주소(N)
- 세션 충돌 발생 → 출발지 포트를 변경하여 충돌 해결
💡 세션 충돌
내부에서는 서로 다른 세션이 외부에서는 하나의 세션으로 인식
- IPv4 주소의 더 효율적인 이용 → IPv4 주소의 완전 고갈 지연
- RFC1918에 정해진 내부 네트워크 대역(
10.0.0.0
, 172.16.0.0
, 192.168.0.0
)을 내부 네트워크의 주소로 지정
→ 지정한 네트워크 전체가 적은 수의 외부 IP 주소로 변환되도록 정책 수립 필요
4.1.4 사용자 인증
트래픽에 대한 사용자의 신분을 증명하는 기술
4.1.5 감사 및 로그
트래픽에 대한 접속 정보 기록, 네트워크 사용에 대한 통계 제공
4.2 종류
4.2.1 Packet Filtering
패킷을 검사하여 미리 설정된 정책에 맞지 않을 경우 통과시키지 않도록 하는 형태의 방화벽
- TCP/IP 네트워크 계층에서 동작
- 네트워크 적용 규칙 또는 정책 미설정 시 기본 정책 적용
- 더 많은 트래픽 처리 가능
- 커널 레벨(낮은 Layer)에서 수행
→ 기존 애플리케이션 연동 용이
- H/W 비의존적
- 프록시 방식에 비해 제한된 검사만을 수행
- 강력한 Logging 및 사용자 인증 기능 불가
- 종류
- 패킷 자체
- 내부적인 상태 관리 필요 x
→ 스테이트리스 또는 무상태 방화벽
- 장점 : 쉽게 구현
- 단점 : 모든 패킷에 대해 매번 정책 검사 필요 → 정책이 많아질수록 속도 느려짐
- 패킷이 속하는 세션(TCP 또는 UDP) 관리
- 세션에 속하는 패킷들에 대해 모두 동일한 처리
→ 스테이트 풀 방화벽
- 동적 정책을 내부적으로 관리
- 두 통신 당사자 간에 세션 생성 가능한 패킷 조합 감지
- 무상태 방화벽에 비해 높은 속도 제공
- 동적 정책에 의해 패킷들이 먼저 허용 또는 거부됨
4.2.2 Application Gateway
- Application Layer에서 동작
- 방화벽의 proxy를 이용하여 연결
- 높은 보안 정책 실현 및 바이러스 검사 기능
- 전용 Gateway에 따른 Application 유연성 부족
- H/W 의존적
4.2.3 Circuit Gateway
- Session ~ Application Layer에서 동작
- 일반 Gateway로 모든 서비스 처리
- 내부 IP 주소 은닉 가능
- Gateway 사용을 위한 Client 모듈 필요
- 지원이 불가능한 프로토콜 존재 가능
4.2.4 Hybrid
- 대부분 상용 방화벽의 채택 방식
- Packet Filtering + Application Gateway
- 내부 보안정책, 애플리케이션 등에 맞추어 선택 적용 가능
4.3 구현 방법
4.3.1 소프트웨어 방화벽
CPU를 장착한 네트워크 장비에 순수하게 소프트웨어를 이용하여 방화벽 기능을 구현한 방화벽
4.3.2 하드웨어 방화벽
- ASIC 등을 이용하여 방화벽의 초당 패킷처리 수를 증가
💡 ASIC(Application-Specific Integrated Circuit)
특정 용도용 집적 회로
- 네트워크 트래픽의 양이 순수 소프트웨어 방식의 방화벽으로 처리 가능한 한계 초과로 인하여 등장
4.3.3 NPU(Numeric Processing Unit) 기반 방화벽
공통으로 사용되는 패킷처리 함수를 하드웨어로 구현 + 프로그래밍
- 소프트웨어 기반 방화벽과 순수 하드웨어 기반 방화벽의 장점만을 취하는 방법
- 소프트웨어 기반 방화벽 → 유연성
- 하드웨어 기반 방화벽 → 빠른 속도
4.3.4 멀티코어 프로세서 기반 방화벽
처리 단위(CPU의 코어)를 장착하여 한 번에 많은 양의 패킷 처리 가능
📖 참고