업데이트됨 1개월 전
대부분의 네트워크는 노트북 한 대만 침해되어도 전체가 뚫릴 수 있다. 공격자가 어떤 기기에든 발판을 마련하면 데이터베이스 서버, 결제 시스템, 도메인 컨트롤러까지 모든 기기에 접근할 수 있다. 모든 것이 모든 것과 연결되어 있다.
네트워크 세그멘테이션은 이 구도를 바꾼다. 모든 기기가 서로 통신할 수 있는 하나의 거대한 네트워크 대신, 격실을 나눈다. 언젠가(만약이 아니라 언제가 문제다) 무언가가 침해되었을 때, 이 벽이 피해를 가둬 준다.
배의 격실을 생각해 보자. 물은 결국 어딘가로 들어오게 되어 있다—충돌이든, 누수든, 실수든. 선체가 뚫릴지 여부가 문제가 아니라, 한 번의 침해가 배 전체를 침몰시키느냐, 아니면 그 격실 하나만 침수시키고 나머지는 멀쩡하게 유지하느냐가 문제다.
핵심 원칙
침해를 기정사실로 받아들여라. 공격자가 결국 무언가를 침해한다고 가정하고 세그멘테이션을 설계하라. 목표는 모든 침해를 막는 것이 아니다(그건 불가능하다). 침해가 얼마나 멀리 번지느냐를 제한하는 것이다.
네트워크 수준의 최소 권한. 기기와 사용자는 필요한 것에만 닿을 수 있어야 한다. HR 워크스테이션이 운영 데이터베이스에 접근할 이유가 없다. 게스트 노트북이 내부 파일 서버를 볼 이유도 없다. 세그멘테이션이 이것을 강제한다.
심층 방어. 세그멘테이션은 하나의 방어선일 뿐이다. 공격자가 세그먼트 경계를 넘더라도 방화벽, 인증 요구 사항, 암호화가 기다리고 있다. 하나의 벽이 아니라 여러 겹의 방어다.
신뢰 기반 세그멘테이션
가장 근본적인 구분은 신뢰 수준별로 나누는 것이다:
신뢰 세그먼트에는 완전한 보안 통제가 적용된 기업 관리 기기가 포함된다—직원들에게 지급된 회사 워크스테이션이 여기에 속한다.
반신뢰 세그먼트에는 일부 관리는 되지만 위험도가 높은 기기가 있다—BYOD 정책에 따른 직원 개인 휴대폰, 제한적 접근 권한을 가진 파트너 시스템 등이다.
비신뢰 세그먼트는 기업 관리가 전혀 없는 기기를 격리한다—게스트 Wi-Fi 사용자, 방문자 노트북, 다수의 IoT 기기.
고보안 세그먼트는 가장 민감한 시스템을 보호한다—결제 처리, 고객 데이터베이스, 독점 연구. 가장 엄격한 접근 통제와 가장 집중적인 모니터링이 적용된다.
인프라 세그먼트는 네트워크 장비의 관리 인터페이스를 모든 것으로부터 분리한다. 공격자가 사용자 워크스테이션을 침해했다고 해서 스위치 설정까지 변경할 수 있어서는 안 된다.
기능별 세그멘테이션
신뢰 수준 내에서 기능별로 더 세분화할 수 있다:
부서별: 엔지니어링, 영업, HR, 재무 부서는 각자의 리소스에는 접근하고 다른 부서에는 접근이 제한된 세그먼트를 갖는다.
서버 유형별: 웹 서버, 데이터베이스 서버, 애플리케이션 서버, 파일 서버를 별도의 세그먼트에 배치한다. 침해된 웹 서버가 데이터베이스를 직접 공격하는 일을 막을 수 있다.
기기 유형별: 워크스테이션, 휴대폰, 프린터, IoT 기기, 빌딩 자동화—각 기기 범주에 맞는 정책을 적용한다.
환경별: 운영, 개발, 테스트, 스테이징을 별도의 세그먼트에 배치한다. 개발자의 실험이 실수로 운영 환경을 중단시키는 일을 방지한다.
규정 준수 요구 사항별: PCI DSS는 결제 카드 데이터 격리를 의무화한다. HIPAA는 보호 대상 건강 정보의 세그멘테이션을 요구한다. 선택 사항이 아니다.
게스트 및 BYOD: 완전한 격리
게스트 네트워크는 인터넷에만 접근할 수 있어야 한다. 게스트는 웹을 탐색하고 이메일을 확인할 수 있다. 파일 서버, 프린터, 내부 애플리케이션에는 접근할 수 없다. 예외 없이.
BYOD는 그 중간에 위치한다—게스트보다는 많은 접근(이메일이나 협업 도구 정도)이지만, 기업 기기보다는 적은 접근(민감한 시스템에는 접근 불가).
세그멘테이션을 사용자가 알 수 있게 만들어라. "Company-Employees"와 "Company-Guest"처럼 별도의 SSID를 쓰면 사용자가 자신이 어떤 네트워크에 연결하는지 파악할 수 있다. 그 이면에서 이 SSID들은 완전히 격리된 VLAN으로 연결된다.
게스트 및 BYOD 세그먼트에 속도 제한을 걸어 두자. 누군가 영상을 스트리밍한다고 비즈니스 시스템에 필요한 대역폭이 잠식되어서는 안 된다.
IoT: 최악을 가정하라
IoT 기기는 관리하기가 어렵다—스마트 온도 조절기에 보안 소프트웨어를 설치하거나 네트워크 카메라를 능동적으로 모니터링하기란 쉽지 않다. 이런 환경에서 세그멘테이션이 주된 보안 수단이 된다.
IoT 기기는 대개 특정 클라우드 서비스에만 접근하면 충분하다. 내부 네트워크에 접근할 이유가 없고, 임의의 인터넷을 탐색할 이유도 없다. 방화벽 규칙으로 이러한 좁은 경로만 허용하면 된다.
프린터도 각별히 주의가 필요하다. 완전한 네트워크 스택을 갖추고 있으면서 보안은 허술한 경우가 많아 자주 악용되는 공격 경로다. 사용자는 인쇄할 수 있지만 프린터는 민감한 시스템에 접근하지 못하도록 별도의 세그먼트에 격리하라.
운영 기술(OT)—산업 제어, 빌딩 자동화, 물리 보안 시스템—에는 가장 강력한 격리가 필요하다. 침해된 기업 워크스테이션이 공장 현장이나 공조 시스템 제어에 닿아서는 안 된다.
핵심 규칙: 기본 차단
아무런 세그먼트 간 통신도 허용되지 않는다는 것을 출발점으로 삼아라. 그런 다음 꼭 필요한 것만 명시적으로 허용한다.
이것은 대부분의 네트워크가 자연스럽게 발전해 온 방식과 정반대다. 보통은 모든 것이 모든 것과 통신할 수 있고, 관리자가 간헐적으로 특정 문제를 차단한다. 그것이 기본 허용이다. 설정하기는 쉽지만 침해 시에는 재앙이 된다.
기본 차단은 모든 허용 흐름을 문서화하는 것을 의미한다: "워크스테이션은 애플리케이션 접근을 위해 특정 웹 서버에 HTTPS가 필요하다." 전체 서브넷이 아니라 특정 목적지의 특정 서비스에 대해서만 필요한 포트와 프로토콜을 여는 것을 의미한다.
처음에는 손이 많이 간다. 구현 중에는 암묵적으로 허용되었던 접근이 차단되면서 애플리케이션들이 동작을 멈출 것이다. 하지만 그 의존성을 하나씩 찾아내 문서화하다 보면, 결국 무엇이 무엇과 통신해야 하는지 실제로 파악하고 있는 네트워크를 갖게 된다.
VLAN 구현 세부 사항
서브넷 크기 조정: /24(254개 주소)는 대부분의 세그먼트에 적합하다. 큰 세그먼트는 /23이나 /22가 필요할 수 있고, 매우 작은 세그먼트는 /28이나 /29로 충분하다.
번호 체계: 일관성이 핵심이다. 위치별(건물 1은 VLAN 10-19, 건물 2는 20-29)로 번호를 매기거나, 기능별(10번대는 사용자, 20번대는 서버, 30번대는 음성)로 번호를 매겨라. 두 방식 모두 잘 작동하지만, 중간에 규칙이 뒤섞이면 곤란해진다.
네이티브 VLAN 보안: 기본 VLAN 1에서 사용하지 않는 VLAN으로 네이티브 VLAN을 변경하라. 특정 VLAN 호핑 공격을 방지할 수 있다. 네이티브 VLAN에는 운영 트래픽을 올리지 마라.
VLAN 프루닝: 트렁크 링크에는 필요한 VLAN만 허용하라. 스위치에 VLAN 10, 20, 30의 기기만 있다면 트렁크에서 나머지 VLAN을 모두 프루닝하라.
레이어 3을 잊지 마라: VLAN은 레이어 2 세그멘테이션만 제공한다. 라우터나 방화벽에 적절한 접근 통제가 없으면 서로 다른 VLAN의 기기도 여전히 자유롭게 통신할 수 있다. VLAN은 벽이고, ACL과 방화벽은 그 벽에 달린 잠긴 문이다.
무선 고려 사항
여러 SSID를 서로 다른 VLAN에 매핑한다. 기업 직원은 하나의 네트워크에 접속하고, 게스트는 다른 네트워크에 접속한다. 사용자 입장에서는 눈에 보이지 않지만 세그멘테이션은 완전하다.
동적 VLAN 할당은 한 단계 더 나아간다—동일한 SSID라도 인증 정보에 따라 서로 다른 사용자를 서로 다른 VLAN에 배치한다. IT 관리자와 게스트 외부 계약자가 같은 "Company-Secure" 네트워크에 접속하더라도 자격 증명에 따라 전혀 다른 세그먼트에 배치될 수 있다.
클라이언트 격리는 무선 기기가 같은 세그먼트 내에서도 서로 직접 통신하지 못하게 한다. 기기를 제어할 수 없는 게스트 및 BYOD 네트워크에서 특히 중요하다.
마이크로 세그멘테이션: 더 세밀하게
전통적인 세그멘테이션은 네트워크를 서브넷으로 나눈다. 마이크로 세그멘테이션은 더 미세하게 들어간다—개별 애플리케이션, 워크로드, 심지어 프로세스 단위로 격리한다.
3계층 웹 애플리케이션에서 웹 서버, 애플리케이션 서버, 데이터베이스는 각각 마이크로 세그먼트가 될 수 있다. 웹 서버는 애플리케이션 계층과 통신할 수 있고, 애플리케이션 계층은 데이터베이스와 통신할 수 있다. 그 외 어떤 것도 데이터베이스에 직접 접근할 수 없다.
제로 트러스트 아키텍처는 모든 네트워크를 적대적인 것으로 간주하고, 출처와 무관하게 모든 접근에 인증과 권한 부여를 요구한다. 마이크로 세그멘테이션은 이 정책을 세밀한 수준에서 적용한다.
소프트웨어 정의 네트워킹(SDN)은 워크로드가 생겨나고, 이동하고, 사라질 때 정책 적용을 자동화함으로써 이를 현실적으로 가능하게 만든다.
모니터링: 상황 파악하기
가시성 없는 세그멘테이션은 추측에 불과하다. 세그먼트 간에 어떤 트래픽이 흐르는지, 정상 상태가 어떤 모습인지, 이상 징후는 무엇인지 파악해야 한다.
플로우 모니터링(NetFlow, sFlow, IPFIX)으로 트래픽 패턴을 파악하라. 허용된 것과 차단된 것 모두 포함하여 세그먼트 간 트래픽을 기록하라. SIEM과 연동하여 네트워크 이벤트를 다른 보안 신호와 상관 분석하라.
기준선을 수립하라. 정상 상태가 어떤 모습인지 알면 비정상 패턴이 즉시 눈에 띈다. 게스트 세그먼트에서 갑자기 데이터베이스 세그먼트로 향하는 트래픽이 보인다면 심각한 문제다—그런 일은 절대 일어나서는 안 되기 때문이다.
예상치 못한 트래픽 흐름에는 즉각 알림이 가도록 설정하라. 기록만으로는 부족하다. 세그멘테이션이 위반되거나 트래픽 패턴이 기준선을 벗어날 때는 적극적으로 알림을 받아야 한다.
흔한 실수
과도한 세그멘테이션: 10개로 충분한 곳에 50개의 VLAN을 만들면 보안상 이점은 없고 운영만 복잡해진다. 모든 세그먼트는 관리, 문서화, 정책 유지 관리가 필요하다.
불충분한 세그멘테이션: 모든 서버를 하나의 VLAN에 넣으면 서버 하나를 침해하는 것으로 모든 서버에 접근할 수 있게 된다. 분할되지 않은 네트워크는 어떤 격리도 제공하지 않는다.
일관성 없는 구현: 어떤 곳에서는 세그멘테이션이 적용되고 어떤 곳에서는 그렇지 않다면 거짓 안도감만 준다. 공격자는 빈틈을 찾아낸다.
레이어 3 망각: VLAN은 브로드캐스트 도메인을 분리하지만 라우팅을 막지는 않는다. 라우터나 방화벽에 접근 통제가 없으면 세그멘테이션은 겉모양만 갖춘 것이다.
문서화 부재: 나중에 네트워크를 관리할 사람들이 어떤 세그먼트가 있는지, 왜 만들었는지, 무엇이 각 세그먼트에 속하는지 이해할 수 있어야 한다. 문서화되지 않은 세그멘테이션은 결국 관리 불능 상태가 된다.
설정 후 방치: 네트워크는 계속 변한다. 애플리케이션도 바뀌고, 새로운 기기도 등장한다. 세그멘테이션은 처음 한 번 구현하고 끝나는 게 아니라 주기적인 재검토가 필요하다.
마이그레이션: 현재에서 목표로
분할되지 않은 네트워크에서 제대로 된 세그멘테이션으로 이행하려면 철저한 계획이 필요하다.
위험도가 낮고 쉬운 세그먼트부터 시작하라—게스트 네트워크가 가장 적합하다. 운영에 중요한 시스템을 다루기 전에 먼저 프로세스에 익숙해져라.
마이그레이션 중에는 기존 네트워크와 새 세그멘테이션 인프라를 병렬로 운영하라. 기기를 점진적으로 이전하면서 문제가 없는지 주시하라.
애플리케이션 담당자와 소통하라. 그들이 시스템이 무엇에 접근해야 하는지 가장 잘 안다. 세그멘테이션은 이제껏 문서화하지 않았던 암묵적인 의존성을 차단하게 된다—계획 단계에서 발견하는 것이 운영 중단 중에 발견하는 것보다 훨씬 낫다.
마이그레이션 중에는 모니터링을 강화하라. 애플리케이션이 중단되면 이전에 허용되었던 통신이 무엇인지, 지금 차단된 것이 무엇인지 신속하게 파악할 수 있어야 한다.
검증: 실제로 작동함을 확인하기
세그멘테이션을 직접 테스트하라. 침투 테스터가 세그먼트 간 횡적 이동을 시도하게 하여 격리가 실제로 작동하는지 확인해야 한다.
정기적으로 정책을 검증하라—허용된 트래픽은 통과되어야 하고, 차단된 트래픽은 막혀야 한다. 구성 드리프트는 언제든 발생할 수 있으므로 주기적으로 검증하라.
문서와 현실이 일치하는지 대조하라. 실제 구성이 문서에 기록된 내용과 맞아야 한다. 불일치가 있다면 문서 오류이거나 구성 오류다.
네트워크 세그멘테이션 자주 묻는 질문
네트워크에 세그먼트가 몇 개나 있어야 하나요?
정해진 정답은 없다. 조직의 규모, 규정 준수 요구 사항, 운영 복잡성에 따라 달라진다. 기본부터 시작하라: 게스트를 직원과 분리하고, IoT를 워크스테이션과 분리하고, 관리 인터페이스를 사용자 트래픽과 분리하고, 규제를 받는 시스템을 나머지로부터 분리하라. 소규모 기업은 5~10개면 충분할 수 있고, 대기업은 50개 이상이 필요할 수도 있다. 적절한 수는 감당할 수 없는 복잡성을 만들지 않으면서 침해를 격리하기에 충분한 수다.
VLAN만으로 충분한 세그멘테이션이 가능한가요?
아니다. VLAN은 레이어 2 분리를 제공해 서로 다른 브로드캐스트 도메인을 만들지만, 레이어 3 접근 통제가 없으면 트래픽이 VLAN 간에 여전히 자유롭게 라우팅될 수 있다. 효과적인 세그멘테이션은 VLAN과 함께 세그먼트 간 트래픽을 제한하는 방화벽 규칙 또는 접근 통제 목록(ACL)이 필요하다. VLAN은 벽이고, ACL과 방화벽은 그 벽에 달린 잠긴 문이다.
세그멘테이션과 마이크로 세그멘테이션은 어떻게 다른가요?
전통적인 세그멘테이션은 네트워크를 서브넷으로 나누며, 보통 많은 기기를 하나의 서브넷에 포함한다. 마이크로 세그멘테이션은 더 미세하게 들어가 개별 워크로드, 애플리케이션, 심지어 프로세스 단위로 격리한다. 실제로는 소프트웨어 정의 네트워킹(SDN)이 세분화된 정책 적용을 가능하게 하는 데이터 센터와 클라우드 환경에서 마이크로 세그멘테이션이 가장 많이 쓰인다.
세그먼트 간 통신이 필요한 애플리케이션은 어떻게 처리하나요?
필요한 통신 흐름을 문서화한 다음 해당 트래픽만 허용하는 명시적인 방화벽 규칙을 만들어라. 구체적으로 해야 한다. "이 세그먼트 간 모든 트래픽 허용"이 아니라, 워크스테이션 세그먼트에서 특정 서버의 IP로 포트 443을 허용하는 식으로. 처음에는 손이 많이 가지만, 결국 무엇이 무엇과 통신하는지 실제로 이해하는 네트워크를 갖게 된다.
IoT 기기를 컴퓨터와 같은 네트워크에 두어도 되나요?
안 된다. 카메라, 온도 조절기, 프린터, 스마트 TV 같은 IoT 기기는 대체로 보안 소프트웨어를 실행할 수 없고 보안 관행도 허술한 경우가 많다. 꼭 필요한 곳(주로 특정 클라우드 서비스)에만 접근할 수 있고 나머지에는 접근하지 못하는 전용 세그먼트에 배치하라. 침해된 스마트 기기가 파일 서버를 공격할 수 있어서는 안 된다.
이 페이지가 도움이 되었나요?