← 전체 목록
🛡️

방화벽

인프라네트워크 경계를 지키는 트래픽 필터

아키텍처 다이어그램

트래픽🌐Internet🛡️FirewallPort 443Port 80🚫Port 22🖥️Web Server🗄️DB Server

점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다

왜 필요한가요?

서버가 인터넷에 연결되면 모든 포트가 잠재적으로 노출됩니다. 데이터베이스 포트(5432, 3306)가 공개되면 외부에서 직접 접근 시도가 가능합니다. 어떤 트래픽을 허용하고 막을지 명시적으로 정의하지 않으면 모든 서버가 공격 표면이 됩니다.

안에서 어떻게 동작하나요?

방화벽은 패킷의 출발지 IP, 목적지 IP, 프로토콜, 포트를 규칙 목록과 순서대로 비교해 허용(ALLOW) 또는 차단(DENY)합니다. Stateful 방화벽은 기존 연결의 상태를 추적해서 응답 패킷은 별도 규칙 없이 자동으로 허용합니다. 기본값을 '전부 차단'으로 두고 필요한 것만 여는 방식이 보안 원칙입니다.

무엇과 헷갈리나요?

방화벽과 WAF(웹 애플리케이션 방화벽)는 둘 다 트래픽을 걸러내지만 보는 계층이 다릅니다. 방화벽은 IP/포트 기반 네트워크 레벨에서 동작하고, WAF는 HTTP 헤더, URL, 쿼리 파라미터를 분석해 SQL 인젝션, XSS 같은 애플리케이션 공격을 차단합니다. 방화벽으로는 막을 수 없는 HTTP 레벨 공격에는 WAF가 필요합니다.

왜 이런 방식이 등장했나요?

초기 인터넷은 신뢰할 수 있는 연구자들만 연결된 작은 네트워크였습니다. 상업화되면서 악의적 접근이 늘었고, 네트워크 경계에서 트래픽을 걸러내는 방어선이 필요해졌습니다. 현대 클라우드에서는 보안 그룹(인스턴스 레벨)과 네트워크 ACL(서브넷 레벨)로 방화벽 역할을 코드로 정의합니다.

언제 쓰나요?

서버 포트 노출 최소화, 퍼블릭과 프라이빗 서브넷 경계 제어, 관리 포트 보호에 적합합니다. 규칙이 많아지면 관리가 복잡해지므로 최소 권한 원칙(필요한 포트만 열기)을 지키고, 규칙을 코드로 관리(IaC)하는 것이 중요합니다.

포트 노출 최소화서브넷 경계 보호관리 포트 보호아웃바운드 제어