217. 방화벽 토폴로지 (Firewall Topology)
⚠️ 이 문서는 한 대의 방화벽에 모든 보안을 의존하는 단일 장애점(SPOF)의 위험을 피하고, 외부 해커에게 탈취당할 위험이 큰 공공 웹 서버와 절대 털리면 안 되는 내부 핵심 데이터베이스망을 완벽하게 격리하기 위해 고안된 스크린 서브넷(Screened Subnet)과 이중 DMZ 등 다중 계층의 방화벽 네트워크 설계 구조를 다룹니다.
핵심 인사이트 (3줄 요약)
- 본질: 성벽(방화벽)을 어디에, 몇 개나 세우고, 그 성벽들 사이에 누구를 배치할 것인가에 대한 군사적/네트워크적 진지 구축 전략(Architecture)이다.
- 가치: 해커가 인터넷과 맞닿아 있는 외부 웹서버를 해킹하더라도, 그 웹서버가 딛고 선 땅(DMZ)과 내부망(DB) 사이에 한 번 더 방화벽(내부 방화벽)을 세워둠으로써 치명적인 데이터 유출 사고(수평 확산)를 차단하는 지연 전술의 핵심이다.
- 기술 체계: 라우터 자체로 필터링하는 스크리닝 라우터부터, 베스천 호스트(Bastion Host), 듀얼 홈드 게이트웨이(Dual-homed Gateway)를 거쳐, 오늘날 기업 보안의 절대적 표준이 된 스크린 서브넷(Screened Subnet) 토폴로지로 진화했다.
Ⅰ. 단일 방어선의 붕괴: 스크리닝 라우터와 듀얼 홈드 게이트웨이
초기 방화벽 토폴로지는 단순했지만 너무 위험했다.
- 스크리닝 라우터 (Screening Router):
- 외부 인터넷과 내부망 사이에 라우터(네트워크 장비) 딱 한 대만 두고 여기에 패킷 필터링 규칙(ACL)을 적용한 가장 초보적인 형태다.
- 단점: 라우터 하나만 뚫리면(단일 장애점) 곧바로 사내망 전체가 프리패스로 뚫리는 재앙이 발생한다.
- 듀얼 홈드 게이트웨이 (Dual-Homed Gateway):
- 방화벽 역할을 하는 컴퓨터(베스천 호스트)에 랜 카드(NIC)를 2개 꽂아서, 한쪽은 인터넷에, 한쪽은 내부망에 연결한 구조다. (인터넷에서 내부망으로 가는 직접적인 길을 물리적으로 끊어버림)
- 단점: 방화벽 컴퓨터 자체가 해킹당해서 제어권을 뺏기면(OS 취약점 등), 해커가 두 랜 카드를 마음대로 연결해 사내망을 장악할 수 있다.
📢 섹션 요약 비유: 스크리닝 라우터가 마을 입구에 얇은 철조망 하나만 쳐둔 것이라면, 듀얼 홈드 게이트웨이는 길을 아예 끊고 중간에 나룻배(방화벽 컴퓨터) 한 척을 띄워둔 것입니다. 나룻배 사공(OS)이 해적에게 매수당하면 해적들이 마음대로 강을 건너 마을(내부망)을 약탈할 수 있는 치명적 약점이 있습니다.
Ⅱ. 완충 지대의 탄생: 스크린 호스트 (Screened Host)
본격적으로 인터넷과 내부망 사이에 2단계 검문이 도입되었다.
- 구조의 분리:
[인터넷] -> [스크리닝 라우터] -> [베스천 호스트(방화벽)] -> [내부망]
- 작동 원리:
- 가장 바깥쪽 라우터가 1차로 무식한 쓰레기 트래픽을 막고, 오직 '베스천 호스트(방화벽 서버)'로 향하는 패킷만 통과시킨다.
- 베스천 호스트가 2차로 패킷의 내용(애플리케이션 계층 등)을 정밀 검사한 뒤 안전한 것만 내부망으로 들여보낸다.
- 치명적 한계 (DMZ 부재):
- 웹 서버나 메일 서버처럼 외부인이 마음껏 접속해야 하는 서버를 어디에 두어야 할지 애매하다.
- 내부망에 두자니 외부인이 방화벽을 뚫고 내부로 들어오게 해야 하므로 너무 위험하고, 바깥(라우터와 방화벽 사이)에 두자니 보호받지 못해 금방 해킹당한다.
📢 섹션 요약 비유: 마을 입구 초소(라우터)와 마을 한가운데 본부(방화벽)로 2중 검문을 세웠습니다. 그런데 외부 상인들이 자주 드나들어야 하는 여관(웹 서버)을 본부 안쪽(내부망)에 두려니 상인 행세를 한 첩자가 본부 깊숙이 들어오는 게 찝찝하고, 초소 바깥에 두려니 도적 떼에게 털릴까 봐 걱정되는 진퇴양난의 상황입니다.
Ⅲ. 현대 보안의 표준: 스크린 서브넷 (Screened Subnet)
완벽한 완충 지대(DMZ)를 만들어 안전한 무역을 가능하게 했다.
- 이중 방화벽과 DMZ의 구축:
[인터넷] -> [외부 방화벽] -> [ DMZ 공간 ] -> [내부 방화벽] -> [내부망]- 방화벽을 2대(외부, 내부) 세우고 그 사이에 격리된 네트워크 공간인 **DMZ(Demilitarized Zone, 비무장지대)**를 만들었다.
- 서버의 분산 배치:
- 외부인(고객)이 접속해야 하는 웹 서버, 메일 서버, DNS 서버는 모두 이 DMZ 구역에 둔다.
- 절대 외부에 노출되면 안 되는 고객 정보 DB 서버나 사내 업무용 PC는 내부망에 깊숙이 숨긴다.
- 완벽한 지연 방어 (Defense in Depth):
- 해커가 외부 방화벽을 뚫고 DMZ의 웹 서버를 해킹(웹쉘 업로드 등)하여 장악했다 치자.
- 해커가 웹 서버를 발판 삼아 사내망(DB)으로 들어오려 해도, 앞을 가로막고 있는 **[내부 방화벽]**이 "웹 서버에서 내부 DB로 들어오는 3306 포트는 차단(Deny)"이라는 룰로 완벽하게 가로막고 있어 수평 확산(Lateral Movement)을 봉쇄한다.
- 이 기종 방화벽의 미학:
- 외부 방화벽은 A 회사(예: 시스코) 장비, 내부 방화벽은 B 회사(예: 팔로알토) 장비를 쓰는 것이 국룰이다. 한 방화벽의 제로데이(0-day) 취약점이 뚫리더라도, 해커가 구조가 완전히 다른 2차 방화벽 앞에서 헤매도록 시간을 끌기 위함이다.
📢 섹션 요약 비유: 궁궐 성벽(외부 방화벽)과 왕의 침소 성벽(내부 방화벽) 사이에 마당(DMZ)을 만들었습니다. 외부 사신(고객)들은 마당에 있는 사랑채(웹 서버)까지만 들어올 수 있고, 왕(DB)을 만나려면 절대 안 열리는 2차 성벽을 넘어야 합니다. 사랑채가 자객에게 점령당해도 자객은 왕의 침소 문을 열지 못해 고립되는 완벽한 3중 성곽 방어선입니다.