1. 방화벽(Firewall) 이란?
외부로부터 내부망을 보호하기 위한 네트워크 구성요소 중 하나로
미리 정의된 보안 규칙을 통해 외부에서 들어오고 나가는 트래픽을 모니터링하고 제어하는 것
2. 방화벽의 기능
기능 | |
접근통제 (Access Control) |
외부에서 내부망으로 접근하는 것을 패킷필터링을 통한 통제 * 패킷필터링 : IP, Port를 이용해 패킷을 허용/차단하는 방식 |
인증 (Authentication) |
트래픽에 대한 사용자의 신분을 증명 * 메시지인증 : VPN과 같은 신뢰할 수 있는 통신선을 통해 전송되는 메시지 신뢰성 보장 * 사용자 인증 : OTP, 토큰기반, 패스워드기반 * 클라이언트 인증 : 접속을 요구하는 호스트 자체에 대해 인가된 호스트인지 확인 |
감사 및 로그 (Auditing & Logging) |
방화벽에 대한 설정 변경, 방화벽을 지나는 패킷 등을 로그로 기록 |
프록시 (Proxy) |
보안정책에 따라 실제 서비스를 제공하며, 클라이언트를 요청을 받아 서버에 전달하고 결과를 수신받아 클라이언트에 전달 |
NAT (Network Address Translation) |
출발지 IP 또는 목적지 IP를 전송단계에서 변경하여 전달 |
암호화 | 방화벽에서 다른 방화벽까지 전송되는 데이터를 암호화 *보통 VPN 기능을 이용 |
3. 세대별 방화벽
분류 | |
1세대 방화벽 패킷필터링 |
미리 정해진 규칙에 따라 IP와 Port 정보를 이용해 접속제어를 수행하며 3~4계층에서 동작 * IP와 Port 정보만을 이용해 패킷단위로 제어를 수행하여 속도가 빠르나 Spoofing 공격에 취약 |
2세대 방화벽 Stateful Inspection |
세션 단위로 패킷에 대한 검사가 수행됨 TCP 연결에 관한 정보를 상태 테이블에 기록 후 이를 이용해 접근 허용여부를 결정 * 상태테이블을 기록을 위한 자원 필요, 첫 패킷 헤더 공격당할 경우 잘못된 상태 테이블 구성 |
3세대 방화벽 애플리케이션 방화벽 |
패킷의 내용을 검사하고 나아가 애플리케이션에 미치는 영향을 분석하는 방화벽 * WAF |
*추가* 프록시 방화벽 |
응용 수준 방화벽 시스템 (Application gateway) * 내부 시스템과 외부시스템 간에 방화벽의 Proxy만을 통해 연결이 허용 * OSI 7계층에서 동작, 서비스별로 Proxy 데몬이 존재 * Proxy는 로깅, 감사 기능 및 패킷 내의 콘텐츠를 제어 -> 부하 / 더 많은 검사를 수행 -> 안전 * 애플리케이션 방화벽은 패킷 내용 검사 및 애플리케이션 계층까지 분석 회로 수준 방화벽 시스템 (Circuit gateway) * OSI 5~7계층에서 동작 * 대표 프록시가 존재 * 클라이언트 프로그램이 필요하다 -> 사용자에게 투명한 서비스를 제공, 내부 IP 주소 보호 * 프로그램 배포 및 관리가 번거로운 단점 |