방화벽(Firewall)이란?
방화벽은 네트워크 보안 시스템으로, 신뢰할 수 있는 내부 네트워크와 신뢰할 수 없는 외부 네트워크 간의 트래픽을 모니터링하고 제어하는 역할을 합니다.
방화벽은 트래픽을 필터링하여 불법적인 접근을 방지하고, 데이터의 무단 유출을 막아줍니다.
방화벽은 크게 인바운드(Inbound)와 아웃바운드(Outbound) 트래픽을 관리합니다.
인바운드(Incound) 트래픽
인바운드 트래픽은 외부 네트워크에서 내부 네트워크로 들어오는 트래픽을 의미합니다.
인바운드 트래픽은 외부에서 내부 자원에 접근하려는 시도를 포함하므로, 보안상의 이유로 엄격하게 관리되고 필터링됩니다.
인바운드 트래픽의 주로 관리 요소
허용된 IP 주소
특정 IP 주소나 IP 범위만이 내부 네트워크로 접근할 수 있도록 제한할 수 있습니다.
ex) 특정 클라이언트나 파트너의 IP 주소만 허용
포트 필터링
특정 포트 번호에 대한 접근을 허용하거나 차단할 수 있습니다.
ex) 웹 서버는 일반적으로 80번(HTTP)과 443번(HTTPS) 포트를 사용.
프로토콜 필터링
특정 프로토콜에 대한 접근을 제한할 수 있습니다.
ex) HTTP, HTTPS, FTP, SSH 등의 프로토콜
패킷 필터링
패킷의 출발지, 목적지, 포트, 프로토콜 정보 등을 기반으로 패킷을 필터링합니다.
상태 기반 필터링
세션 상태를 추적하여 유효한 세션에 속한 패킷만 허용합니다.
TCP 세션의 SYN, ACK 패킷 등을 추적합니다.
아웃바운드(Outbound) 트래픽
아웃바운드 트래픽은 내부 네트워크에서 외부 네트워크로 나가는 트래픽을 의미합니다.
아웃바운드 트래픽을 관리하는 이유는 내부 시스템이 외부와 통신하는 과정에서 의도치 않은 데이터 유출이나 악성 활동이 발생할 수 있기 때문입니다.
아웃바운드 트래픽의 주요 관리 요소
허용된 목적지 IP 주소
내부 시스템이 특정 외부 IP 주소로만 연결할 수 있도록 제한합니다.
ex) 특정 클라우드 서비스나 API 엔드 포인트
포트 필터링
내부 네트워크가 외부로 접근할 수 있는 포트를 제한합니다.
ex) 웹 브라우징을 위해 80번과 443번 포트만 허용
프로토콜 필터링
내부 네트워크가 사용할 수 있는 프로토콜을 제한합니다.
ex) HTTP, HTTPS, DNS, SMTP 등
컨텐츠 필터링
특정 종류의 데이터를 차단하거나 허용합니다.
ex) 이메일 첨부 파일, 웹사이트 콘텐츠
데이터 유출 방지(DLP)
내부 정보의 외부 유출을 방지하기 위한 정책과 기술을 적용합니다.
ex) 특정 형식의 데이터를 감지하고 차단
방화벽의 종류
패킷 필터 방화벽
패킷 자체만을 보고 미리 설정된 정책에 따라 허용 또는 거부를 결정하는 방화벽을 1세대 방화벽이라고 합니다.
방화벽 내부에서 상태(세션)을 관리하지 않는 기본 형태의 방화벽입니다.
이 방화벽은 특정한 IP를 허용 또는 거부하거나 특정한 포트를 허용 또는 거부하는 용도로 사용됩니다.
(네트워크 계층에서 동작하며, IP 주소와 포트 번호를 기반으로 트래픽을 필터링 합니다.
비교적 빠르고 간단하지만 세션 상태를 추적하지 않습니다.)
상태 기반 방화벽(Stateful Firewall)
패킷의 상태를 추적하여 트래픽을 필터링 합니다.
세션 상태를 기반으로 유효한 트래픽을 식별하고 허용합니다.
애플리케이션 방화벽(Application Firewall)
애플리케이션 계층에서 동작하며, HTTP, FTP 등 특정 애플리케이션 프로토콜을 필터링합니다.
더 세밀한 필터링이 가능하지만, 성능 저하의 우려가 있습니다.
OSI계층 5~7 프로토콜의 수신 트래픽을 검사합니다.
계층 5인 세션 계층은 최종 사용자 애플리케이션 프로세스 간의 세션을 열고, 닫고, 관리하기 위한 매커니즘을 제공합니다.
계층 6은 추가 처리 또는 디스플레이를 위해 애플리케이션 계층에 정보를 전달하고 포맷하는 것을 담당합니다.
계층 7은 사용자가 소프트웨어 애플리케이션과 직접 상호작용할 수 있게 합니다.
애플리케이션 방화벽은 모든 애플리케이션 기반 트래픽의 무결성을 검사하고, 후속하여 추가적인 보호 계층을 만듭니다.
이와 같은 방화벽 솔루션은 수신 트래픽의 네트워크 주소 및 포트 번호 이상을 검사하고,
애플리케이션 프로토콜(HTTP 및 FTP 등)에서 오는 위협을 더 심층적으로 평가하기 때문에 이점을 제공합니다.
또한 보안 사고를 조사하는 보안 팀에게 매우 유용한 로깅 기능을 갖추고 있습니다.
차세대 방화벽(NGFW, Next-Generation Firewall)
상태 기반 필터링, 애플리케이션 인식, 침입 방지 시스템(IPS) 등을 통합합니다.
고급 보안 기능과 더불어 높은 성능을 제공합니다.
차세대 방화벽(NGFW)은 최신 위협을 차단하도록 설계된 UTM 방화벽과 유사합니다. 이 방화벽은 이전 세대 방화벽의 기능과 능력, 예를 들어, 스테이트풀 검사를 지속적으로 진화하는 위협 전망을 해결하는 기법 및 기술과 결합합니다. 이는 특히 사이버 범죄자들이 공격 방법에 있어서 더욱 정교해지면서 네트워크와 그들이 보유한 데이터 및 장치의 위험에 직면하는 수준이 높아지기 때문에 매우 중요합니다.
방화벽 설정 예제
인바운드 규칙 설정 예제
Rule 1: Allow TCP from any to 192.168.1.10 port 80
Rule 2: Allow TCP from any to 192.168.1.10 port 443
Rule 3: Deny TCP from any to any port 22
허용 : 내부 웹 서버(192.168.1.10)에 대한 HTTP(포트 80) 및 HTTPS(포트 443) 접근을 허용
차단 : 외부에서 내부 네트워크로의 모든 SSH(포트 22) 접근을 차단
아웃바운드 규칙 설정 예제
Rule 1: Allow UDP from any to 8.8.8.8 port 53
Rule 2: Allow UDP from any to 8.8.4.4 port 53
Rule 3: Deny TCP from any to any port 25
허용: 내부 네트워크에서 외부 DNS 서버(8.8.8.8, 8.8.4.4)에 대한 DNS 요청(포트 53) 허용
차단: 내부 네트워크에서 외부로의 모든 SMTP(포트 25) 접근 차단
결론
방화벽은 네트워크 보안의 중요한 요소로, 인바운드와 아웃바운드 트래픽을 효과적으로 관리함으로써 외부 위협으로부터 네트워크를 보호하고, 내부 자원의 무단 접근을 방지할 수 있습니다.
각 트래픽 유형에 맞는 필터링 규칙을 설정하여 방화벽을 적절히 구성하는 것이 중요합니다. 다양한 방화벽 유형과 기능을 이해하고, 이를 실무에 적용함으로써 보다 안전한 네트워크 환경을 구축할 수 있습니다.
출처
https://ko.wikipedia.org/wiki/%EB%B0%A9%ED%99%94%EB%B2%BD_(%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%82%B9)
https://www.fortinet.com/kr/resources/cyberglossary/waf-vs-firewall
'Network' 카테고리의 다른 글
Network | 서브넷(Subnet)이란? (0) | 2024.07.31 |
---|---|
Network | Public IP와 Private IP란? (0) | 2024.07.08 |
Network | IPv4와 IPv6란? (0) | 2024.07.08 |
Network | TCP(Transmission Control Protocol) / UDP(User Datagram Protocol) (0) | 2024.05.28 |
Network | TCP/IP 모델 (0) | 2024.05.28 |