개발 & 방법론/인프라

🌐망 분리하기

loop-study 2022. 6. 9. 20:59

네트워크(Network)와 통신망

네트워크는 노드(컴퓨터 등)를 통신망을 통해 서로 물리적으로 연결된 체계를 말한다.

통신망은 노드들과 이들 노드들을 연결하는 링크들로 구성된 하나의 시스템으로 줄여서 '망'이라고 부른다.

- 노드 : IP로 식별할 수 있는 대상

- 링크 : 물리적 회선

 

AWS에서의 망

- Region : 국지 / 지역

- Availability Zone : 데이터 센터(ap-northeast-2a, ap-northeast-2b)

- VPC : 하나의 Region에 종속, 다수의 AZ설정 가능, VPC IP 대역 내에서 망 구성

AWS의 하나의 Subnet을 하나의 망이라고 칭할 수 있다.


네트워크 장비

네트워크를 구성하는 기본적인 장비는 다음과 같다.

- HUB : 네트워크에서 여러 대의 컴퓨터, 네트워크 장비를 연결하는 장치다. 한대의 허브를 중심으로 별 모양으로 연결된다, 같은 허브로 연결된 컴퓨터와 네트워크 장비는 상호 간의 통신이 가능해진다.

 다만, 주고받는 데이터가 허브에 연결된 모든 컴퓨터에 전달되기 때문에 연결된 컴퓨터가 많아질수록 충돌(collision)이 발생한다.

- SWITCH : 허브의 문제점을 개선한 장비로 컴퓨터의 MAC 주소를 사용해서 원하는 컴퓨터와 데이터를 주고 받을 수 있다. 

- ROUTER : 서로 다른 네트워크 간에 데이터 패킷을 전송하는 네트워크 장비다.

 

L2 Switch

- Multiple Access를 위한 장비

- 서버에는 Network Interface Card가 있다.

- Network Interface Card에는 MAC 주소가 있다.

    - 3c:22:fb:78:4a:c0 (앞 6자리는 제조사, 뒤는 식별자

L2 Switch 통신방식

- MAC 테이블에 정보가 있을 때 : 해당 포트로 전달 (Forwarding)

- MAC 테이블에 정보가 없을 때 : 전체 포트에 전달 (Flooding)

    - 응답하는 장비가 있으면 그 포트에 장비가 있다고 인지하고 MAC 테이블에 등록

Flooding 모습.

 

Router

- 서로 다른 네트워크 간의 통신을 중계하는 장비

- MAC 테이블에 정보가 있을 때 : Forwarding

- MAC 테이블에 정보가 없을 때 : 해당 통신을 버린다 (Drop) 

- 라우팅 프로토콜을 활용하여, 어떤 대역으로 패킷을 보내는 것이 최적 경로인지 학습함.

인터넷 통신

- 외부 네트워크와 통신하기 위해서는 Public IP가 필요

- 라우터는 Private IP가 목적지일 경우 인터넷 구간으로 보내지 않음. 따라서, Private IP를 Public IP로 변환해주어야 함(NAT)

- 자신이 속한 subnet(172.16.0.0/24)의 서버는 가상 스위치를 통해 직접 통신

- 자신이 속하지 않은 subnet(172.16.1.0/24)은 가상 라우터를 통해 직접 통신

- 그 외의 0.0.0.0/0 (전체 대역)은 Internet Gateway로 통신을 보내도록 학습


VPC 생성

- Virtual Private Cloud는 사용자가 정의하는 가상의 네트워크

- 하나의 서비스를 위한 네트워크 단위(AWS, NHN Cloud 등에서 사용함)

- 서브넷과 라우팅 테이블, 인터넷 게이트웨이 등을 설정할 수 있다. 

    - 서브넷 : VPC에 설정한 네트워크 대역을 더 세부적으로 나눈 네트워크

    - 라우팅 테이블 : 서브넷이 다른 서브넷 혹은 외부막과 통신하기 위한 정보를 가짐

    - 인터넷 게이트웨이 : 외부망과의 연결을 담당

 

서브네팅

- 할당된 네트워크 주소를 작은 네트워크로 쪼깨는 것을 의미.

- VPC는 n개의 Subnet을 가질 수 있으며, VPC의 CIDR 내에서 구성 가능.


Defence in depth, 심층 방어

다양한 계층으로 방어

개인 정보를 다루는 DB 서버 등을 위한 내부망과 사용자가 접근하는 웹 서버를 위한 외부망을 구성한다.

- 여러 겹의 복잡한 방어를 통해 최적화되고 강력한 보안체계를 구축

- 보안 제어가 실패하거나 시스템 수명 주기 동안 직원, 절차, 기술, 보안 등의 취약성이 악용될 경우, 분리된 계층마다 보안 대책으로 최대한 지연시킨다.


참고

인프라공방

Defence in depth 심층방어